(function(){var debug=false;var root=this;var EXIF=function(obj){if(obj instanceof EXIF)return obj;if(!(this instanceof EXIF))return new EXIF(obj);this.EXIFwrapped=obj;};if(typeof exports!=='undefined'){if(typeof module!=='undefined'&&module.exports){exports=module.exports=EXIF;} exports.EXIF=EXIF;}else{root.EXIF=EXIF;} var ExifTags=EXIF.Tags={0x9000:"ExifVersion",0xA000:"FlashpixVersion",0xA001:"ColorSpace",0xA002:"PixelXDimension",0xA003:"PixelYDimension",0x9101:"ComponentsConfiguration",0x9102:"CompressedBitsPerPixel",0x927C:"MakerNote",0x9286:"UserComment",0xA004:"RelatedSoundFile",0x9003:"DateTimeOriginal",0x9004:"DateTimeDigitized",0x9290:"SubsecTime",0x9291:"SubsecTimeOriginal",0x9292:"SubsecTimeDigitized",0x829A:"ExposureTime",0x829D:"FNumber",0x8822:"ExposureProgram",0x8824:"SpectralSensitivity",0x8827:"ISOSpeedRatings",0x8828:"OECF",0x9201:"ShutterSpeedValue",0x9202:"ApertureValue",0x9203:"BrightnessValue",0x9204:"ExposureBias",0x9205:"MaxApertureValue",0x9206:"SubjectDistance",0x9207:"MeteringMode",0x9208:"LightSource",0x9209:"Flash",0x9214:"SubjectArea",0x920A:"FocalLength",0xA20B:"FlashEnergy",0xA20C:"SpatialFrequencyResponse",0xA20E:"FocalPlaneXResolution",0xA20F:"FocalPlaneYResolution",0xA210:"FocalPlaneResolutionUnit",0xA214:"SubjectLocation",0xA215:"ExposureIndex",0xA217:"SensingMethod",0xA300:"FileSource",0xA301:"SceneType",0xA302:"CFAPattern",0xA401:"CustomRendered",0xA402:"ExposureMode",0xA403:"WhiteBalance",0xA404:"DigitalZoomRation",0xA405:"FocalLengthIn35mmFilm",0xA406:"SceneCaptureType",0xA407:"GainControl",0xA408:"Contrast",0xA409:"Saturation",0xA40A:"Sharpness",0xA40B:"DeviceSettingDescription",0xA40C:"SubjectDistanceRange",0xA005:"InteroperabilityIFDPointer",0xA420:"ImageUniqueID"};var TiffTags=EXIF.TiffTags={0x0100:"ImageWidth",0x0101:"ImageHeight",0x8769:"ExifIFDPointer",0x8825:"GPSInfoIFDPointer",0xA005:"InteroperabilityIFDPointer",0x0102:"BitsPerSample",0x0103:"Compression",0x0106:"PhotometricInterpretation",0x0112:"Orientation",0x0115:"SamplesPerPixel",0x011C:"PlanarConfiguration",0x0212:"YCbCrSubSampling",0x0213:"YCbCrPositioning",0x011A:"XResolution",0x011B:"YResolution",0x0128:"ResolutionUnit",0x0111:"StripOffsets",0x0116:"RowsPerStrip",0x0117:"StripByteCounts",0x0201:"JPEGInterchangeFormat",0x0202:"JPEGInterchangeFormatLength",0x012D:"TransferFunction",0x013E:"WhitePoint",0x013F:"PrimaryChromaticities",0x0211:"YCbCrCoefficients",0x0214:"ReferenceBlackWhite",0x0132:"DateTime",0x010E:"ImageDescription",0x010F:"Make",0x0110:"Model",0x0131:"Software",0x013B:"Artist",0x8298:"Copyright"};var GPSTags=EXIF.GPSTags={0x0000:"GPSVersionID",0x0001:"GPSLatitudeRef",0x0002:"GPSLatitude",0x0003:"GPSLongitudeRef",0x0004:"GPSLongitude",0x0005:"GPSAltitudeRef",0x0006:"GPSAltitude",0x0007:"GPSTimeStamp",0x0008:"GPSSatellites",0x0009:"GPSStatus",0x000A:"GPSMeasureMode",0x000B:"GPSDOP",0x000C:"GPSSpeedRef",0x000D:"GPSSpeed",0x000E:"GPSTrackRef",0x000F:"GPSTrack",0x0010:"GPSImgDirectionRef",0x0011:"GPSImgDirection",0x0012:"GPSMapDatum",0x0013:"GPSDestLatitudeRef",0x0014:"GPSDestLatitude",0x0015:"GPSDestLongitudeRef",0x0016:"GPSDestLongitude",0x0017:"GPSDestBearingRef",0x0018:"GPSDestBearing",0x0019:"GPSDestDistanceRef",0x001A:"GPSDestDistance",0x001B:"GPSProcessingMethod",0x001C:"GPSAreaInformation",0x001D:"GPSDateStamp",0x001E:"GPSDifferential"};var IFD1Tags=EXIF.IFD1Tags={0x0100:"ImageWidth",0x0101:"ImageHeight",0x0102:"BitsPerSample",0x0103:"Compression",0x0106:"PhotometricInterpretation",0x0111:"StripOffsets",0x0112:"Orientation",0x0115:"SamplesPerPixel",0x0116:"RowsPerStrip",0x0117:"StripByteCounts",0x011A:"XResolution",0x011B:"YResolution",0x011C:"PlanarConfiguration",0x0128:"ResolutionUnit",0x0201:"JpegIFOffset",0x0202:"JpegIFByteCount",0x0211:"YCbCrCoefficients",0x0212:"YCbCrSubSampling",0x0213:"YCbCrPositioning",0x0214:"ReferenceBlackWhite"};var StringValues=EXIF.StringValues={ExposureProgram:{0:"Not defined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0x0000:"Flash did not fire",0x0001:"Flash fired",0x0005:"Strobe return light not detected",0x0007:"Strobe return light detected",0x0009:"Flash fired, compulsory flash mode",0x000D:"Flash fired, compulsory flash mode, return light not detected",0x000F:"Flash fired, compulsory flash mode, return light detected",0x0010:"Flash did not fire, compulsory flash mode",0x0018:"Flash did not fire, auto mode",0x0019:"Flash fired, auto mode",0x001D:"Flash fired, auto mode, return light not detected",0x001F:"Flash fired, auto mode, return light detected",0x0020:"No flash function",0x0041:"Flash fired, red-eye reduction mode",0x0045:"Flash fired, red-eye reduction mode, return light not detected",0x0047:"Flash fired, red-eye reduction mode, return light detected",0x0049:"Flash fired, compulsory flash mode, red-eye reduction mode",0x004D:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",0x004F:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",0x0059:"Flash fired, auto mode, red-eye reduction mode",0x005D:"Flash fired, auto mode, return light not detected, red-eye reduction mode",0x005F:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Not defined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},Components:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"}};function addEvent(element,event,handler){if(element.addEventListener){element.addEventListener(event,handler,false);}else if(element.attachEvent){element.attachEvent("on"+event,handler);}} function imageHasData(img){return!!(img.exifdata);} function base64ToArrayBuffer(base64,contentType){contentType=contentType||base64.match(/^data\:([^\;]+)\;base64,/mi)[1]||'';base64=base64.replace(/^data\:([^\;]+)\;base64,/gmi,'');var binary=atob(base64);var len=binary.length;var buffer=new ArrayBuffer(len);var view=new Uint8Array(buffer);for(var i=0;i4?valueOffset:(entryOffset+8);vals=[];for(n=0;n4?valueOffset:(entryOffset+8);return getStringFromDB(file,offset,numValues-1);case 3:if(numValues==1){return file.getUint16(entryOffset+8,!bigEnd);}else{offset=numValues>2?valueOffset:(entryOffset+8);vals=[];for(n=0;ndataView.byteLength){return{};} var thumbTags=readTags(dataView,tiffStart,tiffStart+IFD1OffsetPointer,IFD1Tags,bigEnd) if(thumbTags['Compression']){switch(thumbTags['Compression']){case 6:if(thumbTags.JpegIFOffset&&thumbTags.JpegIFByteCount){var tOffset=tiffStart+thumbTags.JpegIFOffset;var tLength=thumbTags.JpegIFByteCount;thumbTags['blob']=new Blob([new Uint8Array(dataView.buffer,tOffset,tLength)],{type:'image/jpeg'});} break;case 1:console.log("Thumbnail image format is TIFF, which is not implemented.");break;default:console.log("Unknown thumbnail image format '%s'",thumbTags['Compression']);}} else if(thumbTags['PhotometricInterpretation']==2){console.log("Thumbnail image format is RGB, which is not implemented.");} return thumbTags;} function getStringFromDB(buffer,start,length){var outstr="";for(var n=start;n')+8;xmpString=xmpString.substring(xmpString.indexOf('0){json['@attributes']={};for(var j=0;j0){for(var i=0;i0)||(navigator.msMaxTouchPoints>0));var mouseDown=hasPointerEvents?'pointerdown':isTouch?'touchstart':'mousedown';var mouseUp=hasPointerEvents?'pointerup':isTouch?'touchend':'mouseup';var mouseMove=hasPointerEvents?'pointermove':isTouch?'touchmove':'mousemove';var mouseLeave=hasPointerEvents?'pointerleave':isTouch?'touchleave':'mouseleave';var startX=0;var startY=0;var maxDiffX=10;var maxDiffY=10;if(typeof window.CustomEvent!=='function'){window.CustomEvent=function(event,params){params=params||{bubbles:false,cancelable:false,detail:undefined};var evt=document.createEvent('CustomEvent');evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt;};window.CustomEvent.prototype=window.Event.prototype;} window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1000/60);};})();function requestTimeout(fn,delay){if(!window.requestAnimationFrame&&!window.webkitRequestAnimationFrame&&!(window.mozRequestAnimationFrame&&window.mozCancelRequestAnimationFrame)&&!window.oRequestAnimationFrame&&!window.msRequestAnimationFrame)return window.setTimeout(fn,delay);var start=new Date().getTime();var handle={};var loop=function(){var current=new Date().getTime();var delta=current-start;if(delta>=delay){fn.call();} else{handle.value=window.requestAnimFrame(loop);}};handle.value=window.requestAnimFrame(loop);return handle;} function clearRequestTimeout(handle){if(handle){window.cancelAnimationFrame?window.cancelAnimationFrame(handle.value):window.webkitCancelAnimationFrame?window.webkitCancelAnimationFrame(handle.value):window.webkitCancelRequestAnimationFrame?window.webkitCancelRequestAnimationFrame(handle.value):window.mozCancelRequestAnimationFrame?window.mozCancelRequestAnimationFrame(handle.value):window.oCancelRequestAnimationFrame?window.oCancelRequestAnimationFrame(handle.value):window.msCancelRequestAnimationFrame?window.msCancelRequestAnimationFrame(handle.value):clearTimeout(handle);}} function fireLongPressEvent(originalEvent){clearLongPressTimer();originalEvent=unifyEvent(originalEvent);var allowClickEvent=this.dispatchEvent(new CustomEvent('long-press',{bubbles:true,cancelable:true,detail:{clientX:originalEvent.clientX,clientY:originalEvent.clientY,offsetX:originalEvent.offsetX,offsetY:originalEvent.offsetY,pageX:originalEvent.pageX,pageY:originalEvent.pageY},clientX:originalEvent.clientX,clientY:originalEvent.clientY,offsetX:originalEvent.offsetX,offsetY:originalEvent.offsetY,pageX:originalEvent.pageX,pageY:originalEvent.pageY,screenX:originalEvent.screenX,screenY:originalEvent.screenY}));if(!allowClickEvent){document.addEventListener('click',function suppressEvent(e){document.removeEventListener('click',suppressEvent,true);cancelEvent(e);},true);}} function unifyEvent(e){if(e.changedTouches!==undefined){return e.changedTouches[0];} return e;} function startLongPressTimer(e){clearLongPressTimer(e);var el=e.target;var longPressDelayInMs=parseInt(getNearestAttribute(el,'data-long-press-delay','1500'),10);timer=requestTimeout(fireLongPressEvent.bind(el,e),longPressDelayInMs);} function clearLongPressTimer(e){clearRequestTimeout(timer);timer=null;} function cancelEvent(e){e.stopImmediatePropagation();e.preventDefault();e.stopPropagation();} function mouseDownHandler(e){startX=e.clientX;startY=e.clientY;startLongPressTimer(e);} function mouseMoveHandler(e){var diffX=Math.abs(startX-e.clientX);var diffY=Math.abs(startY-e.clientY);if(diffX>=maxDiffX||diffY>=maxDiffY){clearLongPressTimer(e);}} function getNearestAttribute(el,attributeName,defaultValue){while(el&&el!==document.documentElement){var attributeValue=el.getAttribute(attributeName);if(attributeValue){return attributeValue;} el=el.parentNode;} return defaultValue;} document.addEventListener(mouseUp,clearLongPressTimer,true);document.addEventListener(mouseLeave,clearLongPressTimer,true);document.addEventListener(mouseMove,mouseMoveHandler,true);document.addEventListener('wheel',clearLongPressTimer,true);document.addEventListener('scroll',clearLongPressTimer,true);document.addEventListener('contextmenu',clearLongPressTimer,true);document.addEventListener(mouseDown,mouseDownHandler,true);}(window,document));var QRCode;(function(){function QR8bitByte(data){this.mode=QRMode.MODE_8BIT_BYTE;this.data=data;this.parsedData=[];for(var i=0,l=this.data.length;i0x10000){byteArray[0]=0xF0|((code&0x1C0000)>>>18);byteArray[1]=0x80|((code&0x3F000)>>>12);byteArray[2]=0x80|((code&0xFC0)>>>6);byteArray[3]=0x80|(code&0x3F);}else if(code>0x800){byteArray[0]=0xE0|((code&0xF000)>>>12);byteArray[1]=0x80|((code&0xFC0)>>>6);byteArray[2]=0x80|(code&0x3F);}else if(code>0x80){byteArray[0]=0xC0|((code&0x7C0)>>>6);byteArray[1]=0x80|(code&0x3F);}else{byteArray[0]=code;} this.parsedData.push(byteArray);} this.parsedData=Array.prototype.concat.apply([],this.parsedData);if(this.parsedData.length!=this.data.length){this.parsedData.unshift(191);this.parsedData.unshift(187);this.parsedData.unshift(239);}} QR8bitByte.prototype={getLength:function(buffer){return this.parsedData.length;},write:function(buffer){for(var i=0,l=this.parsedData.length;i=7){this.setupTypeNumber(test);} if(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);} this.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}} return pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;} for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}} for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}} this.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);} var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;} this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}} row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error("code length overflow. (" +buffer.getLengthInBits() +">" +totalDataCount*8 +")");} if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);} while(buffer.getLengthInBits()%8!=0){buffer.putBit(false);} while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;} buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;} buffer.put(QRCodeModel.PAD1,8);} return QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}} var totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));} return((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));} return(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;} return digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}} for(var row=0;row=256){n-=255;} return QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);} if(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));} this.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function _isSupportCanvas(){return typeof CanvasRenderingContext2D!="undefined";} function _getAndroid(){var android=false;var sAgent=navigator.userAgent;if(/android/i.test(sAgent)){android=true;var aMat=sAgent.toString().match(/android ([0-9]\.[0-9])/i);if(aMat&&aMat[1]){android=parseFloat(aMat[1]);}} return android;} var svgDrawer=(function(){var Drawing=function(el,htOption){this._el=el;this._htOption=htOption;};Drawing.prototype.draw=function(oQRCode){var _htOption=this._htOption;var _el=this._el;var nCount=oQRCode.getModuleCount();var nWidth=Math.floor(_htOption.width/nCount);var nHeight=Math.floor(_htOption.height/nCount);this.clear();function makeSVG(tag,attrs){var el=document.createElementNS('http://www.w3.org/2000/svg',tag);for(var k in attrs) if(attrs.hasOwnProperty(k))el.setAttribute(k,attrs[k]);return el;} var svg=makeSVG("svg",{'viewBox':'0 0 '+String(nCount)+" "+String(nCount),'width':'100%','height':'100%','fill':_htOption.colorLight});svg.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink");_el.appendChild(svg);svg.appendChild(makeSVG("rect",{"fill":_htOption.colorLight,"width":"100%","height":"100%"}));svg.appendChild(makeSVG("rect",{"fill":_htOption.colorDark,"width":"1","height":"1","id":"template"}));for(var row=0;row'];for(var row=0;row');for(var col=0;col');} aHTML.push('');} aHTML.push('');_el.innerHTML=aHTML.join('');var elTable=_el.childNodes[0];var nLeftMarginTable=(_htOption.width-elTable.offsetWidth)/2;var nTopMarginTable=(_htOption.height-elTable.offsetHeight)/2;if(nLeftMarginTable>0&&nTopMarginTable>0){elTable.style.margin=nTopMarginTable+"px "+nLeftMarginTable+"px";}};Drawing.prototype.clear=function(){this._el.innerHTML='';};return Drawing;})():(function(){function _onMakeImage(){this._elImage.src=this._elCanvas.toDataURL("image/png");this._elImage.style.display="block";this._elCanvas.style.display="none";} if(this._android&&this._android<=2.1){var factor=1/window.devicePixelRatio;var drawImage=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(image,sx,sy,sw,sh,dx,dy,dw,dh){if(("nodeName"in image)&&/img/i.test(image.nodeName)){for(var i=arguments.length-1;i>=1;i--){arguments[i]=arguments[i]*factor;}}else if(typeof dw=="undefined"){arguments[1]*=factor;arguments[2]*=factor;arguments[3]*=factor;arguments[4]*=factor;} drawImage.apply(this,arguments);};} function _safeSetDataURI(fSuccess,fFail){var self=this;self._fFail=fFail;self._fSuccess=fSuccess;if(self._bSupportDataURI===null){var el=document.createElement("img");var fOnError=function(){self._bSupportDataURI=false;if(self._fFail){self._fFail.call(self);}};var fOnSuccess=function(){self._bSupportDataURI=true;if(self._fSuccess){self._fSuccess.call(self);}};el.onabort=fOnError;el.onerror=fOnError;el.onload=fOnSuccess;el.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";return;}else if(self._bSupportDataURI===true&&self._fSuccess){self._fSuccess.call(self);}else if(self._bSupportDataURI===false&&self._fFail){self._fFail.call(self);}};var Drawing=function(el,htOption){this._bIsPainted=false;this._android=_getAndroid();this._htOption=htOption;this._elCanvas=document.createElement("canvas");this._elCanvas.width=htOption.width;this._elCanvas.height=htOption.height;el.appendChild(this._elCanvas);this._el=el;this._oContext=this._elCanvas.getContext("2d");this._bIsPainted=false;this._elImage=document.createElement("img");this._elImage.alt="Scan me!";this._elImage.style.display="none";this._el.appendChild(this._elImage);this._bSupportDataURI=null;};Drawing.prototype.draw=function(oQRCode){var _elImage=this._elImage;var _oContext=this._oContext;var _htOption=this._htOption;var nCount=oQRCode.getModuleCount();var nWidth=_htOption.width/nCount;var nHeight=_htOption.height/nCount;var nRoundedWidth=Math.round(nWidth);var nRoundedHeight=Math.round(nHeight);_elImage.style.display="none";this.clear();for(var row=0;rowQRCodeLimitLength.length){throw new Error("Too long data");} return nType;} function _getUTF8Length(sText){var replacedText=encodeURI(sText).toString().replace(/\%[0-9a-fA-F]{2}/g,'a');return replacedText.length+(replacedText.length!=sText?3:0);} QRCode=function(el,vOption){this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:QRErrorCorrectLevel.H};if(typeof vOption==='string'){vOption={text:vOption};} if(vOption){for(var i in vOption){this._htOption[i]=vOption[i];}} if(typeof el=="string"){el=document.getElementById(el);} if(this._htOption.useSVG){Drawing=svgDrawer;} this._android=_getAndroid();this._el=el;this._oQRCode=null;this._oDrawing=new Drawing(this._el,this._htOption);if(this._htOption.text){this.makeCode(this._htOption.text);}};QRCode.prototype.makeCode=function(sText){this._oQRCode=new QRCodeModel(_getTypeNumber(sText,this._htOption.correctLevel),this._htOption.correctLevel);this._oQRCode.addData(sText);this._oQRCode.make();this._el.title=sText;this._oDrawing.draw(this._oQRCode);this.makeImage();};QRCode.prototype.makeImage=function(){if(typeof this._oDrawing.makeImage=="function"&&(!this._android||this._android>=3)){this._oDrawing.makeImage();}};QRCode.prototype.clear=function(){this._oDrawing.clear();};QRCode.CorrectLevel=QRErrorCorrectLevel;})();!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{"use strict";var e={321:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLogger=void 0;var n=function(){function e(e,t){this.debug=e,this.suppressErrorLogging=t}return e.prototype.prefixString=function(){return" quill-image-compress: "},Object.defineProperty(e.prototype,"log",{get:function(){return this.debug?console.log.bind(console,this.prefixString()):function(){}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return this.suppressErrorLogging?function(){}:console.error.bind(console,this.prefixString())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"warn",{get:function(){return this.suppressErrorLogging?function(){}:console.warn.bind(console,this.prefixString())},enumerable:!1,configurable:!0}),e}();t.ConsoleLogger=n},337:function(e,t){var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function l(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}s((r=r.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(s){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]n){var i=n,o=Math.floor(t/e*i);if(r&&o>r){var a=r;return[Math.floor(e/t*a),a]}return[i,o]}if(r&&t>r){o=r;return[i=Math.floor(e/t*o),o]}return[t,e]}(c.width,c.height,i,o),g=f[0],p=f[1],(d=document.createElement("canvas")).width=g,d.height=p,h=d.getContext("2d"),"image/jpeg"===a&&(h.fillStyle="#FFFFFF",h.fillRect(0,0,c.width,c.height)),(null==s?void 0:s.includes(n))?[2,t]:((null==l?void 0:l.includes(n))&&(a=n),h.drawImage(c,0,0,g,p),m=d.toDataURL(a,u),e.log("downscaling image...",{args:{dataUrl:t,maxWidth:i,maxHeight:o,imageType:a,ignoreImageTypes:s,keepImageTypes:l,imageQuality:u},newHeight:p,newWidth:g}),[2,m])}}))}))}},922:function(e,t){var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function l(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}s((r=r.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(s){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]{Object.defineProperty(t,"__esModule",{value:!0}),t.warnAboutOptions=function(e,t){e.maxWidth=e.maxWidth||1e3,e.maxHeight=e.maxHeight||1e3,e.maxWidth&&"number"!=typeof e.maxWidth&&(t.warn("[config error] 'maxWidth' is required to be a \"number\" (in pixels), \nreceived: ".concat(e.maxWidth,"\n-> using default 1000")),e.maxWidth=1e3);e.maxHeight&&"number"!=typeof e.maxHeight&&(t.warn("[config error] 'maxHeight' is required to be a \"number\" (in pixels), \nreceived: ".concat(e.maxHeight,"\n-> using default 1000")),e.maxHeight=1e3);e.quality&&"number"!=typeof e.quality&&(t.warn("quill.imageCompressor: [config error] 'quality' is required to be a \"number\", \nreceived: ".concat(e.quality,"\n-> using default 0.7")),e.quality=.7);!e.imageType||"string"==typeof e.imageType&&e.imageType.startsWith("image/")||(t.warn('quill.imageCompressor: [config error] \'imageType\' is required be in the form of "image/png" or "image/jpeg" etc ..., \nreceived: '.concat(e.imageType,"\n-> using default image/jpeg")),e.imageType="image/jpeg");e.keepImageTypes||(e.keepImageTypes=[]);e.keepImageTypes&&!Array.isArray(e.keepImageTypes)&&(t.warn("quill.imageCompressor: [config error] 'keepImageTypes' is required to be a \"array\", received: ".concat(e.keepImageTypes," -> using default []")),e.keepImageTypes=[]);e.ignoreImageTypes||(e.ignoreImageTypes=[]);e.ignoreImageTypes&&!Array.isArray(e.ignoreImageTypes)&&(t.warn("quill.imageCompressor: [config error] 'ignoreImageTypes' is required to be a \"array\", received: ".concat(e.ignoreImageTypes," -> using default []")),e.ignoreImageTypes=[]);e.handleOnPaste&&"boolean"!=typeof e.handleOnPaste&&(t.warn("quill.imageCompressor: [config error] 'handlePaste' is required to be a \"boolean\", received: ".concat(e.ignoreImageTypes," -> using default true")),e.handleOnPaste=!0);e.insertIntoEditor&&"function"!=typeof e.insertIntoEditor&&(t.warn("quill.imageCompressor: [config error] 'insertIntoEditor' is required to be a \"function\", received: ".concat(e.insertIntoEditor," -> using default undefined")),e.insertIntoEditor=void 0)}},423:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function l(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,l)}s((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(s){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]0?(e.stopPropagation(),this.logger.log("handleDrop","found files",{evt:e,files:r,imageFiles:o}),[4,this.pasteFilesIntoQuill(o)]):[3,2]);case 1:return i.sent(),[2];case 2:return(null===(c=e.dataTransfer)||void 0===c?void 0:c.items)?(e.stopPropagation(),this.logger.log("handleDrop","found items",{evt:e,files:r,imageFiles:o}),[4,this.handleDataTransferList(null===(f=e.dataTransfer)||void 0===f?void 0:f.items,e)]):[3,4];case 3:return i.sent(),[2];case 4:return a=null===(g=e.dataTransfer)||void 0===g?void 0:g.getData("URL"),this.logger.log("handleDrop","trying getData('URL')",{draggedUrl:a}),a?[4,fetch(a)]:[3,8];case 5:return[4,i.sent().blob()];case 6:return s=i.sent(),this.logger.log("handleDrop","blob from drag event",{evt:e,files:r,imageFiles:o}),[4,this.pasteFilesIntoQuill([s])];case 7:i.sent(),i.label=8;case 8:return[2]}}))}))},e.prototype.handlePaste=function(e){return r(this,void 0,void 0,(function(){var t;return i(this,(function(n){switch(n.label){case 0:return[4,this.handleDataTransferList(null===(t=e.clipboardData)||void 0===t?void 0:t.items,e)];case 1:return n.sent(),[2]}}))}))},e.prototype.handleDataTransferList=function(e,t){return r(this,void 0,void 0,(function(){var n,r,o,a;return i(this,(function(i){switch(i.label){case 0:return n=Array.from(e||[]),r=n.filter((function(e){return"file"===e.kind&&l(e.type)})),o=n.map((function(e){return{type:e.type,kind:e.kind}})),this.logger.log("handleDataTransferList",{fileTypes:o,imageCount:r.length}),r.length?(t.preventDefault(),t.stopPropagation(),a=r.map((function(e){return e.getAsFile()})),[4,this.pasteFilesIntoQuill(a)]):[2];case 1:return i.sent(),[2]}}))}))},e.prototype.pasteFilesIntoQuill=function(e){return r(this,void 0,void 0,(function(){var t=this;return i(this,(function(n){switch(n.label){case 0:return this.logger.log(" pasteFilesIntoQuill","pasting ".concat(e.length," images...")),[4,Promise.all(e.map((function(e,n){return r(t,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return e?[4,(0,o.file2b64)(e)]:[2];case 1:return t=r.sent(),this.logger.log(" pasteFilesIntoQuill","pasting image (".concat(n,")")),this.onNewDataUrl(t),[2]}}))}))})))];case 1:return n.sent(),this.logger.log(" pasteFilesIntoQuill","done"),[2]}}))}))},e}();function l(e){return!!e.match(/^image\/(gif|jpe?g|a?png|svg|webp|bmp)/i)}t.ImageDrop=a}},t={};var n=function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}(423);return n})()));const BaseImageFormat=Quill.import('formats/image');const ImageFormatAttributesList=['alt','height','width','style'];class ImageFormat extends BaseImageFormat{static formats(domNode){return ImageFormatAttributesList.reduce(function(formats,attribute){if(domNode.hasAttribute(attribute)){formats[attribute]=domNode.getAttribute(attribute);} return formats;},{});} format(name,value){if(ImageFormatAttributesList.indexOf(name)>-1){if(value){this.domNode.setAttribute(name,value);}else{this.domNode.removeAttribute(name);}}else{super.format(name,value);}}} var QuillResizeModule=null;(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):(global=global||self,global.QuillResizeModule=factory());}(this,(function(){'use strict';function __$styleInject(css){if(!css)return;if(typeof window=='undefined')return;var style=document.createElement('style');style.setAttribute('media','screen');style.innerHTML=css;document.head.appendChild(style);return css;} var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||({__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b;})||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p];};return extendStatics(d,b);};function __extends(d,b){extendStatics(d,b);function __(){this.constructor=d;} d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __());} var __assign=function(){__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;iindex){return values[index];} else{return"";}});} var ResizeElement=(function(_super){__extends(ResizeElement,_super);function ResizeElement(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.originSize=null;return _this;} return ResizeElement;}(HTMLElement));var template="\n
\n
\n
\n 100%\n 50%\n
\n
\n {1}\n {2}\n {3}\n
\n
\n";var ResizePlugin=(function(){function ResizePlugin(resizeTarget,container,options){this.resizer=null;this.startResizePosition=null;this.i18n=new I18n((options===null||options===void 0?void 0:options.locale)||defaultLocale);this.options=options;this.resizeTarget=resizeTarget;if(!resizeTarget.originSize){resizeTarget.originSize={width:resizeTarget.clientWidth,height:resizeTarget.clientHeight,};} this.container=container;this.initResizer();this.positionResizerToTarget(resizeTarget);this.resizing=this.resizing.bind(this);this.endResize=this.endResize.bind(this);this.startResize=this.startResize.bind(this);this.toolbarClick=this.toolbarClick.bind(this);this.toolbarInputChange=this.toolbarInputChange.bind(this);this.bindEvents();} ResizePlugin.prototype.initResizer=function(){var resizer=this.container.querySelector("#editor-resizer");if(!resizer){resizer=document.createElement("div");resizer.setAttribute("id","editor-resizer");resizer.innerHTML=format(template,this.i18n.findLabel("altTip"),this.i18n.findLabel("floatLeft"),this.i18n.findLabel("center"),this.i18n.findLabel("floatRight"),this.i18n.findLabel("restore"),this.i18n.findLabel("inputTip"));this.container.appendChild(resizer);} this.resizer=resizer;};ResizePlugin.prototype.positionResizerToTarget=function(el){const editor=el.closest('.ql-editor');const container=el.closest('.ql-container')||el.closest('#NewseditorViewEditor')||el.closest('.EmailEditorHolder');if(editor!=null){editor.addEventListener('scroll',function(e){if(this.resizer!=null)this.resizer.style.display="none";}.bind(this),{once:true});} if(this.resizer!==null&&container!==null){const elRect=el.getBoundingClientRect();const containerRect=container.getBoundingClientRect();const relativeTop=elRect.top-containerRect.top+container.scrollTop;const relativeLeft=elRect.left-containerRect.left+container.scrollLeft;this.resizer.style.setProperty("left",relativeLeft+"px");this.resizer.style.setProperty("top",relativeTop+"px");this.resizer.style.setProperty("width",el.offsetWidth+"px");this.resizer.style.setProperty("height",el.offsetHeight+"px");this.resizer.style.display="block";}};ResizePlugin.prototype.bindEvents=function(){if(this.resizer!==null){this.resizer.addEventListener("mousedown",this.startResize);this.resizer.addEventListener("click",this.toolbarClick);this.resizer.addEventListener("change",this.toolbarInputChange);} window.addEventListener("mouseup",this.endResize);window.addEventListener("mousemove",this.resizing);};ResizePlugin.prototype._setStylesForToolbar=function(type,styles){var _a;var storeKey="_styles_"+type;var style=this.resizeTarget.style;var originStyles=this.resizeTarget[storeKey];style.cssText=style.cssText.replaceAll(" ","").replace(originStyles,"")+ (";"+styles);this.resizeTarget[storeKey]=styles;this.positionResizerToTarget(this.resizeTarget);(_a=this.options)===null||_a===void 0?void 0:_a.onChange(this.resizeTarget);};ResizePlugin.prototype.toolbarInputChange=function(e){var _a;var target=e.target;var type=(_a=target===null||target===void 0?void 0:target.dataset)===null||_a===void 0?void 0:_a.type;var value=target.value;if(type&&Number(value)){this._setStylesForToolbar(type,"width: "+Number(value)+"%;");}};ResizePlugin.prototype.toolbarClick=function(e){var _a,_b;var target=e.target;var type=(_a=target===null||target===void 0?void 0:target.dataset)===null||_a===void 0?void 0:_a.type;if(type&&target.classList.contains("btn")){this._setStylesForToolbar(type,(_b=target===null||target===void 0?void 0:target.dataset)===null||_b===void 0?void 0:_b.styles);}};ResizePlugin.prototype.startResize=function(e){var target=e.target;if(target.classList.contains("handler")&&e.which===1){this.startResizePosition={left:e.clientX,top:e.clientY,width:this.resizeTarget.clientWidth,height:this.resizeTarget.clientHeight,};}};ResizePlugin.prototype.endResize=function(){var _a;this.startResizePosition=null;(_a=this.options)===null||_a===void 0?void 0:_a.onChange(this.resizeTarget);};ResizePlugin.prototype.resizing=function(e){if(!this.startResizePosition) return;var deltaX=e.clientX-this.startResizePosition.left;var deltaY=e.clientY-this.startResizePosition.top;var width=this.startResizePosition.width;var height=this.startResizePosition.height;width+=deltaX;height+=deltaY;if(e.altKey){var originSize=this.resizeTarget.originSize;var rate=originSize.height/originSize.width;height=rate*width;} this.resizeTarget.style.setProperty("width",Math.max(width,30)+"px");this.resizeTarget.style.setProperty("height",Math.max(height,30)+"px");this.positionResizerToTarget(this.resizeTarget);};ResizePlugin.prototype.destory=function(){this.container.removeChild(this.resizer);window.removeEventListener("mouseup",this.endResize);window.removeEventListener("mousemove",this.resizing);this.resizer=null;};return ResizePlugin;}());var Iframe=(function(){function Iframe(element,cb){this.element=element;this.cb=cb;this.hasTracked=false;} return Iframe;}());var IframeClick=(function(){function IframeClick(){} IframeClick.track=function(element,cb){this.iframes.push(new Iframe(element,cb));if(!this.interval){this.interval=setInterval(function(){IframeClick.checkClick();},this.resolution);}};IframeClick.checkClick=function(){if(document.activeElement){var activeElement=document.activeElement;for(var i in this.iframes){if(activeElement===this.iframes[i].element){if(this.iframes[i].hasTracked==false){this.iframes[i].cb.apply(window,[]);this.iframes[i].hasTracked=true;}} else{this.iframes[i].hasTracked=false;}}}};IframeClick.resolution=200;IframeClick.iframes=[];IframeClick.interval=null;return IframeClick;}());function QuillResizeModule(quill,options){var container=quill.root;var resizeTarge;var resizePlugin;function triggerTextChange(){var Delta=quill.getContents().constructor;var delta=new Delta().retain(1);quill.updateContents(delta);} container.addEventListener("click",function(e){var target=e.target;if(e.target&&["img","video"].includes(target.tagName.toLowerCase())){resizeTarge=target;resizePlugin=new ResizePlugin(target,container.parentElement,__assign(__assign({},options),{onChange:triggerTextChange}));}});quill.on("text-change",function(delta,source){container.querySelectorAll("iframe").forEach(function(item){IframeClick.track(item,function(){resizeTarge=item;resizePlugin=new ResizePlugin(item,container.parentElement,__assign(__assign({},options),{onChange:triggerTextChange}));});});});document.addEventListener("mousedown",function(e){var _a,_b,_c;var target=e.target;if(target!==resizeTarge&&!((_b=(_a=resizePlugin===null||resizePlugin===void 0?void 0:resizePlugin.resizer)===null||_a===void 0?void 0:_a.contains)===null||_b===void 0?void 0:_b.call(_a,target))){(_c=resizePlugin===null||resizePlugin===void 0?void 0:resizePlugin.destory)===null||_c===void 0?void 0:_c.call(resizePlugin);resizePlugin=null;resizeTarge=null;}},{capture:true});} return QuillResizeModule;})));document.body.onload=function(){Application._init();};var AboutData=AboutData||{};AboutData.DE=[{"topic":"Schriftarten & Icons","infoText":"Diese Anwendung verwendet die folgenden Schriftarten unter ihren jeweiligen Lizenzen.","items":[{"title":"LeckerliOne","info":"Die Schriftsoftware ist unter der SIL Open Font License, Version 1.1 lizenziert","link":"https://openfontlicense.org"},{"title":"Roboto","info":"Die Schriftsoftware ist unter der Apache License 2.0 lizenziert","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"Icons sind unter der Apache License 2.0 lizenziert","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"SVG Repo Lizenz","info":"Diese Anwendung verwendet möglicherweise Vektorgrafiken und Icons von SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"Drittanbieter-Bibliotheken & Tools","infoText":"Diese Anwendung verwendet die folgenden Bibliotheken und Tools von Drittanbietern unter ihren jeweiligen Lizenzen.","items":[{"title":"Quill.js","info":"Quill ist ein moderner WYSIWYG-Editor, lizenziert unter BSD 3-Clause","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"Reines JavaScript long-press-event, geschrieben von John Doherty, unter der MIT-Lizenz.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var AboutData=AboutData||{};AboutData.EN=[{"topic":"Fonts & Icons","infoText":"This application uses the following fonts under their respective licenses.","items":[{"title":"LeckerliOne","info":"Font Software is licensed under the SIL Open Font License, Version 1.1","link":"https://openfontlicense.org"},{"title":"Roboto","info":"Font Software is licensed under Apache License 2.0","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"Icons are licensed under Apache License 2.0","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"SVG Repo License","info":"This application uses some vector graphics and icons by SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"Third-Party libraries & tools","infoText":"This application uses the following third-party libraries & tools under their respective licenses.","items":[{"title":"Quill.js","info":"Quill is a modern WYSIWYG editor licensed under BSD 3-Clause","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"Pure JavaScript long-press-event, written by John Doherty, under the MIT license.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var AboutData=AboutData||{};AboutData.ES=[{"topic":"Fuentes e Iconos","infoText":"Esta aplicación utiliza las siguientes fuentes bajo sus respectivas licencias.","items":[{"title":"LeckerliOne","info":"El software de la fuente está bajo la licencia SIL Open Font License, Versión 1.1","link":"https://openfontlicense.org"},{"title":"Roboto","info":"El software de la fuente está bajo la licencia Apache License 2.0","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"Los iconos están bajo la licencia Apache License 2.0","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"Licencia de SVG Repo","info":"Esta aplicación puede utilizar algunos gráficos vectoriales e iconos de SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"Bibliotecas y herramientas de terceros","infoText":"Esta aplicación utiliza las siguientes bibliotecas y herramientas de terceros bajo sus respectivas licencias.","items":[{"title":"Quill.js","info":"Quill es un editor WYSIWYG moderno bajo la licencia BSD 3-Clause","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"Evento de pulsación larga en JavaScript puro, escrito por John Doherty, bajo la licencia MIT.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var AboutData=AboutData||{};AboutData.FR=[{"topic":"Polices & Icônes","infoText":"Cette application utilise les polices et icônes suivantes sous leurs licences respectives.","items":[{"title":"LeckerliOne","info":"Le logiciel de police est sous licence SIL Open Font License, Version 1.1","link":"https://openfontlicense.org"},{"title":"Roboto","info":"Le logiciel de police est sous licence Apache License 2.0","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"Les icônes sont sous licence Apache License 2.0","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"SVG Repo License","info":"Ce logiciel peut utiliser des graphiques vectoriels et des icônes de SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"Bibliothèques & outils tiers","infoText":"Cette application utilise les bibliothèques et outils tiers suivants sous leurs licences respectives.","items":[{"title":"Quill.js","info":"Quill est un éditeur WYSIWYG moderne sous licence BSD 3-Clause","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"Événement de long-press en JavaScript pur, écrit par John Doherty, sous licence MIT.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var AboutData=AboutData||{};AboutData.HE=[{"topic":"גופנים ואייקונים","infoText":"אפליקציה זו משתמשת בגופנים ובאייקונים הבאים בהתאם לרישיונות שלהם.","items":[{"title":"LeckerliOne","info":"תוכנת הגופן מורשית תחת רישיון SIL Open Font License, גרסה 1.1","link":"https://openfontlicense.org"},{"title":"Roboto","info":"תוכנת הגופן מורשית תחת רישיון Apache License 2.0","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"האייקונים מורשים תחת רישיון Apache License 2.0","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"SVG Repo License","info":"אפליקציה זו משתמשת באייקונים מ SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"ספריות וכלי צד-שלישי","infoText":"יישום זה משתמש בספריות וכלי צד-שלישי הבאים תחת הרישיונות המתאימים להם.","items":[{"title":"Quill.js","info":"ספריית Quill היא עורך WYSIWYG מודרני תחת רישיון BSD בת שלוש סעיפים","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"אירוע לחיצה ארוכה ב-JavaScript טהור, נכתב על ידי John Doherty, ברישיון MIT.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var AboutData=AboutData||{};AboutData.IT=[{"topic":"Font e Icone","infoText":"Questa applicazione utilizza i seguenti font secondo le rispettive licenze.","items":[{"title":"LeckerliOne","info":"Il software del font è concesso in licenza sotto la SIL Open Font License, Versione 1.1","link":"https://openfontlicense.org"},{"title":"Roboto","info":"Il software del font è concesso in licenza sotto la Apache License 2.0","link":"http://www.apache.org/licenses/"},{"title":"Material Symbols","info":"Le icone sono concesse in licenza sotto la Apache License 2.0","link":"https://www.apache.org/licenses/LICENSE-2.0"},{"title":"Licenza SVG Repo","info":"Questa applicazione potrebbe utilizzare grafiche vettoriali e icone di SVG Repo","link":"https://www.svgrepo.com/page/licensing/"}]},{"topic":"Librerie e strumenti di terze parti","infoText":"Questa applicazione utilizza le seguenti librerie e strumenti di terze parti secondo le rispettive licenze.","items":[{"title":"Quill.js","info":"Quill è un moderno editor WYSIWYG concesso in licenza sotto BSD 3-Clause","link":"https://github.com/slab/quill/blob/main/LICENSE"},{"title":"long-press-event","info":"Evento long-press in JavaScript puro, scritto da John Doherty, sotto licenza MIT.","link":"https://github.com/john-doherty/long-press-event/blob/master/LICENSE"},{"title":"QRCode for JavaScript","info":"Pure JavaScript QRCode generator, Copyright (c) 2009 Kazuhiko Arase, under the MIT license.","link":"http://www.opensource.org/licenses/mit-license.php"}]}];var Licenses=Licenses||{};Licenses.DE={"Endbenutzer-Lizenzvereinbarung":[{"title":"Inkrafttreten & Gerichtsstand","items":["Inkrafttreten: 1. Januar 2026","Gerichtsstand: Frankreich"]},{"title":"Lizenzgewährung","items":["DailyReport gewährt dem Benutzer eine eingeschränkte Lizenz für den Zugriff auf den Dienst.","Die Lizenz ist nicht exklusiv.","Die Lizenz ist nicht übertragbar.","Der Dienst darf ausschließlich für den Geschäftsbetrieb des Unternehmens genutzt werden."]},{"title":"Beschränkungen","items":["Benutzer dürfen den Dienst nicht kopieren.","Benutzer dürfen den Dienst nicht modifizieren.","Benutzer dürfen den Dienst nicht verbreiten.","Benutzer dürfen kein Reverse Engineering des Dienstes vornehmen.","Benutzer dürfen Sicherheits- oder Zugangsbeschränkungen nicht umgehen.","Benutzer dürfen den Dienst nicht für unbefugte kommerzielle Zwecke nutzen."]},{"title":"Eigentumsverhältnisse","items":["Alle Rechte am Dienst verbleiben bei DailyReport.","Sämtliches mit dem Dienst verbundenes geistiges Eigentum verbleibt bei DailyReport."]},{"title":"Datennutzung","items":["Der Dienst sammelt Daten, die für den Betrieb der Kernfunktionen erforderlich sind.","Standortdaten werden zum Zwecke der Zeiterfassung erhoben.","Benutzer stimmen dieser Datenerhebung durch die Nutzung des Dienstes zu."]},{"title":"Updates","items":["DailyReport kann Updates oder neue Funktionen bereitstellen.","Alle Updates unterliegen dieser EULA."]},{"title":"Kündigung","items":["Die Lizenz erlischt automatisch, wenn der Benutzer gegen die EULA oder die Nutzungsbedingungen verstößt.","Nach der Kündigung müssen die Benutzer jegliche Nutzung des Dienstes einstellen."]},{"title":"Gewährleistungsausschluss","items":["Der Dienst wird 'wie besehen' (as is) bereitgestellt.","DailyReport schließt alle Gewährleistungen aus.","DailyReport schließt die Haftung für Dienstunterbrechungen oder Fehler aus."]},{"title":"Haftungsbeschränkung","items":["DailyReport haftet nicht für Schäden, die aus der Nutzung oder der Unmöglichkeit der Nutzung des Dienstes entstehen.","Dies schließt Datenverlust oder entgangenen Gewinn ein."]},{"title":"Anwendbares Recht","items":["Diese EULA unterliegt dem Recht von Frankreich.","Geltende europäische und EMEA-Vorschriften finden Anwendung."]}],"Nutzungsbedingungen":[{"title":"Inkrafttreten & Gerichtsstand","items":["Inkrafttreten: 1. Januar 2026","Gerichtsstand: Frankreich"]},{"title":"Annahme der Bedingungen","items":["Durch den Zugriff auf DailyReport stimmen Sie den Nutzungsbedingungen zu.","Wenn Sie nicht zustimmen, dürfen Sie den Dienst nicht nutzen."]},{"title":"Berechtigung","items":["Der Dienst ist für Mitarbeiter von Unternehmen mit einer gültigen DailyReport-Vereinbarung bestimmt.","Benutzer müssen mindestens 18 Jahre alt sein oder das gesetzliche Alter in ihrem Land erreicht haben."]},{"title":"Kontoregistrierung","items":["Konten werden über den Arbeitgeber bereitgestellt.","Benutzer müssen genaue Registrierungsinformationen angeben.","Benutzer sind für den Schutz ihrer Zugangsdaten verantwortlich.","Benutzer sind für alle Aktivitäten unter ihrem Konto verantwortlich."]},{"title":"Geschäftliche Nutzung","items":["Der Dienst ist nur für geschäftliche Zwecke bestimmt.","Unbefugte kommerzielle Nutzung oder Weiterverkauf ist untersagt."]},{"title":"Benutzerverhalten","items":["Benutzer müssen geltende Gesetze einhalten.","Benutzer dürfen andere nicht belästigen, missbrauchen oder schädigen.","Benutzer dürfen den Dienst nicht stören oder unterbrechen.","Benutzer dürfen nicht auf unbefugte Daten oder Konten zugreifen."]},{"title":"Datenerhebung und Datenschutz","items":["Kritische Benutzerinformationen werden gesammelt, um Plattformfunktionen bereitzustellen.","Standortdaten können zur Überprüfung der Anwesenheit erhoben werden.","Es werden Cookies verwendet, einschließlich Cookies von Drittanbietern (Google Maps, Firebase).","Daten werden nicht an Dritte weitergegeben, außer wenn dies zur Erbringung des Dienstes erforderlich ist."]},{"title":"Geistiges Eigentum","items":["Alle Inhalte und die Software sind Eigentum von DailyReport oder seinen Lizenzgebern.","Benutzern wird eine eingeschränkte Lizenz gewährt, um auf den Dienst für zulässige Zwecke zuzugreifen und ihn zu nutzen."]},{"title":"Dienste von Drittanbietern","items":["Der Dienst kann Dienste von Drittanbietern integrieren (z. B. Google Maps).","Die Nutzung von Drittanbieterdiensten unterliegt deren eigenen Bedingungen und Richtlinien."]},{"title":"Haftungsausschlüsse und Haftungsbeschränkungen","items":["Der Dienst wird 'wie besehen' ohne Gewährleistungen bereitgestellt.","DailyReport haftet nicht für indirekte, zufällige oder Folgeschäden."]},{"title":"Kündigung","items":["Konten können bei Verstößen gegen die Nutzungsbedingungen oder bei Missbrauch gesperrt oder gekündigt werden."]},{"title":"Anwendbares Recht","items":["Die Nutzungsbedingungen unterliegen französischem Recht.","Streitigkeiten werden vor den zuständigen Gerichten in Frankreich beigelegt."]},{"title":"Änderungen der Bedingungen","items":["DailyReport kann die Nutzungsbedingungen von Zeit zu Zeit aktualisieren.","Benutzer werden über den Dienst oder per E-Mail benachrichtigt."]}],"DSGVO":[{"title":"Inkrafttreten & Gerichtsstand","items":["Inkrafttreten: 1. Januar 2026","Gerichtsstand: Frankreich"]},{"title":"Verantwortlicher für die Datenverarbeitung","items":["DailyReport ist der Verantwortliche für die über den Dienst erhobenen personenbezogenen Daten.","Kontakt: [Unternehmensadresse und E-Mail einfügen]."]},{"title":"Arten der erhobenen personenbezogenen Daten","items":["Kontodaten: Name, E-Mail, Jobbezeichnung, Abteilung, Zugangsdaten.","Nutzungsdaten: Aktivitäten innerhalb des Dienstes (Zeiterfassung, Schichten, Formulare, Chat, Anrufe).","Standortdaten: Geolocation für die Zeiterfassung der Mitarbeiter.","Cookies: First-Party- und Third-Party-Cookies (Google Maps, Firebase).","Kommunikationsdaten: Chat-, Sprach- und Video-Metadaten."]},{"title":"Zweck & Rechtsgrundlage","items":["Dienstbetrieb: Erfüllung eines Vertrags.","Zeiterfassung/Standortprüfung: Berechtigtes Interesse des Arbeitgebers.","Kommunikationsfunktionen: Erfüllung eines Vertrags.","Cookies/Analyse: Einwilligung des Benutzers für optionale Cookies.","Einhaltung von Gesetzen: Rechtliche Verpflichtung."]},{"title":"Datenweitergabe & Dritte","items":["Daten werden nicht verkauft oder zu Marketingzwecken weitergegeben.","Drittanbieterdienste können begrenzte Daten verarbeiten (Google Maps, Firebase).","Daten können offengelegt werden, wenn dies gesetzlich vorgeschrieben ist oder um gesetzliche Rechte zu schützen."]},{"title":"Datenspeicherung","items":["Personenbezogene Daten werden nur so lange wie nötig gespeichert.","Die Speicherung von Standort- und Zeiterfassungsdaten folgt den Unternehmensrichtlinien oder gesetzlichen Anforderungen."]},{"title":"Benutzerrechte","items":["Auskunft: Benutzer können Auskunft über ihre Daten verlangen.","Berichtigung: Benutzer können unrichtige oder unvollständige Daten korrigieren.","Löschung: Benutzer können die Löschung verlangen, sofern dies gesetzlich möglich ist.","Einschränkung: Benutzer können die Verarbeitung in bestimmten Fällen einschränken.","Datenübertragbarkeit: Benutzer können ihre Daten in einem maschinenlesbaren Format erhalten.","Widerspruch: Benutzer können der Verarbeitung aufgrund berechtigter Interessen oder für Marketing widersprechen.","Einwilligung widerrufen: Benutzer können die Einwilligung für die optionale Verarbeitung widerrufen."]},{"title":"Sicherheitsmaßnahmen","items":["Der Zugriff auf personenbezogene Daten ist auf befugtes Personal beschränkt.","Technische Maßnahmen umfassen Verschlüsselung, sichere Authentifizierung und Netzwerkschutz.","Regelmäßige Audits gewährleisten die Datensicherheit."]},{"title":"Cookies & Tracking","items":["Notwendige Cookies sind für die Funktionalität des Dienstes erforderlich.","Third-Party-Cookies werden für Standort und Push-Benachrichtigungen verwendet.","Benutzer können Cookie-Präferenzen über den Browser oder die Diensteinstellungen verwalten."]},{"title":"Internationale Übermittlungen","items":["Einige Daten können außerhalb des EWR verarbeitet werden (z. B. Firebase-Server).","Übermittlungen entsprechen der DSGVO unter Verwendung von Standardvertragsklauseln oder anderen Mechanismen."]},{"title":"Änderungen der Datenschutzerklärung","items":["DailyReport kann die Datenschutzerklärung aus rechtlichen oder betrieblichen Gründen aktualisieren.","Benutzer werden über den Dienst oder per E-Mail benachrichtigt."]},{"title":"Kontaktinformationen","items":["Bei Fragen oder Anfragen zur DSGVO wenden Sie sich an den DailyReport-Datenschutzbeauftragten (DPO).","E-Mail: dpo@dailyreport.co","Adresse: TBD."]}]};var Licenses=Licenses||{};Licenses.EN={"End User License Agreement":[{"title":"Effective Date & Jurisdiction","items":["Effective Date: January 1, 2026","Jurisdiction: France"]},{"title":"License Grant","items":["DailyReport grants the user a limited license to access the Service.","The license is non-exclusive.","The license is non-transferable.","The Service is to be used solely for the company’s business operations."]},{"title":"Restrictions","items":["Users may not copy the Service.","Users may not modify the Service.","Users may not distribute the Service.","Users may not reverse engineer the Service.","Users may not circumvent security or access restrictions.","Users may not use the Service for unauthorized commercial purposes."]},{"title":"Ownership","items":["All rights in the Service remain with DailyReport.","All intellectual property associated with the Service remains with DailyReport."]},{"title":"Data Usage","items":["The Service collects data necessary to operate core features.","Location data is collected for time tracking purposes.","Users consent to this data collection by using the Service."]},{"title":"Updates","items":["DailyReport may provide updates or new features.","All updates are subject to this EULA."]},{"title":"Termination","items":["The license terminates automatically if the user violates the EULA or TOS.","Upon termination, users must cease all use of the Service."]},{"title":"Disclaimer of Warranties","items":["The Service is provided 'as is'.","DailyReport disclaims all warranties.","DailyReport disclaims liability for service interruptions or errors."]},{"title":"Limitation of Liability","items":["DailyReport is not liable for damages arising from the use or inability to use the Service.","This includes loss of data or profits."]},{"title":"Governing Law","items":["This EULA is governed by the laws of France.","Applicable European and EMEA regulations apply."]}],"Terms of Service":[{"title":"Effective Date & Jurisdiction","items":["Effective Date: January 1, 2026","Jurisdiction: France"]},{"title":"Acceptance of Terms","items":["By accessing DailyReport, you agree to the TOS.","If you do not agree, you may not use the Service."]},{"title":"Eligibility","items":["The Service is intended for employees of businesses with a valid DailyReport agreement.","Users must be at least 18 years old or the legal age in their country."]},{"title":"Account Registration","items":["Accounts are provided through the employer.","Users must provide accurate registration information.","Users are responsible for safeguarding their login credentials.","Users are responsible for all activity under their account."]},{"title":"Business Use","items":["The Service is for business purposes only.","Unauthorized commercial use or resale is prohibited."]},{"title":"User Conduct","items":["Users must comply with applicable laws.","Users must not harass, abuse, or harm others.","Users must not interfere with or disrupt the Service.","Users must not access unauthorized data or accounts."]},{"title":"Data Collection and Privacy","items":["Critical user information is collected to provide platform features.","Location data may be collected to verify attendance.","Cookies are used, including third-party cookies (Google Maps, Firebase).","Data is not shared with third parties except as necessary to provide the Service."]},{"title":"Intellectual Property","items":["All content and software are owned by DailyReport or its licensors.","Users are granted a limited license to access and use the Service for permitted purposes."]},{"title":"Third-Party Services","items":["The Service may integrate third-party services (e.g., Google Maps).","Use of third-party services is subject to their own terms and policies."]},{"title":"Disclaimers and Limitations of Liability","items":["The Service is provided 'as is' without warranties.","DailyReport is not liable for indirect, incidental, or consequential damages."]},{"title":"Termination","items":["Accounts may be suspended or terminated for TOS violations or misuse."]},{"title":"Governing Law","items":["The TOS are governed by French law.","Disputes are resolved in competent courts of France."]},{"title":"Changes to Terms","items":["DailyReport may update the TOS from time to time.","Users will be notified via the Service or email."]}],"GDPR":[{"title":"Effective Date & Jurisdiction","items":["Effective Date: January 1, 2026","Jurisdiction: France"]},{"title":"Data Controller","items":["DailyReport is the data controller for personal data collected via the Service.","Contact: [Insert Company Address and Email]."]},{"title":"Types of Personal Data Collected","items":["Account Data: Name, email, job title, department, login credentials.","Usage Data: Activity within the Service (time tracking, shifts, forms, chat, calls).","Location Data: Geolocation for employee time tracking.","Cookies: First-party and third-party cookies (Google Maps, Firebase).","Communication Data: Chat, voice, and video metadata."]},{"title":"Purpose & Legal Basis","items":["Service operation: Performance of a contract.","Time tracking/location verification: Legitimate interest of employer.","Communication features: Performance of a contract.","Cookies/analytics: User consent for optional cookies.","Compliance with law: Legal obligation."]},{"title":"Data Sharing & Third Parties","items":["Data is not sold or shared for marketing purposes.","Third-party services may process limited data (Google Maps, Firebase).","Data may be disclosed if required by law or to protect legal rights."]},{"title":"Data Retention","items":["Personal data is retained only as long as necessary.","Location and time tracking data retention follows company policy or legal requirements."]},{"title":"User Rights","items":["Access: Users can request access to their data.","Rectification: Users can correct inaccurate or incomplete data.","Erasure: Users can request deletion where legally possible.","Restriction: Users can limit processing in certain cases.","Data Portability: Users can receive their data in machine-readable format.","Objection: Users can object to processing based on legitimate interests or marketing.","Withdraw Consent: Users can withdraw consent for optional processing."]},{"title":"Security Measures","items":["Access to personal data is restricted to authorized personnel.","Technical measures include encryption, secure authentication, and network protections.","Regular audits ensure data security."]},{"title":"Cookies & Tracking","items":["Essential cookies are required for Service functionality.","Third-party cookies are used for location and push notifications.","Users can manage cookie preferences via browser or Service settings."]},{"title":"International Transfers","items":["Some data may be processed outside the EEA (e.g., Firebase servers).","Transfers comply with GDPR using standard contractual clauses or other mechanisms."]},{"title":"Changes to Privacy Notice","items":["DailyReport may update the Privacy Notice for legal or operational reasons.","Users will be notified via the Service or email."]},{"title":"Contact Information","items":["For GDPR questions or requests, contact DailyReport DPO.","Email : dpo@dailyreport.co","Address: TBD."]}]} var Licenses=Licenses||{};Licenses.ES={"Acuerdo de Licencia de Usuario Final":[{"title":"Fecha de vigencia y Jurisdicción","items":["Fecha de vigencia: 1 de enero de 2026","Jurisdicción: Francia"]},{"title":"Concesión de Licencia","items":["DailyReport otorga al usuario una licencia limitada para acceder al Servicio.","La licencia es no exclusiva.","La licencia es intransferible.","El Servicio debe utilizarse exclusivamente para las operaciones comerciales de la empresa."]},{"title":"Restricciones","items":["Los usuarios no pueden copiar el Servicio.","Los usuarios no pueden modificar el Servicio.","Los usuarios no pueden distribuir el Servicio.","Los usuarios no pueden realizar ingeniería inversa al Servicio.","Los usuarios no pueden eludir la seguridad o las restricciones de acceso.","Los usuarios no pueden utilizar el Servicio para fines comerciales no autorizados."]},{"title":"Propiedad","items":["Todos los derechos del Servicio pertenecen a DailyReport.","Toda la propiedad intelectual asociada con el Servicio pertenece a DailyReport."]},{"title":"Uso de Datos","items":["El Servicio recopila los datos necesarios para operar las funciones principales.","Se recopilan datos de ubicación para fines de control de tiempo.","Los usuarios consienten esta recopilación de datos al utilizar el Servicio."]},{"title":"Actualizaciones","items":["DailyReport puede proporcionar actualizaciones o nuevas funciones.","Todas las actualizaciones están sujetas a este EULA."]},{"title":"Terminación","items":["La licencia termina automáticamente si el usuario infringe el EULA o los TOS.","Tras la terminación, los usuarios deben cesar todo uso del Servicio."]},{"title":"Descargo de Responsabilidad de Garantías","items":["El Servicio se proporciona 'tal cual'.","DailyReport renuncia a todas las garantías.","DailyReport no se hace responsable de interrupciones del servicio o errores."]},{"title":"Limitación de Responsabilidad","items":["DailyReport no es responsable de los daños derivados del uso o la imposibilidad de usar el Servicio.","Esto incluye la pérdida de datos o de beneficios."]},{"title":"Ley Aplicable","items":["Este EULA se rige por las leyes de Francia.","Se aplican las normativas europeas y de la zona EMEA pertinentes."]}],"Términos de Servicio":[{"title":"Fecha de vigencia y Jurisdicción","items":["Fecha de vigencia: 1 de enero de 2026","Jurisdicción: Francia"]},{"title":"Aceptación de los Términos","items":["Al acceder a DailyReport, usted acepta los TOS.","Si no está de acuerdo, no podrá utilizar el Servicio."]},{"title":"Elegibilidad","items":["El Servicio está destinado a empleados de empresas con un acuerdo válido de DailyReport.","Los usuarios deben tener al menos 18 años o la edad legal en su país."]},{"title":"Registro de Cuenta","items":["Las cuentas se proporcionan a través del empleador.","Los usuarios deben proporcionar información de registro precisa.","Los usuarios son responsables de proteger sus credenciales de acceso.","Los usuarios son responsables de toda la actividad bajo su cuenta."]},{"title":"Uso Comercial","items":["El Servicio es solo para fines comerciales.","Se prohíbe el uso comercial no autorizado o la reventa."]},{"title":"Conducta del Usuario","items":["Los usuarios deben cumplir con las leyes aplicables.","Los usuarios no deben acosar, abusar o dañar a otros.","Los usuarios no deben interferir ni interrumpir el Servicio.","Los usuarios no deben acceder a datos o cuentas no autorizadas."]},{"title":"Recopilación de Datos y Privacidad","items":["Se recopila información crítica del usuario para proporcionar las funciones de la plataforma.","Se pueden recopilar datos de ubicación para verificar la asistencia.","Se utilizan cookies, incluidas las de terceros (Google Maps, Firebase).","Los datos no se comparten con terceros, excepto cuando sea necesario para proporcionar el Servicio."]},{"title":"Propiedad Intelectual","items":["Todo el contenido y el software son propiedad de DailyReport o sus licenciantes.","A los usuarios se les otorga una licencia limitada para acceder y usar el Servicio para los fines permitidos."]},{"title":"Servicios de Terceros","items":["El Servicio puede integrar servicios de terceros (por ejemplo, Google Maps).","El uso de servicios de terceros está sujeto a sus propios términos y políticas."]},{"title":"Descargos y Limitaciones de Responsabilidad","items":["El Servicio se proporciona 'tal cual' sin garantías.","DailyReport no es responsable de daños indirectos, incidentales o consecuentes."]},{"title":"Terminación","items":["Las cuentas pueden ser suspendidas o terminadas por violaciones de los TOS o mal uso."]},{"title":"Ley Aplicable","items":["Los TOS se rigen por la ley francesa.","Las disputas se resolverán en los tribunales competentes de Francia."]},{"title":"Cambios en los Términos","items":["DailyReport puede actualizar los TOS periódicamente.","Los usuarios serán notificados a través del Servicio o por correo electrónico."]}],"RGPD":[{"title":"Fecha de vigencia y Jurisdicción","items":["Fecha de vigencia: 1 de enero de 2026","Jurisdicción: Francia"]},{"title":"Responsable del Tratamiento de Datos","items":["DailyReport es el responsable del tratamiento de los datos personales recopilados a través del Servicio.","Contacto: [Insertar dirección y correo electrónico de la empresa]."]},{"title":"Tipos de Datos Personales Recopilados","items":["Datos de la cuenta: Nombre, correo electrónico, cargo, departamento, credenciales de acceso.","Datos de uso: Actividad dentro del Servicio (seguimiento de tiempo, turnos, formularios, chat, llamadas).","Datos de ubicación: Geolocalización para el seguimiento del tiempo del empleado.","Cookies: Cookies propias y de terceros (Google Maps, Firebase).","Datos de comunicación: Metadatos de chat, voz y vídeo."]},{"title":"Finalidad y Base Jurídica","items":["Operación del servicio: Ejecución de un contrato.","Control de tiempo/verificación de ubicación: Interés legítimo del empleador.","Funciones de comunicación: Ejecución de un contrato.","Cookies/análisis: Consentimiento del usuario para cookies opcionales.","Cumplimiento de la ley: Obligación legal."]},{"title":"Intercambio de Datos y Terceros","items":["Los datos no se venden ni se comparten para fines de marketing.","Los servicios de terceros pueden procesar datos limitados (Google Maps, Firebase).","Los datos pueden ser revelados si lo exige la ley o para proteger derechos legales."]},{"title":"Retención de Datos","items":["Los datos personales se conservan solo el tiempo necesario.","La retención de datos de ubicación y seguimiento de tiempo sigue la política de la empresa o los requisitos legales."]},{"title":"Derechos del Usuario","items":["Acceso: Los usuarios pueden solicitar acceso a sus datos.","Rectificación: Los usuarios pueden corregir datos inexactos o incompletos.","Supresión: Los usuarios pueden solicitar la eliminación cuando sea legalmente posible.","Limitación: Los usuarios pueden limitar el tratamiento en ciertos casos.","Portabilidad: Los usuarios pueden recibir sus datos en un formato legible por máquina.","Oposición: Los usuarios pueden oponerse al tratamiento basado en intereses legítimos o marketing.","Retirada del consentimiento: Los usuarios pueden retirar el consentimiento para tratamientos opcionales."]},{"title":"Medidas de Seguridad","items":["El acceso a los datos personales está restringido al personal autorizado.","Las medidas técnicas incluyen cifrado, autenticación segura y protecciones de red.","Auditorías periódicas garantizan la seguridad de los datos."]},{"title":"Cookies y Seguimiento","items":["Las cookies esenciales son necesarias para el funcionamiento del Servicio.","Se utilizan cookies de terceros para la ubicación y las notificaciones push.","Los usuarios pueden gestionar las preferencias de cookies a través del navegador o la configuración del Servicio."]},{"title":"Transferencias Internacionales","items":["Algunos datos pueden procesarse fuera del EEE (por ejemplo, servidores de Firebase).","Las transferencias cumplen con el RGPD utilizando cláusulas contractuales tipo u otros mecanismos."]},{"title":"Cambios en el Aviso de Privacidad","items":["DailyReport puede actualizar el Aviso de Privacidad por razones legales u operativas.","Los usuarios serán notificados a través del Servicio o por correo electrónico."]},{"title":"Información de Contacto","items":["Para preguntas o solicitudes sobre el RGPD, contacte con el DPO de DailyReport.","Correo electrónico: dpo@dailyreport.co","Dirección: TBD."]}]};var Licenses=Licenses||{};Licenses.FR={"EULA":[{"title":"Date d'entrée en vigueur et juridiction","items":["Date d'entrée en vigueur : 1er janvier 2026","Juridiction : France"]},{"title":"Concession de licence","items":["DailyReport accorde à l'utilisateur une licence limitée pour accéder au Service.","La licence est non exclusive.","La licence est non transférable.","Le Service doit être utilisé uniquement pour les opérations commerciales de l'entreprise."]},{"title":"Restrictions","items":["Les utilisateurs ne peuvent pas copier le Service.","Les utilisateurs ne peuvent pas modifier le Service.","Les utilisateurs ne peuvent pas distribuer le Service.","Les utilisateurs ne peuvent pas rétroconcevoir le Service.","Les utilisateurs ne peuvent pas contourner les restrictions de sécurité ou d'accès.","Les utilisateurs ne peuvent pas utiliser le Service à des fins commerciales non autorisées."]},{"title":"Propriété","items":["Tous les droits sur le Service restent la propriété de DailyReport.","Toute propriété intellectuelle associée au Service reste la propriété de DailyReport."]},{"title":"Utilisation des données","items":["Le Service collecte les données nécessaires pour faire fonctionner les fonctionnalités principales.","Les données de localisation sont collectées pour le suivi du temps de travail.","Les utilisateurs consentent à cette collecte de données en utilisant le Service."]},{"title":"Mises à jour","items":["DailyReport peut fournir des mises à jour ou de nouvelles fonctionnalités.","Toutes les mises à jour sont soumises à cet EULA."]},{"title":"Résiliation","items":["La licence est automatiquement résiliée si l'utilisateur viole l'EULA ou les TOS.","À la résiliation, les utilisateurs doivent cesser toute utilisation du Service."]},{"title":"Clause de non-responsabilité","items":["Le Service est fourni 'tel quel'.","DailyReport décline toute garantie.","DailyReport décline toute responsabilité en cas d'interruptions ou d'erreurs du Service."]},{"title":"Limitation de responsabilité","items":["DailyReport n'est pas responsable des dommages découlant de l'utilisation ou de l'incapacité à utiliser le Service.","Cela inclut la perte de données ou de profits."]},{"title":"Droit applicable","items":["Cet EULA est régi par les lois françaises.","Les réglementations européennes et EMEA applicables s'appliquent."]}],"TOS":[{"title":"Date d'entrée en vigueur et juridiction","items":["Date d'entrée en vigueur : 1er janvier 2026","Juridiction : France"]},{"title":"Acceptation des conditions","items":["En accédant à DailyReport, vous acceptez les conditions générales (TOS).","Si vous n'acceptez pas, vous ne devez pas utiliser le Service."]},{"title":"Éligibilité","items":["Le Service est destiné aux employés des entreprises ayant un accord valide avec DailyReport.","Les utilisateurs doivent avoir au moins 18 ans ou l'âge légal dans leur pays."]},{"title":"Inscription au compte","items":["Les comptes sont fournis via l'employeur.","Les utilisateurs doivent fournir des informations exactes lors de l'inscription.","Les utilisateurs sont responsables de la sécurité de leurs identifiants.","Les utilisateurs sont responsables de toute activité sous leur compte."]},{"title":"Utilisation commerciale","items":["Le Service est destiné uniquement à des fins professionnelles.","L'utilisation commerciale non autorisée ou la revente est interdite."]},{"title":"Conduite des utilisateurs","items":["Les utilisateurs doivent respecter les lois applicables.","Les utilisateurs ne doivent pas harceler, abuser ou nuire à autrui.","Les utilisateurs ne doivent pas interférer avec le Service.","Les utilisateurs ne doivent pas accéder à des données ou comptes non autorisés."]},{"title":"Collecte de données et confidentialité","items":["Des informations essentielles sont collectées pour fournir les fonctionnalités de la plateforme.","Les données de localisation peuvent être collectées pour vérifier la présence.","Des cookies sont utilisés, y compris des cookies tiers (Google Maps, Firebase).","Les données ne sont pas partagées avec des tiers sauf si nécessaire pour fournir le Service."]},{"title":"Propriété intellectuelle","items":["Tout le contenu et logiciel sont la propriété de DailyReport ou de ses concédants.","Les utilisateurs reçoivent une licence limitée pour accéder et utiliser le Service à des fins autorisées."]},{"title":"Services tiers","items":["Le Service peut intégrer des services tiers (par exemple Google Maps).","L'utilisation des services tiers est soumise à leurs propres conditions et politiques."]},{"title":"Clauses de non-responsabilité et limitation de responsabilité","items":["Le Service est fourni 'tel quel' sans garanties.","DailyReport n'est pas responsable des dommages indirects, accessoires ou consécutifs."]},{"title":"Résiliation","items":["Les comptes peuvent être suspendus ou résiliés pour violation des TOS ou mauvaise utilisation."]},{"title":"Droit applicable","items":["Les TOS sont régis par la loi française.","Les litiges sont résolus devant les tribunaux compétents en France."]},{"title":"Modifications des conditions","items":["DailyReport peut mettre à jour les TOS.","Les utilisateurs seront notifiés via le Service ou par email."]}],"GDPR":[{"title":"Date d'entrée en vigueur et juridiction","items":["Date d'entrée en vigueur : 1er janvier 2026","Juridiction : France"]},{"title":"Responsable du traitement","items":["DailyReport est le responsable du traitement des données personnelles collectées via le Service.","Contact : [Insérer adresse et email de l'entreprise]."]},{"title":"Types de données personnelles collectées","items":["Données de compte : nom, email, poste, département, identifiants.","Données d'utilisation : activités sur le Service (suivi du temps, plannings, formulaires, chat, appels).","Données de localisation : géolocalisation pour le suivi du temps de travail.","Cookies : cookies internes et tiers (Google Maps, Firebase).","Données de communication : métadonnées chat, voix et vidéo."]},{"title":"Finalité et base juridique","items":["Fonctionnement du Service : exécution d'un contrat.","Suivi du temps / vérification de localisation : intérêt légitime de l'employeur.","Fonctionnalités de communication : exécution d'un contrat.","Cookies/analytics : consentement pour cookies optionnels.","Conformité légale : obligation légale."]},{"title":"Partage des données et tiers","items":["Les données ne sont pas vendues ni partagées à des fins marketing.","Les services tiers peuvent traiter des données limitées (Google Maps, Firebase).","Les données peuvent être divulguées si la loi l'exige ou pour protéger des droits légaux."]},{"title":"Conservation des données","items":["Les données personnelles sont conservées uniquement aussi longtemps que nécessaire.","Les données de localisation et suivi du temps sont conservées selon la politique de l'entreprise ou la loi."]},{"title":"Droits des utilisateurs","items":["Accès : demander l'accès à vos données.","Rectification : corriger les données inexactes ou incomplètes.","Suppression : demander la suppression des données lorsque légalement possible.","Restriction : limiter le traitement dans certains cas.","Portabilité : recevoir vos données dans un format structuré et lisible par machine.","Opposition : s'opposer au traitement basé sur intérêts légitimes ou marketing.","Retrait du consentement : retirer le consentement pour traitements optionnels."]},{"title":"Mesures de sécurité","items":["L'accès aux données personnelles est limité au personnel autorisé.","Mesures techniques : chiffrement, authentification sécurisée et protections réseau.","Des audits réguliers garantissent la sécurité des données."]},{"title":"Cookies et suivi","items":["Les cookies essentiels sont requis pour le fonctionnement du Service.","Les cookies tiers sont utilisés pour la localisation et les notifications push.","Les utilisateurs peuvent gérer leurs préférences via le navigateur ou les paramètres du Service."]},{"title":"Transferts internationaux","items":["Certaines données peuvent être traitées en dehors de l'EEE (par ex. serveurs Firebase).","Les transferts sont conformes au RGPD via des clauses contractuelles types ou autres mécanismes."]},{"title":"Modifications de la politique de confidentialité","items":["DailyReport peut mettre à jour la politique de confidentialité pour des raisons légales ou opérationnelles.","Les utilisateurs seront notifiés via le Service ou par email."]},{"title":"Coordonnées","items":["Pour toute question ou demande RGPD, contactez le DPO de DailyReport.","Email : dpo@dailyreport.co","Adresse : TBD."]}]} var Licenses=Licenses||{};Licenses.HE={"הסכם רישיון למשתמש קצה":[{"title":"תאריך תחולה וסמכות שיפוט","items":["תאריך תחולה: 1 בינואר 2026","סמכות שיפוט: ישראל"]},{"title":"מתן רישיון","items":["DailyReport מעניקה למשתמש רישיון מוגבל לגישה לשירות.","הרישיון אינו בלעדי.","הרישיון אינו ניתן להעברה.","השירות מיועד לשימוש אך ורק בפעילות העסקית של החברה."]},{"title":"מגבלות","items":["אין להעתיק את השירות.","אין לשנות את השירות.","אין להפיץ את השירות.","אין לבצע הנדסה הפוכה על השירות.","אין לעקוף אמצעי אבטחה או הגבלות גישה.","אין להשתמש בשירות למטרות מסחריות לא מורשות."]},{"title":"קניין רוחני","items":["כל הזכויות בשירות נשארות בידי DailyReport.","כל הקניין הרוחני הקשור לשירות נשאר בידי DailyReport."]},{"title":"שימוש בנתונים","items":["השירות אוסף נתונים חיוניים לתפקוד הפיצ'רים המרכזיים.","נתוני מיקום נאספים לצורך מעקב זמן עבודה.","השימוש בשירות מהווה הסכמה לאיסוף נתונים זה."]},{"title":"עדכונים","items":["DailyReport עשויה לספק עדכונים או תכונות חדשות.","כל העדכונים כפופים להסכם זה."]},{"title":"סיום ההסכם","items":["הרישיון מסתיים אוטומטית במקרה של הפרת ההסכם או תנאי השירות.","לאחר הסיום, המשתמשים חייבים להפסיק את השימוש בשירות."]},{"title":"כתב ויתור על אחריות","items":["השירות מסופק 'כמו שהוא'.","DailyReport מפחיתה כל אחריות.","DailyReport אינה אחראית להפסקות שירות או טעויות."]},{"title":"הגבלת אחריות","items":["DailyReport אינה אחראית לנזקים כתוצאה משימוש או אי-יכולת שימוש בשירות.","כולל אובדן נתונים או רווחים."]},{"title":"דין החל","items":["הסכם זה כפוף לחוקי ישראל.","תקנות אירופיות ואזוריות (EMEA) חלות על ההסכם."]}],"תנאי שירות":[{"title":"תאריך תחולה וסמכות שיפוט","items":["תאריך תחולה: 1 בינואר 2026","סמכות שיפוט: ישראל"]},{"title":"קבלת תנאים","items":["על ידי גישה ל-DailyReport, אתה מסכים לתנאי השירות (TOS).","אם אינך מסכים, אין להשתמש בשירות."]},{"title":"זכאות","items":["השירות מיועד לעובדים של חברות עם הסכם תקף עם DailyReport.","המשתמשים חייבים להיות בני 18 לפחות או הגיל החוקי במדינתם."]},{"title":"רישום חשבון","items":["החשבון מסופק על ידי המעסיק.","המשתמשים חייבים לספק מידע נכון בעת הרישום.","המשתמשים אחראים על שמירת סיסמאותיהם.","המשתמשים אחראים לכל פעילות בחשבונם."]},{"title":"שימוש עסקי","items":["השירות מיועד לשימוש עסקי בלבד.","שימוש מסחרי לא מורשה או מכירה מחדש אסורים."]},{"title":"התנהגות המשתמשים","items":["המשתמשים חייבים לציית לחוקים החלים.","אין להטריד, לפגוע או להרע לאחרים.","אין להפריע או לשבש את השירות.","אין לגשת לנתונים או חשבונות ללא הרשאה."]},{"title":"איסוף נתונים ופרטיות","items":["נאספות רק הנתונים החיוניים להפעלת הפלטפורמה.","נתוני מיקום עשויים להיאסף לאימות נוכחות.","נעשה שימוש בעוגיות, כולל עוגיות צד שלישי (Google Maps, Firebase).","הנתונים אינם משותפים עם צדדים שלישיים אלא לפי הצורך."]},{"title":"קניין רוחני","items":["כל התוכן והתוכנה בבעלות DailyReport או נותני הרישיון שלה.","למשתמשים ניתנת רישיון מוגבל לשימוש בשירות למטרות מורשות."]},{"title":"שירותי צד שלישי","items":["השירות עשוי לשלב שירותי צד שלישי (למשל Google Maps).","שימוש בשירותים אלו כפוף לתנאים והמדיניות שלהם."]},{"title":"כתב ויתור והגבלת אחריות","items":["השירות מסופק 'כמו שהוא' ללא אחריות.","DailyReport אינה אחראית לנזקים עקיפים, תוצאיים או משניים."]},{"title":"סיום ההסכם","items":["חשבונות עשויים להיות מושעים או מבוטלים במקרה של הפרת תנאי השירות או שימוש לרעה."]},{"title":"דין החל","items":["תנאי השירות כפופים לחוקי ישראל.","סכסוכים יוכרעו בבתי המשפט המוסמכים בישראל."]},{"title":"שינויים בתנאים","items":["DailyReport רשאית לעדכן את תנאי השירות.","המשתמשים יודיעו על כך באמצעות השירות או במייל."]}],"GDPR":[{"title":"תאריך תחולה וסמכות שיפוט","items":["תאריך תחולה: 1 בינואר 2026","סמכות שיפוט: ישראל"]},{"title":"אחראי עיבוד הנתונים","items":["DailyReport הוא אחראי עיבוד הנתונים האישיים שנאספו דרך השירות.","פרטי קשר: [הכנס כתובת ודואר אלקטרוני של החברה]."]},{"title":"סוגי הנתונים האישיים הנאספים","items":["נתוני חשבון: שם, דואר אלקטרוני, תפקיד, מחלקה, סיסמאות.","נתוני שימוש: פעילות בשירות (מעקב זמן, משמרות, טפסים, צ'אט, שיחות).","נתוני מיקום: גיאולוקציה לצורך מעקב זמן עבודה.","עוגיות: עוגיות פנימיות וצד שלישי (Google Maps, Firebase).","נתוני תקשורת: מטא-נתונים של צ'אט, קול ווידאו."]},{"title":"מטרת עיבוד ובסיס חוקי","items":["תפעול השירות: ביצוע חוזה.","מעקב זמן/אימות מיקום: עניין לגיטימי של המעסיק.","פיצ'רים תקשורתיים: ביצוע חוזה.","עוגיות וניתוח: הסכמה לעוגיות אופציונליות.","ציות לחוק: חובה חוקית."]},{"title":"שיתוף נתונים וצדדים שלישיים","items":["הנתונים אינם נמכרים או משותפים למטרות שיווק.","שירותי צד שלישי עשויים לעבד נתונים מוגבלים (Google Maps, Firebase).","נתונים עשויים להיות נחשפים אם החוק מחייב או להגנת זכויות משפטיות."]},{"title":"שימור הנתונים","items":["נתונים אישיים נשמרים רק כל עוד נדרש.","נתוני מיקום ומעקב זמן נשמרים לפי מדיניות החברה או דרישה חוקית."]},{"title":"זכויות המשתמשים","items":["גישה: בקשה לגישה לנתוניך.","תיקון: לתקן נתונים לא מדויקים או לא שלמים.","מחיקה: בקשה למחיקת נתונים במידה שהחוק מאפשר.","הגבלה: להגביל עיבוד במקרים מסוימים.","ניידות: לקבל את הנתונים בפורמט קריא למכונה.","התנגדות: להתנגד לעיבוד על בסיס אינטרס לגיטימי או שיווק.","משיכת הסכמה: למשוך הסכמה לעיבודים אופציונליים."]},{"title":"אמצעי אבטחה","items":["גישה לנתונים מוגבלת לעובדים מורשים.","אמצעים טכניים: הצפנה, אימות מאובטח והגנות רשת.","ביצוע בדיקות תקופתיות לאבטחת הנתונים."]},{"title":"עוגיות ומעקב","items":["עוגיות חיוניות נדרשות להפעלת השירות.","עוגיות צד שלישי משמשות למיקום והודעות push.","משתמשים יכולים לנהל העדפות דרך הדפדפן או הגדרות השירות."]},{"title":"העברות בינלאומיות","items":["חלק מהנתונים עשויים להיות מעובדים מחוץ לאזור הכלכלי האירופי (למשל שרתי Firebase).","העברות מתבצעות בהתאם ל-GDPR באמצעות סעיפי חוזה סטנדרטיים או מנגנונים אחרים."]},{"title":"שינויים במדיניות הפרטיות","items":["DailyReport רשאית לעדכן את מדיניות הפרטיות מסיבות חוקיות או תפעוליות.","המשתמשים יודיעו על כך באמצעות השירות או במייל."]},{"title":"פרטי קשר","items":["לכל שאלה או בקשה בנושא GDPR, פנה ל-DPO של DailyReport.","dpo@dailyreport.co","כתובת: -."]}]} var Licenses=Licenses||{};Licenses.IT={"Contratto di Licenza con l'Utente Finale":[{"title":"Data di Decorrenza e Giurisdizione","items":["Data di Decorrenza: 1 Gennaio 2026","Giurisdizione: Francia"]},{"title":"Concessione della Licenza","items":["DailyReport concede all'utente una licenza limitata per accedere al Servizio.","La licenza non è esclusiva.","La licenza non è trasferibile.","Il Servizio deve essere utilizzato esclusivamente per le operazioni aziendali della società."]},{"title":"Restrizioni","items":["Gli utenti non possono copiare il Servizio.","Gli utenti non possono modificare il Servizio.","Gli utenti non possono distribuire il Servizio.","Gli utenti non possono decodificare (reverse engineer) il Servizio.","Gli utenti non possono eludere la sicurezza o le restrizioni di accesso.","Gli utenti non possono utilizzare il Servizio per scopi commerciali non autorizzati."]},{"title":"Proprietà","items":["Tutti i diritti sul Servizio rimangono di DailyReport.","Tutta la proprietà intellettuale associata al Servizio rimane di DailyReport."]},{"title":"Utilizzo dei Dati","items":["Il Servizio raccoglie i dati necessari per gestire le funzionalità principali.","I dati sulla posizione vengono raccolti per scopi di monitoraggio del tempo.","Utilizzando il Servizio, gli utenti acconsentono a questa raccolta dati."]},{"title":"Aggiornamenti","items":["DailyReport può fornire aggiornamenti o nuove funzionalità.","Tutti gli aggiornamenti sono soggetti al presente EULA."]},{"title":"Risoluzione","items":["La licenza termina automaticamente se l'utente viola l'EULA o i TOS.","In caso di risoluzione, gli utenti devono cessare ogni utilizzo del Servizio."]},{"title":"Esclusione di Garanzie","items":["Il Servizio viene fornito 'così com'è'.","DailyReport declina ogni garanzia.","DailyReport declina ogni responsabilità per interruzioni del servizio o errori."]},{"title":"Limitazione di Responsabilità","items":["DailyReport non è responsabile per danni derivanti dall'uso o dall'impossibilità di usare il Servizio.","Ciò include la perdita di dati o profitti."]},{"title":"Legge Applicabile","items":["Il presente EULA è regolato dalle leggi della Francia.","Si applicano le normative europee ed EMEA vigenti."]}],"Termini di Servizio":[{"title":"Data di Decorrenza e Giurisdizione","items":["Data di Decorrenza: 1 Gennaio 2026","Giurisdizione: Francia"]},{"title":"Accettazione dei Termini","items":["Accedendo a DailyReport, l'utente accetta i TOS.","Se non si accettano i termini, non è possibile utilizzare il Servizio."]},{"title":"Idoneità","items":["Il Servizio è destinato ai dipendenti di aziende con un accordo DailyReport valido.","Gli utenti devono avere almeno 18 anni o l'età legale nel proprio paese."]},{"title":"Registrazione dell'Account","items":["Gli account vengono forniti tramite il datore di lavoro.","Gli utenti devono fornire informazioni di registrazione accurate.","Gli utenti sono responsabili della salvaguardia delle proprie credenziali di accesso.","Gli utenti sono responsabili di tutte le attività svolte con il proprio account."]},{"title":"Uso Aziendale","items":["Il Servizio è solo per scopi aziendali.","L'uso commerciale non autorizzato o la rivendita sono vietati."]},{"title":"Condotta dell'Utente","items":["Gli utenti devono rispettare le leggi applicabili.","Gli utenti non devono molestare, abusare o danneggiare gli altri.","Gli utenti non devono interferire con il Servizio o interromperlo.","Gli utenti non devono accedere a dati o account non autorizzati."]},{"title":"Raccolta Dati e Privacy","items":["Vengono raccolte informazioni critiche sull'utente per fornire le funzionalità della piattaforma.","I dati sulla posizione possono essere raccolti per verificare le presenze.","Vengono utilizzati cookie, inclusi cookie di terze parti (Google Maps, Firebase).","I dati non vengono condivisi con terze parti, se non necessario per fornire il Servizio."]},{"title":"Proprietà Intellettuale","items":["Tutti i contenuti e il software sono di proprietà di DailyReport o dei suoi licenziatari.","Agli utenti viene concessa una licenza limitata per accedere e utilizzare il Servizio per gli scopi consentiti."]},{"title":"Servizi di Terze Parti","items":["Il Servizio può integrare servizi di terze parti (es. Google Maps).","L'uso di servizi di terze parti è soggetto ai loro termini e politiche."]},{"title":"Esclusioni e Limitazioni di Responsabilità","items":["Il Servizio è fornito 'così com'è' senza garanzie.","DailyReport non è responsabile per danni indiretti, incidentali o consequenziali."]},{"title":"Risoluzione","items":["Gli account possono essere sospesi o chiusi per violazioni dei TOS o uso improprio."]},{"title":"Legge Applicabile","items":["I TOS sono regolati dalla legge francese.","Le controversie sono risolte nei tribunali competenti della Francia."]},{"title":"Modifiche ai Termini","items":["DailyReport può aggiornare i TOS di volta in volta.","Gli utenti saranno informati tramite il Servizio o via email."]}],"GDPR":[{"title":"Data di Decorrenza e Giurisdizione","items":["Data di Decorrenza: 1 Gennaio 2026","Giurisdizione: Francia"]},{"title":"Titolare del Trattamento","items":["DailyReport è il titolare del trattamento dei dati personali raccolti tramite il Servizio.","Contatto: [Inserire Indirizzo Aziendale ed Email]."]},{"title":"Tipi di Dati Personali Raccolti","items":["Dati dell'account: Nome, email, qualifica, dipartimento, credenziali di accesso.","Dati di utilizzo: Attività all'interno del Servizio (tracciamento tempi, turni, moduli, chat, chiamate).","Dati sulla posizione: Geolocalizzazione per il monitoraggio del tempo dei dipendenti.","Cookie: Cookie di prima parte e di terze parti (Google Maps, Firebase).","Dati di comunicazione: Metadati di chat, voce e video."]},{"title":"Finalità e Base Giuridica","items":["Gestione del servizio: Esecuzione di un contratto.","Monitoraggio tempi/verifica posizione: Legittimo interesse del datore di lavoro.","Funzionalità di comunicazione: Esecuzione di un contratto.","Cookie/analisi: Consenso dell'utente per i cookie facoltativi.","Conformità alla legge: Obbligo legale."]},{"title":"Condivisione dei Dati e Terze Parti","items":["I dati non vengono venduti o condivisi per scopi di marketing.","I servizi di terze parti possono trattare dati limitati (Google Maps, Firebase).","I dati possono essere divulgati se richiesto dalla legge o per proteggere diritti legali."]},{"title":"Conservazione dei Dati","items":["I dati personali sono conservati solo per il tempo necessario.","La conservazione dei dati di posizione e tracciamento segue la politica aziendale o i requisiti legali."]},{"title":"Diritti dell'Utente","items":["Accesso: Gli utenti possono richiedere l'accesso ai propri dati.","Rettifica: Gli utenti possono correggere dati inesatti o incompleti.","Cancellazione: Gli utenti possono richiedere la cancellazione ove legalmente possibile.","Limitazione: Gli utenti possono limitare il trattamento in determinati casi.","Portabilità: Gli utenti possono ricevere i propri dati in formato leggibile da dispositivo automatico.","Opposizione: Gli utenti possono opporsi al trattamento basato su interessi legittimi o marketing.","Revoca del consenso: Gli utenti possono revocare il consenso per trattamenti facoltativi."]},{"title":"Misure di Sicurezza","items":["L'accesso ai dati personali è limitato al personale autorizzato.","Le misure tecniche includono crittografia, autenticazione sicura e protezioni di rete.","Audit regolari garantiscono la sicurezza dei dati."]},{"title":"Cookie e Tracciamento","items":["I cookie essenziali sono necessari per la funzionalità del Servizio.","I cookie di terze parti sono utilizzati per la posizione e le notifiche push.","Gli utenti possono gestire le preferenze sui cookie tramite il browser o le impostazioni del Servizio."]},{"title":"Trasferimenti Internazionali","items":["Alcuni dati possono essere elaborati al di fuori del SEE (es. server Firebase).","I trasferimenti sono conformi al GDPR mediante clausole contrattuali standard o altri meccanismi."]},{"title":"Modifiche all'Informativa sulla Privacy","items":["DailyReport può aggiornare l'Informativa sulla Privacy per motivi legali o operativi.","Gli utenti saranno informati tramite il Servizio o via email."]},{"title":"Informazioni di Contatto","items":["Per domande o richieste relative al GDPR, contattare il DPO di DailyReport.","Email: dpo@dailyreport.co","Indirizzo: TBD."]}]};var Globals={WebsiteTitle:"DailyReport",ServiceBasePath:"/api/v1.0",ServiceAdminBasePath:"/api/v1.0/admin",iconsPath:"/assets/images/icons/",weatherIconsPath:"/assets/images/weather/",} Globals.Colors={PrimaryBrandColorBlue:"#2f95f5",} Globals.ServicesURL={getLocationsURL:Globals.ServiceBasePath+"/kiosk/getlocations.php",getLocationEmployeesURL:Globals.ServiceBasePath+"/kiosk/getlocationemployees.php",getKioskListURL:Globals.ServiceBasePath+"/kiosk/management/getkiosklist.php",getKioskDataURL:Globals.ServiceBasePath+"/kiosk/management/getkioskdata.php",saveKioskDataURL:Globals.ServiceBasePath+"/kiosk/management/savekioskdata.php",deleteKioskURL:Globals.ServiceBasePath+"/kiosk/management/deletekiosk.php",getKioskAccessPremissionsURL:Globals.ServiceBasePath+"/kiosk/management/getaccesspermissions.php",updateKioskAccessPremissionsURL:Globals.ServiceBasePath+"/kiosk/management/updateaccesspermissions.php",getKioskCustomerSurveyResultsURL:Globals.ServiceBasePath+"/kiosk/customersurvey/getsurveyresults.php",loginURL:Globals.ServiceBasePath+"/auth/login.php",registerUserURL:Globals.ServiceBasePath+"/auth/register.php",validateSessionURL:Globals.ServiceBasePath+"/auth/validate.php",logoutURL:Globals.ServiceBasePath+"/auth/logout.php",resetPasswordURL:Globals.ServiceBasePath+"/auth/resetpassword.php",updateFCMTokenURL:Globals.ServiceBasePath+"/auth/updatefcmtoken.php",updatePasswordURL:Globals.ServiceBasePath+"/auth/updatepassword.php",updatePasscodeURL:Globals.ServiceBasePath+"/auth/updatepasscode.php",getShareDialogGetUsersURL:Globals.ServiceBasePath+"/share/getusers.php",getShareDialogGetDepartmentsURL:Globals.ServiceBasePath+"/share/getdepartments.php",getShareDialogGetTeamsURL:Globals.ServiceBasePath+"/share/getteams.php",updateProfilePictureURL:Globals.ServiceBasePath+"/profile/uploadprofilepicture.php",updateProfileURL:Globals.ServiceBasePath+"/profile/updateprofile.php",getNotificationUpdatesURL:Globals.ServiceBasePath+"/notifications/getnotificationupdates.php",getNotificationsURL:Globals.ServiceBasePath+"/notifications/getnotifications.php",clearNotificationsURL:Globals.ServiceBasePath+"/notifications/clearnotifications.php",enableNotificationAlertsURL:Globals.ServiceBasePath+"/notifications/enablenotificationalerts.php",getNewsArticleURL:Globals.ServiceBasePath+"/news/getarticle.php",getNewsArticlesURL:Globals.ServiceBasePath+"/news/getarticles.php",getNewsArticleListURL:Globals.ServiceBasePath+"/news/getarticlelist.php",saveNewsArticleURL:Globals.ServiceBasePath+"/news/savearticle.php",duplicateNewsArticleURL:Globals.ServiceBasePath+"/news/duplicatearticle.php",publishNewsArticleURL:Globals.ServiceBasePath+"/news/publisharticle.php",deleteNewsArticleURL:Globals.ServiceBasePath+"/news/deletearticle.php",getUserTasksURL:Globals.ServiceBasePath+"/tasks/getusertasks.php",getUserCreatedTasksURL:Globals.ServiceBasePath+"/tasks/getusercreatedtasks.php",getTaskURL:Globals.ServiceBasePath+"/tasks/gettask.php",updateTaskStatusURL:Globals.ServiceBasePath+"/tasks/updatetaskstatus.php",createFormURL:Globals.ServiceBasePath+"/forms/createform.php",saveFormURL:Globals.ServiceBasePath+"/forms/saveform.php",saveAndSubmitFormURL:Globals.ServiceBasePath+"/forms/saveandsubmitform.php",getFormURL:Globals.ServiceBasePath+"/forms/getform.php",deleteFormURL:Globals.ServiceBasePath+"/forms/deleteform.php",getFormTemplateURL:Globals.ServiceBasePath+"/forms/getformtemplate.php",getUserFormsURL:Globals.ServiceBasePath+"/forms/getuserforms.php",getSharedFormsURL:Globals.ServiceBasePath+"/forms/getsharedforms.php",getAssignedToMeFormsURL:Globals.ServiceBasePath+"/forms/getassignedtomeforms.php",getFormTemplatesURL:Globals.ServiceBasePath+"/forms/getformtemplates.php",getAllFormTemplatesURL:Globals.ServiceBasePath+"/forms/getallformtemplates.php",createFormTemplateURL:Globals.ServiceBasePath+"/forms/createformtemplate.php",saveFormTemplateURL:Globals.ServiceBasePath+"/forms/saveformtemplate.php",updateFormStatusURL:Globals.ServiceBasePath+"/forms/updateformstatus.php",deleteFormTemplateURL:Globals.ServiceBasePath+"/forms/deleteformtemplate.php",publishFormURL:Globals.ServiceBasePath+"/forms/publishform.php",getFormTemplateAccessListURL:Globals.ServiceBasePath+"/forms/getformtemplateaccesslist.php",updateFormTemplateAccessListURL:Globals.ServiceBasePath+"/forms/updateformtemplateaccesslist.php",getFormAccessListURL:Globals.ServiceBasePath+"/forms/getformaccesslist.php",updateFormAccessListURL:Globals.ServiceBasePath+"/forms/updateformaccesslist.php",updateFormTemplateStarsURL:Globals.ServiceBasePath+"/forms/updateformtemplatestars.php",updateFormTemplateBookmarksURL:Globals.ServiceBasePath+"/forms/updateformtemplatebookmarks.php",saveFormSubmissionURL:Globals.ServiceBasePath+"/forms/saveformsubmission.php",getFormWithSubmissionURL:Globals.ServiceBasePath+"/forms/getformwithsubmission.php",submitFormURL:Globals.ServiceBasePath+"/forms/submitform.php",getFormSubmissionURL:Globals.ServiceBasePath+"/forms/getformsubmission.php",getFormSubmissionsURL:Globals.ServiceBasePath+"/forms/getformsubmissions.php",getOpenAssignedToMeFormsURL:Globals.ServiceBasePath+"/forms/getopenassignedtomeforms.php",getBookmarkedFormTemplatesURL:Globals.ServiceBasePath+"/forms/getbookmarkedformtemplates.php",setAnonymousFormResponsesURL:Globals.ServiceBasePath+"/forms/setanonymousformresponses.php",getTimertrackingViewTabMenuItemsURL:Globals.ServiceBasePath+"/timetracking/gettabmenuitems.php",getEmployeePositionsURL:Globals.ServiceBasePath+"/timetracking/getemployeepositions.php",getActiveShiftURL:Globals.ServiceBasePath+"/timetracking/getactiveshift.php",startShiftURL:Globals.ServiceBasePath+"/timetracking/startshift.php",endShiftURL:Globals.ServiceBasePath+"/timetracking/endshift.php",startBreakURL:Globals.ServiceBasePath+"/timetracking/startbreak.php",endBreakURL:Globals.ServiceBasePath+"/timetracking/endbreak.php",getTimeSheetDataURL:Globals.ServiceBasePath+"/timetracking/gettimesheetdata.php",getUserTimeSheetDataURL:Globals.ServiceBasePath+"/timetracking/getusertimesheetdata.php",getTodaysTimeSheetDataURL:Globals.ServiceBasePath+"/timetracking/gettodaystimesheetdata.php",getShiftDataURL:Globals.ServiceBasePath+"/timetracking/getshiftdata.php",saveShiftDataURL:Globals.ServiceBasePath+"/timetracking/saveshiftdata.php",createShiftURL:Globals.ServiceBasePath+"/timetracking/createshift.php",approveShiftURL:Globals.ServiceBasePath+"/timetracking/approveshift.php",rejectShiftURL:Globals.ServiceBasePath+"/timetracking/rejectshift.php",deleteShiftURL:Globals.ServiceBasePath+"/timetracking/deleteshift.php",getAbsenceRequestsURL:Globals.ServiceBasePath+"/absence/getabsencerequests.php",getAbsenceRequestURL:Globals.ServiceBasePath+"/absence/getabsencerequest.php",getAbsenceRequestTypesURL:Globals.ServiceBasePath+"/absence/getabsencerequesttypes.php",submitAbsenceRequestURL:Globals.ServiceBasePath+"/absence/submitabsencerequest.php",approveAbsenceRequestURL:Globals.ServiceBasePath+"/absence/approveabsencerequest.php",deleteAbsenceRequestURL:Globals.ServiceBasePath+"/absence/deleteabsencerequest.php",getContactsURL:Globals.ServiceBasePath+"/directory/getcontacts.php",getChatUsersURL:Globals.ServiceBasePath+"/chat/getusers.php",createChatGroupURL:Globals.ServiceBasePath+"/chat/creategroup.php",updateChatGroupURL:Globals.ServiceBasePath+"/chat/updategroup.php",createDMChatGroupURL:Globals.ServiceBasePath+"/chat/createdmgroup.php",getChatGroupsURL:Globals.ServiceBasePath+"/chat/getgroups.php",getChatMessagesURL:Globals.ServiceBasePath+"/chat/getmessages.php",sendChatMessageURL:Globals.ServiceBasePath+"/chat/sendmessage.php",deleteChatMessageURL:Globals.ServiceBasePath+"/chat/deletemessage.php",forwardChatMessageURL:Globals.ServiceBasePath+"/chat/forwardmessage.php",getUnreadMessageCountURL:Globals.ServiceBasePath+"/chat/getunreadmessagecount.php",getChatDetailsURL:Globals.ServiceBasePath+"/chat/getdetails.php",getChatGroupMembersURL:Globals.ServiceBasePath+"/chat/getmembers.php",deleteChatGroupURL:Globals.ServiceBasePath+"/chat/deletegroup.php",muteChatNotificationsURL:Globals.ServiceBasePath+"/chat/mutechatgroup.php",addChatMessageReactionURL:Globals.ServiceBasePath+"/chat/addreaction.php",getChatMessageReactionsURL:Globals.ServiceBasePath+"/chat/getreactions.php",getCallLogsURL:Globals.ServiceBasePath+"/call/getcalllogs.php",setupCallURL:Globals.ServiceBasePath+"/call/setupcall.php",acceptCallURL:Globals.ServiceBasePath+"/call/acceptcall.php",rejectCallURL:Globals.ServiceBasePath+"/call/rejectcall.php",endCallURL:Globals.ServiceBasePath+"/call/endcall.php",getCallStatusURL:Globals.ServiceBasePath+"/call/getcallstatus.php",sendCallSignalURL:Globals.ServiceBasePath+"/call/sendsignal.php",getCallSignalURL:Globals.ServiceBasePath+"/call/getsignal.php",createExternalCallInviteURL:Globals.ServiceBasePath+"/call/createexternalinvite.php",sendExternalCallLinkViaEmailURL:Globals.ServiceBasePath+"/call/sendexternallinkviaemail.php",getCalendarEventsURL:Globals.ServiceBasePath+"/calendar/getevents.php",setCalendarVisibilityURL:Globals.ServiceBasePath+"/calendar/setcalendarvisibility.php",setCalendarColorURL:Globals.ServiceBasePath+"/calendar/setcalendarcolor.php",getCalendarDetailsURL:Globals.ServiceBasePath+"/calendar/getcalendardetails.php",getCalendarEventDetailsURL:Globals.ServiceBasePath+"/calendar/geteventdetails.php",saveCalendarEventURL:Globals.ServiceBasePath+"/calendar/saveevent.php",deleteCalendarEventURL:Globals.ServiceBasePath+"/calendar/deleteevent.php",revertCalendarEventURL:Globals.ServiceBasePath+"/calendar/reverteventtoseries.php",updateCalendarInvitationStatusURL:Globals.ServiceBasePath+"/calendar/updateinvitationstatus.php",createCalendarURL:Globals.ServiceBasePath+"/calendar/createcalendar.php",editCalendarURL:Globals.ServiceBasePath+"/calendar/editcalendar.php",deleteCalendarURL:Globals.ServiceBasePath+"/calendar/deletecalendar.php",updateEventCalendarURL:Globals.ServiceBasePath+"/calendar/updateeventcalendar.php",respondToEmailInviteViaCalendarURL:Globals.ServiceBasePath+"/calendar/respondtoemailinvite.php",setCalendarEventReminderURL:Globals.ServiceBasePath+"/calendar/setreminder.php",createMailboxFolderURL:Globals.ServiceBasePath+"/mail/createfolder.php",renameMailboxFolderURL:Globals.ServiceBasePath+"/mail/renamefolder.php",deleteMailboxFolderURL:Globals.ServiceBasePath+"/mail/deletefolder.php",moveMailToFolderURL:Globals.ServiceBasePath+"/mail/movetofolder.php",getUserEmailsURL:Globals.ServiceBasePath+"/mail/getuseremails.php",getEmailURL:Globals.ServiceBasePath+"/mail/getemail.php",setMailAsReadURL:Globals.ServiceBasePath+"/mail/setasread.php",markMailAsSpamURL:Globals.ServiceBasePath+"/mail/markasspam.php",getUserEmailAliasesURL:Globals.ServiceBasePath+"/mail/getemailaliases.php",composeAndSendMailURL:Globals.ServiceBasePath+"/mail/composeandsendmail.php",deleteUserEmailURL:Globals.ServiceBasePath+"/mail/deleteemail.php",restoreUserEmailURL:Globals.ServiceBasePath+"/mail/restoredeletedemail.php",saveMailAttachmentToCloudDriveURL:Globals.ServiceBasePath+"/mail/saveattachment.php",getEmailAutocompleteURL:Globals.ServiceBasePath+"/mail/getemailautocomplete.php",permanentDeleteEmailURL:Globals.ServiceBasePath+"/mail/permanentdeleteemail.php",emptyMailDeletedItemsURL:Globals.ServiceBasePath+"/mail/emptydeleteditems.php",respondToEmailInviteURL:Globals.ServiceBasePath+"/mail/respondtoemailinvite.php",getCloudDriveFileDataURL:Globals.ServiceBasePath+"/clouddrive/getfiledata.php",getCloudDriveFilePreviewURL:Globals.ServiceBasePath+"/clouddrive/getonlineversion.php",createCloudDriveFolderURL:Globals.ServiceBasePath+"/clouddrive/create.php",renameCloudDriveFileURL:Globals.ServiceBasePath+"/clouddrive/rename.php",listCloudDriveFolderURL:Globals.ServiceBasePath+"/clouddrive/list.php",uloadFileToCloudDriveURL:Globals.ServiceBasePath+"/clouddrive/upload.php",copyFileInCloudDriveURL:Globals.ServiceBasePath+"/clouddrive/copy.php",moveFileInCloudDriveURL:Globals.ServiceBasePath+"/clouddrive/move.php",deleteFileInCloudDriveURL:Globals.ServiceBasePath+"/clouddrive/delete.php",getFileStatsURL:Globals.ServiceBasePath+"/clouddrive/getfilestats.php",getFilePremissionsURL:Globals.ServiceBasePath+"/clouddrive/getfilepermissions.php",updateFilePremissionsURL:Globals.ServiceBasePath+"/clouddrive/updatefilepermissions.php",setStarredOnCloudDriveFileURL:Globals.ServiceBasePath+"/clouddrive/setstarred.php",getFeatureAccessListURL:Globals.ServiceBasePath+"/users/getfeatureaccesslist.php",getSettingsAccessListURL:Globals.ServiceBasePath+"/users/getsettingsaccesslist.php",createUserAccountURL:Globals.ServiceBasePath+"/users/createuseraccount.php",updateUserAccountURL:Globals.ServiceBasePath+"/users/updateuseraccount.php",getUserAccountDataURL:Globals.ServiceBasePath+"/users/getuseraccountdata.php",getUsersAccountDataURL:Globals.ServiceBasePath+"/users/getaccountdata.php",blockUserAccountURL:Globals.ServiceBasePath+"/users/blockuseraccount.php",logoutUserAccountURL:Globals.ServiceBasePath+"/users/logoutuseraccount.php",deleteUserAccountURL:Globals.ServiceBasePath+"/users/deleteuseraccount.php",sendEmailInviteURL:Globals.ServiceBasePath+"/mail/sendinvite.php",getAllUserIDsURL:Globals.ServiceBasePath+"/users/getalluserids.php",getUserPositionsURL:Globals.ServiceBasePath+"/users/getuserpositions.php",getUserLocationsURL:Globals.ServiceBasePath+"/users/getuserlocations.php",createTeamURL:Globals.ServiceBasePath+"/groups/createteam.php",createDepartmentURL:Globals.ServiceBasePath+"/groups/createdepartment.php",updateTeamURL:Globals.ServiceBasePath+"/groups/updateteam.php",updateDepartmentURL:Globals.ServiceBasePath+"/groups/updatedepartment.php",getTeamsDataURL:Globals.ServiceBasePath+"/groups/getteams.php",getDepartmentsDataURL:Globals.ServiceBasePath+"/groups/getdepartments.php",getTeamDataURL:Globals.ServiceBasePath+"/groups/getteam.php",getDepartmentDataURL:Globals.ServiceBasePath+"/groups/getdepartment.php",deleteTeamURL:Globals.ServiceBasePath+"/groups/deleteteam.php",deleteDepartmentURL:Globals.ServiceBasePath+"/groups/deletedepartment.php",getTeamMembersURL:Globals.ServiceBasePath+"/groups/getteammembers.php",getDepartmentMembersURL:Globals.ServiceBasePath+"/groups/getdepartmentmembers.php",getTeamAdminsURL:Globals.ServiceBasePath+"/groups/getteamadmins.php",getDepartmentManagersURL:Globals.ServiceBasePath+"/groups/getdepartmentmanagers.php",updateTeamMembersURL:Globals.ServiceBasePath+"/groups/updateteammembers.php",updateDepartmentMembersURL:Globals.ServiceBasePath+"/groups/updatedepartmentmembers.php",updateTeamAdminsURL:Globals.ServiceBasePath+"/groups/updateteamadmins.php",updateDepartmentManagersURL:Globals.ServiceBasePath+"/groups/updatedepartmentmanagers.php",getPositionsDataURL:Globals.ServiceBasePath+"/positions/getpositions.php",getPositionDataURL:Globals.ServiceBasePath+"/positions/getposition.php",savePositionDataURL:Globals.ServiceBasePath+"/positions/saveposition.php",deletePositionDataURL:Globals.ServiceBasePath+"/positions/deleteposition.php",getLocationsDataURL:Globals.ServiceBasePath+"/locations/getlocations.php",getLocationDataURL:Globals.ServiceBasePath+"/locations/getlocation.php",saveLocationDataURL:Globals.ServiceBasePath+"/locations/savelocation.php",deleteLocationDataURL:Globals.ServiceBasePath+"/locations/deletelocation.php",getTimertrackingmanagementViewTabMenuItemsURL:Globals.ServiceBasePath+"/timetracking/getmanagementtabmenuitems.php",getAllTimeSheetDataURL:Globals.ServiceBasePath+"/timetracking/getalltimesheetdata.php",getUnmanagedUserTimeSheetDataURL:Globals.ServiceBasePath+"/timetracking/getunmanagedusertimesheetdata.php",getImageListURL:Globals.ServiceBasePath+"/app/getimagelist.php",getMenuItemsURL:Globals.ServiceBasePath+"/app/getmenuitems.php",getSettingsMenuItemsURL:Globals.ServiceBasePath+"/app/getsettingsmenuitems.php",fetchURLMetaDataURL:Globals.ServiceBasePath+"/services/url/fetchurlmetadata.php",translateURL:Globals.ServiceBasePath+"/services/translate/translate.php",getMapAddressURL:Globals.ServiceBasePath+"/services/maps/getaddress.php",getGeoLocationsURL:Globals.ServiceBasePath+"/services/maps/getlocations.php",getUserPreferencesURL:Globals.ServiceBasePath+"/userpreferences/getuserpreferences.php",saveUserPreferencesURL:Globals.ServiceBasePath+"/userpreferences/saveuserpreferences.php",deleteUserPreferencesURL:Globals.ServiceBasePath+"/userpreferences/deleteuserpreferences.php",getWeatherForecastURL:Globals.ServiceBasePath+"/services/weather/getforecast.php",getServerStatsURL:Globals.ServiceAdminBasePath+"/getserverstats.php",getSiteCookiesURL:Globals.ServiceAdminBasePath+"/getsitecookies.php",getSQLStatsURL:Globals.ServiceAdminBasePath+"/getsqlstats.php",} Globals.applicationDomain="";Globals.cookieDomain="dailyreport.co";Globals.defaultLanguage="EN";Globals.defaultProfilePicture="/uploads/profile_pictures/default.jpg";Globals.iOSDownloadURL="" Globals.androidDownloadURL="https://app.dailyreport.co/udownloads/nativeapps/dailyreport.apk" Globals.MAX_IMAGE_RESIZE=800;Globals.CHAT_MESSAGES_PER_PAGE=50;Globals.DEFAULT_CALENDAR_SCROLL_TO_TIME=8;Globals.APPLICATION_NOTIFICATION_REFRESH_TIMER_INTERVAL=2000;Globals.APPLICATION_NOTIFICATION_BACKGROUND_REFRESH_TIMER_INTERVAL=5000;Globals.CHAT_AUDIO_MAX_DURATION=60000;Globals.CHAT_REFRESH_TIMER_INTERVAL=5000;Globals.CALL_VIEW_INTERVAL_DURATION=500,Globals.KIOSK_MANAGEMENT_VIEW_REFRESH_INTERVAL=10000;Globals.BOOKMARKED_FORMS_WIDGET_REFRESH_INTERVAL=30000;Globals.OPEN_FORMS_WIDGET_REFRESH_INTERVAL=30000;Globals.MAIL_WIDGET_REFRESH_INTERVAL=30000;Globals.CALENDAR_WIDGET_REFRESH_INTERVAL=30000;Globals.NEWS_WIDGET_REFRESH_INTERVAL=30000;Globals.Phone_WIDGET_REFRESH_INTERVAL=10000;Globals.SHIFT_BUTTON_WIDGET_REFRESH_INTERVAL=1000;Globals.WEATHER_WIDGET_REFRESH_INTERVAL=3600000;Globals.TASKS_STATUS_CLOSED=6;Globals.CALL_MAX_TIMEOUT=10;Globals.CALL_MAX_RING_TIMEOUT=30;Globals.CHAT_MAX_SECONDS_FOR_ONLINE_STATUS=10;Globals.KIOSK_MAX_SECONDS_FOR_ONLINE_STATUS=20000;var JS={subClass:function(superClass,object){var newObject={} for(var property in superClass){newObject[property]=superClass[property];} for(var property in object){newObject[property]=object[property];} return newObject;},copy:function(object){var newObject={} for(var property in object){newObject[property]=object[property];} return newObject;}} var JSApp={version:"1.0",name:"JSApp",activeView:null,viewStack:null,applicationContainer:null,viewsContainer:null,_init:function(){this.applicationContainer=document.getElementById('application_container');this.viewsContainer=document.getElementById('views_container');this.viewStack=[];window.onpopstate=function(){this.popView();}.bind(this);this.init();document.addEventListener('visibilitychange',function(){if(document.visibilityState==='hidden'){if(this.activeView!=null&&this.activeView.onApplicationMovedToBackground!=undefined)this.activeView.onApplicationMovedToBackground();this.applicationMovedToBackground();}else if(document.visibilityState==='visible'){if(this.activeView!=null&&this.activeView.onApplicationMovedToForeground!=undefined)this.activeView.onApplicationMovedToForeground();this.applicationMovedToForeground();}}.bind(this));},init:function(){console.log("Todo: Implement the init method for class "+this.name);},start:function(){this._init();},currentActiveView:function(){return this.activeView;},loadView:function(view,data){if(this.activeView!=null){this.activeView.scrollTop=this.viewsContainer.scrollTop;this.viewStack.push(this.activeView);if(this.activeView.stop!=undefined)this.activeView.stop();} this.clearView();this.activeView=view;this.activeView.initData=data;this.activeView._init();var domView=this.activeView.load();this.viewsContainer.appendChild(domView);this.viewsContainer.scrollTop=0;this.activeView.start(data);document.title=this.activeView.title;if(!window.navigator.standalone){var title=this.activeView.name.replace("View","");history.pushState(null,title,"/"+title.toLowerCase());} this.onNewViewLoaded(this.activeView);},getViewFromURL:function(){var url=window.location.pathname;var separatorIndex=url.indexOf('/');var view="";if(separatorIndex>=0){view=url.substring(url.indexOf('/')+1);view=capitalize((view.split("/"))[0]);} var viewName=(view.length>0?view:"Dashboard")+"View";var view=eval(viewName);return view;},getViewDataFromURL:function(){var search=location.search.substring(1);var data=null;if(search.length>0){data=JSON.parse('{"'+decodeURI(search).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}');} return data;},popView:function(){if(this.viewStack.length>0){var view=this.viewStack.pop();this.clearView();this.activeView=view;var data=this.activeView.initData;this.activeView._init();var domView=this.activeView.load();this.viewsContainer.appendChild(domView);this.activeView.start(data);this.viewsContainer.scrollTop=this.activeView.scrollTop;document.title=this.activeView.title;this.onNewViewLoaded(this.activeView);}},clearView:function(){this.viewsContainer.innerHTML="";},clearHistory:function(){this.viewStack=[];},onNewViewLoaded:function(view){},applicationMovedToBackground:function(){console.log("Todo: Implement the applicationMovedToBackground method for class "+this.name);},applicationMovedToForeground:function(){console.log("Todo: Implement the applicationMovedToForeground method for class "+this.name);}} var JSApplication=JS.subClass(JSApp,{name:"JSApplication",init:function(){console.log("Todo: Implement the init function in "+this.name)},onNewViewLoaded:function(view){console.log("Todo: Implement the onNewViewLoaded function in "+this.name)}});var BarChart=function(data,width,height){this.canvas=document.createElement('canvas');this.canvas.className="BarChart";this.canvas.width=width;this.canvas.height=height;this.ctx=this.canvas.getContext("2d");this.data=data;this.padding=10;this.gridScale=5;this.gridColor="#4b4b4b";this.maxValue=0 for(var i=0;i10&&this.maxValue<=20){this.gridScale=2;}else if(this.maxValue>20&&this.maxValue<=50){this.gridScale=5;}else if(this.maxValue>50&&this.maxValue<=100){this.gridScale=10;}else if(this.maxValue>100&&this.maxValue<=500){this.gridScale=50;}else if(this.maxValue>500&&this.maxValue<=1000){this.gridScale=100;}else if(this.maxValue>1000&&this.maxValue<=5000){this.gridScale=500;}else if(this.maxValue>5000&&this.maxValue<=10000){this.gridScale=1000;} this.drawGridLines=function(){var canvasActualHeight=this.canvas.height-this.padding*2;var gridValue=0;while(gridValue<=this.maxValue){var gridY=canvasActualHeight*(1-gridValue/this.maxValue)+this.padding;this.drawLine(this.ctx,25,gridY,this.canvas.width,gridY,this.gridColor);this.drawLine(this.ctx,30,this.padding/2,30,gridY+this.padding/2,this.gridColor);this.ctx.save();this.ctx.fillStyle=this.gridColor;this.ctx.textBaseline="bottom";this.ctx.font=16+"px Arial";this.ctx.fillText(gridValue,0,gridY+7);this.ctx.restore();gridValue+=this.gridScale;}} this.drawLine=function(ctx,startX,startY,endX,endY,color){ctx.save();ctx.strokeStyle=color;ctx.beginPath();ctx.moveTo(startX,startY);ctx.lineTo(endX,endY);ctx.stroke();ctx.restore();} function drawBar(ctx,upperLeftCornerX,upperLeftCornerY,width,height,color){ctx.save();ctx.fillStyle=color;ctx.fillRect(upperLeftCornerX,upperLeftCornerY,width,height);ctx.restore();} this.drawBars=function(){var canvasActualHeight=this.canvas.height-this.padding*2;var canvasActualWidth=this.canvas.width-this.padding*2;var barIndex=0;var numberOfBars=Object.keys(this.data).length;var barSize=(canvasActualWidth-this.padding)/numberOfBars;for(var i=0;iGlobals.CHAT_AUDIO_MAX_DURATION?Globals.CHAT_AUDIO_MAX_DURATION:maxTimeout):Globals.CHAT_AUDIO_MAX_DURATION);this.timeout=null;this.recorder=null;this.mediastream=null;const chunks=[];this.record=function(){navigator.mediaDevices.getUserMedia({audio:true}).then(function(stream){this.mediastream=stream;this.recorder=new MediaRecorder(stream);this.recorder.addEventListener('dataavailable',function(e){this.onDataAvailable(e);}.bind(this));this.recorder.start(10);this.timeout=setTimeout(()=>{this.recorder.stop();if(this.mediastream!=null)this.mediastream.getAudioTracks().forEach(function(track){track.stop();});this.mediastream=null;},this.maxTimeout);}.bind(this));} this.stop=function(){this.recorder.stop();clearTimeout(this.timeout);this.timeout=null;if(this.mediastream!=null)this.mediastream.getAudioTracks().forEach(function(track){track.stop();});this.mediastream=null;} this.onDataAvailable=function(e){chunks.push(e.data);if(this.recorder.state=='inactive'){const blob=new Blob(chunks,{type:(this.recorder.mimeType!=null&&this.recorder.mimeType.length>0?this.recorder.mimeType:(Device.getBrowser()=="Safari"?"audio/mp4; codecs=mp4a.40.2":"audio/webm;codecs=opus"))});this.delegate.onAudioRecorderAudioReady(blob);}}};var ErrorHandler=function(statusCode,errorMessage){this.statusCode=statusCode;this.errorMessage=errorMessage;this.handleError=function(){switch(parseInt(this.statusCode)){case 401:if(Application.onSessionInvalid!=undefined)Application.onSessionInvalid();else console.log("Error: ("+statusCode+") "+errorMessage) break;case 403:Application.loadView(DashboardView,null);break;default:console.log("Error: ("+statusCode+") "+errorMessage)}}} function NetworkRequest(){this.timeout=900000;this.postRequest=function(serviceURL,serviceParameters,successHandler,errorHandler){var xmlHttpReq=false;if(window.XMLHttpRequest){xmlHttpReq=new XMLHttpRequest();} else if(window.ActiveXObject){xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");} xmlHttpReq.open('POST',serviceURL,true);xmlHttpReq.timeout=this.timeout;if(!(serviceParameters instanceof FormData)){xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');} xmlHttpReq.onreadystatechange=function(){if(xmlHttpReq.readyState==4){if(xmlHttpReq.status==200){var response=xmlHttpReq.responseText;try{var responseObject=eval('('+response+')');}catch(error){errorHandler("Error: Could not evaluate json response");} try{if(responseObject.status_code==200)successHandler(responseObject.data);else errorHandler(responseObject.status_code,responseObject.error_message);}catch(error){console.log(error);}}else{errorHandler(xmlHttpReq.status,"Error: Request failed with status "+xmlHttpReq.status);}}};xmlHttpReq.send(serviceParameters);};this.getRequest=function(serviceURL,successHandler,errorHandler){var xmlHttpReq=false;if(window.XMLHttpRequest){xmlHttpReq=new XMLHttpRequest();} else if(window.ActiveXObject){xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");} xmlHttpReq.open('GET',serviceURL,true);xmlHttpReq.timeout=this.timeout;xmlHttpReq.onreadystatechange=function(){if(xmlHttpReq.readyState==4){if(xmlHttpReq.status==200){var response=xmlHttpReq.responseText;try{var responseObject=eval('('+response+')');}catch(error){errorHandler("Error: Could not evaluate json response");} try{if(responseObject.status_code==200)successHandler(responseObject.data);else errorHandler(responseObject.status_code,responseObject.error_message);}catch(error){console.log(error);}}else{errorHandler(xmlHttpReq.status,"Error: Request failed with status "+xmlHttpReq.status);}}};xmlHttpReq.send();};this.getSimpleRequest=function(serviceURL,successHandler,errorHandler){var xmlHttpReq=false;if(window.XMLHttpRequest){xmlHttpReq=new XMLHttpRequest();} else if(window.ActiveXObject){xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");} xmlHttpReq.open('GET',serviceURL,true);xmlHttpReq.timeout=this.timeout;xmlHttpReq.onreadystatechange=function(){if(xmlHttpReq.readyState==4){if(xmlHttpReq.status==200){var response=xmlHttpReq.responseText;successHandler(response);}else{errorHandler(xmlHttpReq.status,"Error: Request failed with status "+xmlHttpReq.status);}}};xmlHttpReq.send();};this.getJSONPRequest=function(serviceURL,parameters,successHandler,errorHandler){var head=document.getElementsByTagName('head')[0];var script=document.createElement('script');script.type='text/javascript';script.id="JPCB_"+Math.random().toString(36).substr(2,10);script.src=serviceURL+"?jsonp_callback=NetworkRequest.jsonpCallbacks."+script.id+"&"+parameters;var callbackName=script.id;NetworkRequest.jsonpCallbacks[callbackName]=function(responseObject){successHandler(responseObject);var head=document.getElementsByTagName('head')[0];head.removeChild(this);}.bind(script);var properites={"id":script.id,"errorHandler":errorHandler};setTimeout(function(){var script=document.getElementById(this.id);if(script!=undefined&&script!=null){var statusCode="400";var errorMessage="JSONP timeout - did not receive response from server";this.errorHandler(statusCode,errorMessage);}}.bind(properites),3000);head.appendChild(script);};};NetworkRequest.jsonpCallbacks={};var AssignedToMeFormTableItem=function(formItem,formStatuses,delegate){this.delegate=delegate;this.formTableItem=document.createElement('div');this.formTableItem.className="FormTableItem";this.formTableItem.classList.add("AssignedToMe");var formIcon=document.createElement('div');formIcon.className=formItem.iconClass;this.formTableItem.appendChild(formIcon);var formName=document.createElement('div');formName.className="FormName";formName.innerHTML=(formItem.nameTitle!=undefined&&formItem.nameTitle!=null?""+formItem.nameTitle+"":(formItem.name!=undefined&&formItem.name!=null?formItem.name:""));this.formTableItem.appendChild(formName);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formName.classList.add("Clickable");formName.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('name');}.bind(this));} var publishedTimeHolder=document.createElement('div');publishedTimeHolder.className="TableItemHolder";this.formTableItem.appendChild(publishedTimeHolder);var publishedTimeTitle=document.createElement('div');publishedTimeTitle.className="TableItemTitle";publishedTimeTitle.innerHTML=s[l].FormsViewFormsTablePublishedTimeTitle+":";publishedTimeHolder.appendChild(publishedTimeTitle);var publishedTimeIcon=document.createElement('div');publishedTimeIcon.className=(formItem.creation_time!=undefined&&formItem.creation_time!=null?"PublishedTimeIcon":"FormNoIcon");publishedTimeHolder.appendChild(publishedTimeIcon);var publishedTime=document.createElement('div');publishedTime.className="Time";publishedTime.classList.add("PublishedTime");publishedTime.innerHTML=(formItem.publishedTimeTitle!=undefined&&formItem.publishedTimeTitle!=null?""+formItem.publishedTimeTitle+"":(formItem.published_time!=undefined&&formItem.published_time!=null?Date.getTimeString(formItem.published_time)+" "+Date.getDateString(formItem.published_time):""));publishedTimeHolder.appendChild(publishedTime);if(formItem.isTitle!=undefined&&formItem.isTitle==true){publishedTime.classList.add("Clickable");publishedTime.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('published_time');}.bind(this));} var completionTimeHolder=document.createElement('div');completionTimeHolder.className="TableItemHolder";this.formTableItem.appendChild(completionTimeHolder);var completionTimeTitle=document.createElement('div');completionTimeTitle.className="TableItemTitle";completionTimeTitle.innerHTML=s[l].FormsViewFormsTableCompletionTimeTitle+":";completionTimeHolder.appendChild(completionTimeTitle);var completionTimeIcon=document.createElement('div');completionTimeIcon.className=(formItem.completion_time!=undefined&&formItem.completion_time!=null?"CompletionTimeIcon":"FormNoIcon");completionTimeHolder.appendChild(completionTimeIcon);var completionTime=document.createElement('div');completionTime.className="Time";completionTime.classList.add("CompletionTime");completionTime.innerHTML=(formItem.completionTimeTitle!=undefined&&formItem.completionTimeTitle!=null?""+formItem.completionTimeTitle+"":(formItem.completion_time!=undefined&&formItem.completion_time!=null?Date.getTimeString(formItem.completion_time)+" "+Date.getDateString(formItem.completion_time):""));completionTimeHolder.appendChild(completionTime);if(formItem.isTitle!=undefined&&formItem.isTitle==true){completionTime.classList.add("Clickable");completionTime.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('completion_time');}.bind(this));} var assignedByHolder=document.createElement('div');assignedByHolder.className="TableItemHolder";this.formTableItem.appendChild(assignedByHolder);var assignedByTitle=document.createElement('div');assignedByTitle.className="TableItemTitle";assignedByTitle.innerHTML=s[l].FormsViewFormsTableAssignedByTitle+":";assignedByHolder.appendChild(assignedByTitle);var assignedByProfilePicture=document.createElement('div');assignedByProfilePicture.className="ProfilePicture";assignedByProfilePicture.style.backgroundImage=(formItem.assigned_by_profile_picture!=undefined&&formItem.assigned_by_profile_picture!=null?"url('"+formItem.assigned_by_profile_picture+"')":"");assignedByHolder.appendChild(assignedByProfilePicture);var assignedBy=document.createElement('div');assignedBy.className="Username";assignedBy.classList.add("AssignedBy");assignedBy.innerHTML=(formItem.assignedToTitle!=undefined&&formItem.assignedByTitle!=null?""+formItem.assignedByTitle+"":(formItem.assigned_by_firstname!=undefined&&formItem.assigned_by_firstname!=null?formItem.assigned_by_firstname:"")+(formItem.assigned_by_lastname!=undefined&&formItem.assigned_by_lastname!=null?" "+formItem.assigned_by_lastname:""));assignedByHolder.appendChild(assignedBy);if(formItem.isTitle!=undefined&&formItem.isTitle==true){assignedBy.classList.add("Clickable");assignedBy.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('assigned_by');}.bind(this));} var statusHolder=document.createElement('div');statusHolder.className="TableItemHolder";this.formTableItem.appendChild(statusHolder);var statusTitle=document.createElement('div');statusTitle.className="TableItemTitle";statusTitle.innerHTML=s[l].FormsViewFormsTableStatusTitle+":";statusHolder.appendChild(statusTitle);if(formItem.status!=undefined&&formItem.status!=null){var statusTitle=document.createElement('div');statusTitle.className="StatusTitle";statusTitle.innerHTML=(s[l].FormsViewFormStatusList[(formStatuses[formItem.status].title).replace(" ","_")]!=undefined?s[l].FormsViewFormStatusList[(formStatuses[formItem.status].title).replace(" ","_")]:formStatuses[formItem.status].title);statusTitle.style.color=formStatuses[formItem.status].text_color;statusTitle.style.backgroundColor=formStatuses[formItem.status].color;statusHolder.appendChild(statusTitle);this.formTableItem.style.backgroundColor=formStatuses[formItem.status].background_color;}else if(formItem.statusTitle!=undefined&&formItem.statusTitle!=null){var status=document.createElement('div');status.className="Status";status.innerHTML=""+formItem.statusTitle+"";this.formTableItem.appendChild(status);if(formItem.isTitle!=undefined&&formItem.isTitle==true){status.classList.add("Clickable");status.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('status');}.bind(this));}} if(s[l].Direction=="rtl")this.formTableItem.classList.add('TableItem_rtl');else this.formTableItem.classList.remove('TableItem_rtl');if(formItem.isTitle==undefined||formItem.isTitle==false){if(formItem.status!=FormStatus.CLOSED){this.formTableItem.addEventListener('click',function(event){if(this.delegate.onFormItemSelected!=undefined)this.delegate.onFormItemSelected(this.data);}.bind({delegate:this.delegate,data:formItem}));}else{this.formTableItem.classList.add("Unclickable");}} return this.formTableItem;} var JSFormItem={title:null,name:"JSFormItem",domItem:null,delegate:null,data:null,id:null,editable:false,locked:false,menuIcon:Globals.iconsPath+"form_menu_grid_button_black.svg",init:function(delegate=null,data=null){this.delegate=delegate;this.data=data;this.id=(data.id!=undefined&&data.id!=null?data.id:Date.now()+"_"+Math.floor(Math.random()*100000));this.domItem=document.createElement('div');this.domItem.className=this.name;if(this.editable==true)this.domItem.draggable="true";this.create(this.domItem,this.data);return this;},create:function(domView,data){console.log("Todo: Implement the create method for class "+this.name);},serialize:function(){console.log("Todo: Implement the serialize method for class "+this.name);return null;},validate:function(){console.log("Todo: Implement the validate method for class "+this.name);return false;},getData:function(){console.log("Todo: Implement the getData method for class "+this.name);return null;},lock:function(){console.log("Todo: Implement the lock method for class "+this.name);}} var FormListTypes={ASSIGNED_TO_ME:0,SHARED_WITH_ME:1,MY_FORMS:2,EMPTY_FORMS:3} var FormStatus={OPEN:1,COMPLETED:2,CLOSED:3,};var FormTemplateTableItem=function(formItem,delegate){this.delegate=delegate;this.formTableItem=document.createElement('div');this.formTableItem.className="FormTableItem";this.formTableItem.classList.add("Templates");var formIcon=document.createElement('div');formIcon.className=formItem.iconClass;this.formTableItem.appendChild(formIcon);var formName=document.createElement('div');formName.className="LongFormName";formName.innerHTML=(formItem.nameTitle!=undefined&&formItem.nameTitle!=null?""+formItem.nameTitle+"":(formItem.name!=undefined&&formItem.name!=null?formItem.name:""));this.formTableItem.appendChild(formName);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formName.classList.add("Clickable");formName.addEventListener('click',function(){this.delegate.reorderTable('status');}.bind(this));} var createdByHolder=document.createElement('div');createdByHolder.className="TableItemHolder";this.formTableItem.appendChild(createdByHolder);var createdByTitle=document.createElement('div');createdByTitle.className="TableItemTitle";createdByTitle.innerHTML=s[l].FormsViewFormsTableCreatorTitle+":";createdByHolder.appendChild(createdByTitle);var creatorProfilePicture=document.createElement('div');creatorProfilePicture.className="ProfilePicture";creatorProfilePicture.style.backgroundImage=(formItem.creator_profile_picture!=undefined&&formItem.creator_profile_picture!=null?"url('"+formItem.creator_profile_picture+"')":"");createdByHolder.appendChild(creatorProfilePicture);var createdBy=document.createElement('div');createdBy.className="Username";createdBy.classList.add("CreatedBy");createdBy.innerHTML=(formItem.creatorTitle!=undefined&&formItem.creatorTitle!=null?""+formItem.creatorTitle+"":(formItem.creator_firstname!=undefined&&formItem.creator_firstname!=null?formItem.creator_firstname:"")+(formItem.creator_lastname!=undefined&&formItem.creator_lastname!=null?" "+formItem.creator_lastname:""));createdByHolder.appendChild(createdBy);if(formItem.isTitle!=undefined&&formItem.isTitle==true){createdBy.classList.add("Clickable");createdBy.addEventListener('click',function(){this.delegate.reorderTable('creator');}.bind(this));} var emptyPlaceHolder=document.createElement('div');emptyPlaceHolder.className="TableItemHolder";this.formTableItem.appendChild(emptyPlaceHolder);var creationTimeHolder=document.createElement('div');creationTimeHolder.className="TableItemHolder";this.formTableItem.appendChild(creationTimeHolder);var creationTimeTitle=document.createElement('div');creationTimeTitle.className="TableItemTitle";creationTimeTitle.innerHTML=s[l].FormsViewFormsTableCreationTimeTitle+":";creationTimeHolder.appendChild(creationTimeTitle);var creationTime=document.createElement('div');creationTime.className="Time";creationTime.classList.add("CreationTime");creationTime.innerHTML=(formItem.creationTimeTitle!=undefined&&formItem.creationTimeTitle!=null?""+formItem.creationTimeTitle+"":(formItem.creation_time!=undefined&&formItem.creation_time!=null?Date.getTimeString(formItem.creation_time)+" "+Date.getDateString(formItem.creation_time):""));creationTimeHolder.appendChild(creationTime);if(formItem.isTitle!=undefined&&formItem.isTitle==true){creationTime.classList.add("Clickable");creationTime.addEventListener('click',function(){this.delegate.reorderTable('creation_time');}.bind(this));} var lastModifiedHolder=document.createElement('div');lastModifiedHolder.className="TableItemHolder";this.formTableItem.appendChild(lastModifiedHolder);var lastModifiedTitle=document.createElement('div');lastModifiedTitle.className="TableItemTitle";lastModifiedTitle.innerHTML=s[l].FormsViewFormsTableLastModifiedTitle+":";lastModifiedHolder.appendChild(lastModifiedTitle);var lastModified=document.createElement('div');lastModified.className="Time";lastModified.classList.add("LastModified");lastModified.innerHTML=(formItem.lastModifiedTitle!=undefined&&formItem.lastModifiedTitle!=null?""+formItem.lastModifiedTitle+"":(formItem.last_modified!=undefined&&formItem.last_modified!=null?Date.getTimeString(formItem.last_modified)+" "+Date.getDateString(formItem.last_modified):""));lastModifiedHolder.appendChild(lastModified);if(formItem.isTitle!=undefined&&formItem.isTitle==true){lastModified.classList.add("Clickable");lastModified.addEventListener('click',function(){this.delegate.reorderTable('last_modified');}.bind(this));} if(s[l].Direction=="rtl")this.formTableItem.classList.add('TableItem_rtl');else this.formTableItem.classList.remove('TableItem_rtl');this.buildTableItemMenu=function(data){var items=[];items.push({title:s[l].FormsViewFormsTemplateTableItemMenu.CreateButtonTitleText,icon:"/assets/images/icons/form_file_black.svg",action:this.delegate.name+".onCreateFormPressed("+data.ftid+")"});items.push({title:s[l].FormsViewFormsTemplateTableItemMenu.DuplicateButtonTitleText,icon:"/assets/images/icons/copy_document_black.svg",action:this.delegate.name+".onDuplicateFormTemplatePressed("+data.ftid+")"});if(parseInt(Application.sessionManager.sessionData.uid)==parseInt(data.creator_uid)){items.push({title:s[l].FormsViewFormsTemplateTableItemMenu.EditButtonTitleText,icon:"/assets/images/icons/edit_black.svg",action:this.delegate.name+".onEditFormTemplatePressed("+data.ftid+")"});items.push({title:s[l].FormsViewFormsTemplateTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:this.delegate.name+".onDeleteFormTemplatePressed("+data.ftid+")"});} var menu=document.createElement('div');menu.className="TableItemMenu";if(s[l].Direction=="rtl")menu.classList.add('TableItemMenu_rtl');for(var i=0;i"+formItem.nameTitle+"":(formItem.name!=undefined&&formItem.name!=null?formItem.name:""));this.formTableItem.appendChild(formName);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formName.classList.add("Clickable");formName.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('name');}.bind(this));} var creationTimeHolder=document.createElement('div');creationTimeHolder.className="TableItemHolder";this.formTableItem.appendChild(creationTimeHolder);var creationTimeTitle=document.createElement('div');creationTimeTitle.className="TableItemTitle";creationTimeTitle.innerHTML=s[l].FormsViewFormsTableCreationTimeTitle+":";creationTimeHolder.appendChild(creationTimeTitle);var creationTime=document.createElement('div');creationTime.className="Time";creationTime.classList.add("CreationTime");creationTime.innerHTML=(formItem.creationTimeTitle!=undefined&&formItem.creationTimeTitle!=null?""+formItem.creationTimeTitle+"":(formItem.creation_time!=undefined&&formItem.creation_time!=null?Date.getTimeString(formItem.creation_time)+" "+Date.getDateString(formItem.creation_time):""));creationTimeHolder.appendChild(creationTime);if(formItem.isTitle!=undefined&&formItem.isTitle==true){creationTime.classList.add("Clickable");creationTime.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('creation_time');}.bind(this));} var lastModifiedHolder=document.createElement('div');lastModifiedHolder.className="TableItemHolder";this.formTableItem.appendChild(lastModifiedHolder);var lastModifiedTitle=document.createElement('div');lastModifiedTitle.className="TableItemTitle";lastModifiedTitle.innerHTML=s[l].FormsViewFormsTableLastModifiedTitle+":";lastModifiedHolder.appendChild(lastModifiedTitle);var lastModified=document.createElement('div');lastModified.className="Time";lastModified.classList.add("LastModified");lastModified.innerHTML=(formItem.lastModifiedTitle!=undefined&&formItem.lastModifiedTitle!=null?""+formItem.lastModifiedTitle+"":(formItem.last_modified!=undefined&&formItem.last_modified!=null?Date.getTimeString(formItem.last_modified)+" "+Date.getDateString(formItem.last_modified):""));lastModifiedHolder.appendChild(lastModified);if(formItem.isTitle!=undefined&&formItem.isTitle==true){lastModified.classList.add("Clickable");lastModified.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('last_modified');}.bind(this));} var formTypeHolder=document.createElement('div');formTypeHolder.className="TableItemHolder";this.formTableItem.appendChild(formTypeHolder);var formTypeTitle=document.createElement('div');formTypeTitle.className="TableItemTitle";formTypeTitle.innerHTML=s[l].FormsViewFormsTableTypeTitleText+":";formTypeHolder.appendChild(formTypeTitle);var formType=document.createElement('div');formType.className="FormType";formType.innerHTML=(formItem.formTypeTitle!=undefined&&formItem.formTypeTitle!=null?""+formItem.formTypeTitle+"":(formItem.type!=undefined&&formItem.type!=null?s[l].FormsViewFormTypes[formItem.type]:""));formTypeHolder.appendChild(formType);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formType.classList.add("Clickable");formType.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('type');}.bind(this));} var statusHolder=document.createElement('div');statusHolder.className="TableItemHolder";this.formTableItem.appendChild(statusHolder);var statusTitle=document.createElement('div');statusTitle.className="TableItemTitle";statusTitle.innerHTML=s[l].FormsViewFormsTableStatusTitle+":";statusHolder.appendChild(statusTitle);if(formItem.status!=undefined&&formItem.status!=null){var statusTitle=document.createElement('div');statusTitle.className="StatusTitle";statusTitle.innerHTML=(s[l].FormsViewFormStatusList[(formStatuses[formItem.status].title).replace(" ","_")]!=undefined?s[l].FormsViewFormStatusList[(formStatuses[formItem.status].title).replace(" ","_")]:formStatuses[formItem.status].title);statusTitle.style.color=formStatuses[formItem.status].text_color;statusTitle.style.backgroundColor=formStatuses[formItem.status].color;statusHolder.appendChild(statusTitle);}else if(formItem.statusTitle!=undefined&&formItem.statusTitle!=null){var status=document.createElement('div');status.className="Status";status.innerHTML=""+formItem.statusTitle+"";statusHolder.appendChild(status);if(formItem.isTitle!=undefined&&formItem.isTitle==true){status.classList.add("Clickable");status.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('status');}.bind(this));}} if(s[l].Direction=="rtl")this.formTableItem.classList.add('TableItem_rtl');else this.formTableItem.classList.remove('TableItem_rtl');this.buildTableItemMenu=function(data){this.formType=parseInt(data.type);var items=[];items.push({title:s[l].FormsViewMyFormsTableItemMenu.OpenButtonTitleText,icon:"/assets/images/icons/form_complete_black.svg",action:"FormsView.onFormItemSelected({fid:"+data.fid+"})"});if(parseInt(Application.sessionManager.sessionData.uid)==parseInt(data.creator_uid)){if(this.formType==FormTypes.Survey){if(data!=null&&data.is_published!=undefined&&parseInt(data.is_published)==1){items.push({title:s[l].FormsViewMyFormsTableItemMenu.UnpublishButtonTitleText,icon:"/assets/images/icons/download_document_black.svg",action:"FormsView.onUnpublishFormPressed("+data.fid+")"});}else{items.push({title:s[l].FormsViewMyFormsTableItemMenu.PublishButtonTitleText,icon:"/assets/images/icons/upload_document_black.svg",action:"FormsView.onPublishFormPressed("+data.fid+")"});}} items.push({title:s[l].FormsViewMyFormsTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"FormsView.onDeleteFormPressed("+data.fid+")"});} var menu=document.createElement('div');menu.className="TableItemMenu";if(s[l].Direction=="rtl")menu.classList.add('TableItemMenu_rtl');for(var i=0;i"+formItem.nameTitle+"":(formItem.name!=undefined&&formItem.name!=null?formItem.name:""));this.formTableItem.appendChild(formName);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formName.classList.add("Clickable");formName.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('status');}.bind(this));} var createdByHolder=document.createElement('div');createdByHolder.className="TableItemHolder";this.formTableItem.appendChild(createdByHolder);var createdByTitle=document.createElement('div');createdByTitle.className="TableItemTitle";createdByTitle.innerHTML=s[l].FormsViewFormsTableCreatorTitle+":";createdByHolder.appendChild(createdByTitle);var creatorProfilePicture=document.createElement('div');creatorProfilePicture.className="ProfilePicture";creatorProfilePicture.style.backgroundImage=(formItem.creator_profile_picture!=undefined&&formItem.creator_profile_picture!=null?"url('"+formItem.creator_profile_picture+"')":"");createdByHolder.appendChild(creatorProfilePicture);var createdBy=document.createElement('div');createdBy.className="Username";createdBy.classList.add("CreatedBy");createdBy.innerHTML=(formItem.creatorTitle!=undefined&&formItem.creatorTitle!=null?""+formItem.creatorTitle+"":(formItem.creator_firstname!=undefined&&formItem.creator_firstname!=null?formItem.creator_firstname:"")+(formItem.creator_lastname!=undefined&&formItem.creator_lastname!=null?" "+formItem.creator_lastname:""));createdByHolder.appendChild(createdBy);if(formItem.isTitle!=undefined&&formItem.isTitle==true){createdBy.classList.add("Clickable");createdBy.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('creator');}.bind(this));} var emptyPlaceHolder=document.createElement('div');emptyPlaceHolder.className="TableItemHolder";this.formTableItem.appendChild(emptyPlaceHolder);var creationTimeHolder=document.createElement('div');creationTimeHolder.className="TableItemHolder";this.formTableItem.appendChild(creationTimeHolder);var creationTimeTitle=document.createElement('div');creationTimeTitle.className="TableItemTitle";creationTimeTitle.innerHTML=s[l].FormsViewFormsTableCreationTimeTitle+":";creationTimeHolder.appendChild(creationTimeTitle);var creationTime=document.createElement('div');creationTime.className="Time";creationTime.classList.add("CreationTime");creationTime.innerHTML=(formItem.creationTimeTitle!=undefined&&formItem.creationTimeTitle!=null?""+formItem.creationTimeTitle+"":(formItem.creation_time!=undefined&&formItem.creation_time!=null?Date.getTimeString(formItem.creation_time)+" "+Date.getDateString(formItem.creation_time):""));creationTimeHolder.appendChild(creationTime);if(formItem.isTitle!=undefined&&formItem.isTitle==true){creationTime.classList.add("Clickable");creationTime.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('creation_time');}.bind(this));} var lastModifiedHolder=document.createElement('div');lastModifiedHolder.className="TableItemHolder";this.formTableItem.appendChild(lastModifiedHolder);var lastModifiedTitle=document.createElement('div');lastModifiedTitle.className="TableItemTitle";lastModifiedTitle.innerHTML=s[l].FormsViewFormsTableLastModifiedTitle+":";lastModifiedHolder.appendChild(lastModifiedTitle);var lastModified=document.createElement('div');lastModified.className="Time";lastModified.classList.add("LastModified");lastModified.innerHTML=(formItem.lastModifiedTitle!=undefined&&formItem.lastModifiedTitle!=null?""+formItem.lastModifiedTitle+"":(formItem.last_modified!=undefined&&formItem.last_modified!=null?Date.getTimeString(formItem.last_modified)+" "+Date.getDateString(formItem.last_modified):""));lastModifiedHolder.appendChild(lastModified);if(formItem.isTitle!=undefined&&formItem.isTitle==true){lastModified.classList.add("Clickable");lastModified.addEventListener('click',function(){if(this.delegate.reorderTable!=undefined)this.delegate.reorderTable('last_modified');}.bind(this));} if(s[l].Direction=="rtl")this.formTableItem.classList.add('TableItem_rtl');else this.formTableItem.classList.remove('TableItem_rtl');this.buildTableItemMenu=function(data){var items=[];items.push({title:s[l].FormsViewSharedFormsTableItemMenu.OpenButtonTitleText,icon:"/assets/images/icons/form_complete_black.svg",action:"FormsView.onFormItemSelected({fid:"+data.fid+"})"});if(parseInt(Application.sessionManager.sessionData.uid)==parseInt(data.creator_uid)){if(data!=null&&data.is_published!=undefined&&parseInt(data.is_published)==1){items.push({title:s[l].FormsViewSharedFormsTableItemMenu.UnpublishButtonTitleText,icon:"/assets/images/icons/download_document_black.svg",action:"FormsView.onUnpublishFormPressed("+data.fid+")"});}else{items.push({title:s[l].FormsViewSharedFormsTableItemMenu.PublishButtonTitleText,icon:"/assets/images/icons/upload_document_black.svg",action:"FormsView.onPublishFormPressed("+data.fid+")"});} items.push({title:s[l].FormsViewSharedFormsTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"FormsView.onDeleteFormPressed("+data.fid+")"});} var menu=document.createElement('div');menu.className="TableItemMenu";if(s[l].Direction=="rtl")menu.classList.add('TableItemMenu_rtl');for(var i=0;i0&&isGroup!=null&&(isGroup==0||isGroup==1)){this.checkForNotifications(uid,gid,isGroup);}else{this.checkForNotifications(uid);}}else{this.checkForNotifications(uid);}}}.bind(this),timeout);},startForegroundNotificationTimer:function(){var timeout=Globals.APPLICATION_NOTIFICATION_REFRESH_TIMER_INTERVAL;this.startNotificationTimer(timeout);},startBackgroundNotificationTimer:function(){var timeout=Globals.APPLICATION_NOTIFICATION_BACKGROUND_REFRESH_TIMER_INTERVAL;this.startNotificationTimer(timeout);},stopNotificationTimer:function(){clearInterval(this.notificationsRefreshTimer);this.notificationsRefreshTimer=null;},checkForNotifications:function(uid,gid=null,isGroup=null){var request=new NetworkRequest();var params="uid="+uid+(gid!=null&&isGroup!=null?"&gid="+gid+"&is_group="+isGroup:"");request.postRequest(Globals.ServicesURL.getNotificationUpdatesURL,params,function(responseData){this.onCheckForNotificationsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCheckForNotificationsFailed(statusCode,errorMessage)}.bind(this));},processNotifications:function(data){this.updateChatButtonUnreadMessageCount(data);this.callManager.processActiveCalls(data.active_calls);this.activeShift=data.active_shift;this.updateMenusWithShiftData(this.activeShift);},updateChatButtonUnreadMessageCount:function(data){var chatButtonText=document.getElementById('title_bar_chat_button_text');var mobileChatButtonText=document.getElementById('mobile_title_bar_chat_button_text');var notificationButtonText=document.getElementById('title_bar_notifications_button_text');var mobileNotificationButtonText=document.getElementById('mobile_title_bar_notifications_button_text');var totalUnreadMessages=parseInt(data.unread_messages.new_direct_messages)+parseInt(data.unread_messages.new_group_messages);totalUnreadMessages=(totalUnreadMessages>99?"+99":totalUnreadMessages);var totalUnreadNotifications=parseInt(data.unread_notifications);totalUnreadNotifications=(totalUnreadNotifications>99?"+99":totalUnreadNotifications);this.totalUnreadMessages=totalUnreadMessages;this.totalUnreadNotifications=totalUnreadNotifications;if(totalUnreadMessages>0){chatButtonText.style.display="block";mobileChatButtonText.style.display="block";chatButtonText.innerHTML=totalUnreadMessages;mobileChatButtonText.innerHTML=totalUnreadMessages;}else{chatButtonText.style.display="none";mobileChatButtonText.style.display="none";chatButtonText.innerHTML="";mobileChatButtonText.innerHTML="";} if(totalUnreadNotifications>0){notificationButtonText.style.display="block";mobileNotificationButtonText.style.display="block";notificationButtonText.innerHTML=totalUnreadNotifications;mobileNotificationButtonText.innerHTML=totalUnreadNotifications;}else{notificationButtonText.style.display="none";mobileNotificationButtonText.style.display="none";notificationButtonText.innerHTML="";mobileNotificationButtonText.innerHTML="";}},onTitleBarLogoPressed:function(){if(this.sessionManager!=null&&this.sessionManager.isActive()==true){this.loadView(DashboardView,null);this.mobileNavigationMenu.hideMenu();this.hideTitleBarLoginButton();}else{this.loadView(HomeView,null);}},updateFCMDeviceToken:function(token,deviceID=null,deviceType=null,browserType=null){if(token!=null&&token.length>0){var request=new NetworkRequest();var params="token="+token+"&device_id="+deviceID+"&device_type="+deviceType+"&browser_type="+browserType;request.postRequest(Globals.ServicesURL.updateFCMTokenURL,params,function(responseData){this.onUpdateFCMDeviceTokenSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFCMDeviceTokenFailed(statusCode,errorMessage)}.bind(this));}},lockScreen:function(){if('wakeLock'in navigator){try{navigator.wakeLock.request('screen').then((lock)=>{Application.wakeLock=lock;}).catch((err)=>{});}catch(err){}}else{}},unlockScreen:function(){if(Application.wakeLock!==null){Application.wakeLock.release().then(()=>{Application.wakeLock=null;}).catch((err)=>{});}},onShiftSelectionDialogButtonPressed:function(buttonID,selectedPosition){if(buttonID==1){this.startShift(selectedPosition);}else{this.mobileNavigationMenu.shiftToggleSwitch.setSelected(false);this.desktopNavigationMenu.shiftToggleSwitch.setSelected(false);}},onShiftToggleSwitchChanged:function(checked){if(!checked){Alert.present(s[l].ShiftToggleSwitchAlertStopShiftTitle,s[l].ShiftToggleSwitchAlertStopShiftAlertText,s[l].ShiftToggleSwitchAlertStopShiftAlertButton1,s[l].ShiftToggleSwitchAlertStopShiftAlertButton2,function(buttonPressed){if(buttonPressed==1){this.mobileNavigationMenu.shiftToggleSwitch.setSelected(false);this.desktopNavigationMenu.shiftToggleSwitch.setSelected(false);var tid=this.activeShift.tid;this.endShift(tid);}else{this.mobileNavigationMenu.shiftToggleSwitch.setSelected(true);this.desktopNavigationMenu.shiftToggleSwitch.setSelected(true);console.log("do nothing");}}.bind(this));}else{this.mobileNavigationMenu.shiftToggleSwitch.setSelected(true);this.desktopNavigationMenu.shiftToggleSwitch.setSelected(true);var shiftSelectionDialog=new ShiftSelectionDialog(this);shiftSelectionDialog.present();}},onValidateSessionOnStartSuccess:function(responseData){var data=JSON.parse(responseData);this.startApplication(data);},onValidateSessionOnStartFailed:function(statusCode,errorMessage){console.log("Session invalid!");SessionManager.clearSession();this.startSessionLessApplication();},onLogoutSuccess:function(responseData){console.log("Logging out.");this.desktopNavigationMenu.hideMenu();this.desktopNavigationMenu.clearMenu();this.mobileNavigationMenu.hideMenu();this.mobileNavigationMenu.clearMenu();this.loadView(HomeView);SessionManager.clearSession();},onLogoutFailed:function(statusCode,errorMessage){console.log("Session invalid, Logging out.");this.loadView(HomeView);SessionManager.clearSession();},onStartShiftSuccess:function(responseData){this.activeShift=JSON.parse(responseData);this.updateMenusWithShiftData(this.activeShift);},onStartShiftFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onEndShiftSuccess:function(responseData){this.activeShift=null;this.updateMenusWithShiftData(null);},onEndShiftFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onStartBreakSuccess:function(responseData){if(responseData!=null&&JSON.parse(responseData)!=null){this.activeShift=JSON.parse(responseData);this.updateMenusWithShiftData(this.activeShift);}},onStartBreakFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onEndBreakSuccess:function(responseData){if(responseData!=null&&JSON.parse(responseData)!=null){this.activeShift=JSON.parse(responseData);this.updateMenusWithShiftData(this.activeShift);}},onEndBreakFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetImageListSuccess:function(responseData){this.cacheImages(JSON.parse(responseData));},onGetImageListFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCheckForNotificationsSuccess:function(responseData){this.processNotifications(JSON.parse(responseData));},onCheckForNotificationsFailed:function(statusCode,errorMessage){switch(statusCode){case"401":if(this.shiftRefreshTimer!=null){clearInterval(this.shiftRefreshTimer);this.shiftRefreshTimer=null;} if(this.notificationsRefreshTimer!=null){clearInterval(this.notificationsRefreshTimer);this.notificationsRefreshTimer=null;} break;} var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFCMDeviceTokenSuccess:function(responseData){},onUpdateFCMDeviceTokenFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var CallManager={DEBUG:false,RING_VOLUME:0.5,PLAYBACK_RATE:1.0,answerIncomingCallOnStartup:false,activeCallID:0,callAnswered:false,callStarted:false,callViewPresented:false,audioContext:null,soundBufferRing:null,soundBufferDial:null,currentSourceRing:null,currentSourceDial:null,isPlayingRingingSound:false,isPlayingDialingSound:false,init:function(){this.callViewHolder=document.getElementById('application_call_view_holder');this.popupContainer=document.createElement('div');this.popupContainer.id="CallViewPopupContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="CallViewPopupContainerInnerHolder";this.popupContainer.appendChild(this.popupContainerInnerHolder);this.callViewHolder.appendChild(this.popupContainer);document.body.addEventListener("click",CallManager.unlockAudio);},processActiveCalls:function(activeCalls){if(activeCalls.length==0){if(this.activeCallID>0){if(this.DEBUG)console.log("No call data but we still have an active call id, checking call status...");this.getCallStatus(this.activeCallID);}else{if(this.DEBUG)console.log("No call data available...");}}else{for(var i=0;iGlobals.CALL_MAX_RING_TIMEOUT){if(this.DEBUG)console.log("Call unanswered for "+Globals.CALL_MAX_RING_TIMEOUT+" seconds, ending call...");this.endCall(callData.call_id);this.stopRingingSound();if(this.callViewPresented)CallView.setCallEndedState(callData);}else if(callData.call_status==1&&(senderLastSeen>Globals.CALL_MAX_TIMEOUT||recipientLastSeen>Globals.CALL_MAX_TIMEOUT)){if(this.DEBUG)console.log("Peer seems to be offline, ending call...");this.endCall(callData.call_id);if(this.callViewPresented)CallView.setCallEndedState(callData);}else if(parseInt(callData.call_status)==0&&parseInt(callData.recipient)==Application.sessionManager.sessionData.uid){if(this.DEBUG)console.log("Call "+callData.call_id+" is ringing") if(this.activeCallID==0){this.getCallStatus(callData.call_id);}}else if(parseInt(callData.call_status)==1&&parseInt(callData.sender)==Application.sessionManager.sessionData.uid){if(this.DEBUG)console.log("Found a call (id:"+this.activeCallID+") we initiated and was answred");if(this.callStarted==true){if(this.callAnswered==false){if(this.DEBUG)console.log("We initiated the call and it has been answered...");this.callAnswered=true;if(this.callViewPresented)CallView.setCallAnsweredState(callData);this.stopDialingSound();}}else{if(this.DEBUG)console.log("Found a dead call, ending call id:"+callData.call_id);this.endCall(callData.call_id);this.stopRingingSound();this.stopDialingSound();}}else if(parseInt(callData.call_status)==1&&this.callAnswered==false){if(this.DEBUG)console.log("Found a dead call, ending call id:"+callData.call_id);this.endCall(callData.call_id);}else if(parseInt(callData.call_status)==1){if(this.DEBUG)console.log("In active call id:"+callData.call_id);}}}},processCallStatusRequest:function(callData){if(this.DEBUG)console.log("Processing call status request...");if(this.activeCallID==0&&parseInt(callData.call_status)==0&&parseInt(callData.recipient)==Application.sessionManager.sessionData.uid){if(this.DEBUG)console.log("Presenting Call View");this.activeCallID=callData.call_id;this.presentCallViewInDialog(callData);this.playRingingSound();}else if(this.activeCallID>0&&parseInt(callData.call_status)==2){if(this.DEBUG)console.log("Call was rejected by recipient");CallView.setCallRejectedState();this.activeCallID=0;this.callAnswered=false;this.stopDialingSound();}else if(this.activeCallID>0&&parseInt(callData.call_status)>=3){if(this.DEBUG)console.log("Call has ended by "+(callData.call_status==3?"sender":"recipient"));CallView.setCallEndedState();this.activeCallID=0;this.callAnswered=false;this.stopRingingSound();this.stopDialingSound();}},presentCallViewInDialog:function(data){this.popupContainerInnerHolder.innerHTML="";CallView._init(this);var viewHolder=CallView.load();this.popupContainerInnerHolder.appendChild(viewHolder);CallView.start(data);this.callViewHolder.style.display="block";this.popupContainer.style.display="block";if(this.callViewPresented==false){this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);} this.callViewPresented=true;},dismissCallViewDialog:function(){if(this.callViewPresented==true){if(this.DEBUG)console.log("DismissCallViewDialog called...");CallView.stop();this.popupContainer.style.display="none";this.popupContainerInnerHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";this.callViewHolder.style.display="none";this.callViewPresented=false;this.activeCallID=0;this.callStarted=false;}},onDismissCallViewDialog:function(callView){this.dismissCallViewDialog();},startCall:function(recipient,type){if(this.activeCallID==0){this.setupCall(recipient,type);}},getCallStatus:function(callID){if(this.DEBUG)console.log("Checking call status for call id: "+callID);var request=new NetworkRequest();var params="call_id="+callID;request.postRequest(Globals.ServicesURL.getCallStatusURL,params,function(responseData){this.onGetCallStatusSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCallStatusFailed(statusCode,errorMessage)}.bind(this));},setupCall:function(recipient,type){this.callStarted=true;if(this.DEBUG)console.log("Setting up call...");var request=new NetworkRequest();var params="recipient="+recipient+"&type="+type;request.postRequest(Globals.ServicesURL.setupCallURL,params,function(responseData){this.onSetupCallSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetupCallFailed(statusCode,errorMessage)}.bind(this));},acceptCall:function(callID){this.stopRingingSound();this.callAnswered=true;if(this.DEBUG)console.log("Accepting call: "+callID);var request=new NetworkRequest();var params="call_id="+callID;request.postRequest(Globals.ServicesURL.acceptCallURL,params,function(responseData){this.onAcceptCallSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onAcceptCallFailed(statusCode,errorMessage)}.bind(this));},rejectCall:function(callID){this.stopRingingSound();if(this.DEBUG)console.log("Rejecting call "+callID);var request=new NetworkRequest();var params="call_id="+callID;request.postRequest(Globals.ServicesURL.rejectCallURL,params,function(responseData){this.onRejectCallSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRejectCallFailed(statusCode,errorMessage)}.bind(this));},endCall:function(callID){this.stopRingingSound();this.stopDialingSound();if(this.DEBUG)console.log("Ending call "+callID);var request=new NetworkRequest();var params="call_id="+callID;request.postRequest(Globals.ServicesURL.endCallURL,params,function(responseData){this.onEndCallSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onEndCallFailed(statusCode,errorMessage)}.bind(this));},onGetCallStatusSuccess:function(responseData){var callData=JSON.parse(responseData);if(this.DEBUG)console.log("Get call status success for call id:"+callData.call_id);this.processCallStatusRequest(callData);},onGetCallStatusFailed:function(statusCode,errorMessage){if(this.DEBUG)console.log("Get call status failed!");switch(statusCode){case"401":break;case"403":break;}},onSetupCallSuccess:function(responseData){var callData=JSON.parse(responseData);if(callData!=null&&callData.call_id!=undefined&&parseInt(callData.call_id)>0){if(this.DEBUG)console.log("Call setup success, call id:"+callData.call_id);this.activeCallID=callData.call_id;this.presentCallViewInDialog(callData);this.callStarted=true;setTimeout(function(){this.playDialingSound()}.bind(this),1000);}else{if(this.DEBUG)console.log("Could not setup call, recipient is on another call...");this.presentCallViewInDialog(callData);this.callStarted=false;this.activeCallID=0;this.stopDialingSound();if(this.DEBUG)console.log(responseData);}},onSetupCallFailed:function(statusCode,errorMessage){if(this.DEBUG)console.log("Call setup failed!");this.activeCallID=0;this.callAnswered=false;},onAcceptCallSuccess:function(responseData){var callData=JSON.parse(responseData);if(this.DEBUG)console.log("Call accepted successfully, call id:"+callData.call_id);CallView.setCallAnsweredState(callData);setTimeout(function(){this.stopRingingSound();}.bind(this),1000);},onAcceptCallFailed:function(statusCode,errorMessage){if(this.DEBUG)console.log("Call could not be accepted!");this.activeCallID=0;this.callAnswered=false;},onRejectCallSuccess:function(responseData){var callID=JSON.parse(responseData);if(this.DEBUG)console.log("Call rejected successfully, call id:"+callID);this.activeCallID=0;this.callAnswered=false;},onRejectCallFailed:function(statusCode,errorMessage){if(this.DEBUG)console.log("Call could not be rejected!");this.activeCallID=0;this.callAnswered=false;},onEndCallSuccess:function(responseData){var callID=JSON.parse(responseData);if(this.DEBUG)console.log("Call ended successfully, call id:"+callID);this.activeCallID=0;this.callAnswered=false;},onEndCallFailed:function(statusCode,errorMessage){if(this.DEBUG)console.log("Call could not be ended!");this.activeCallID=0;this.callAnswered=false;},playRingingSound:function(){if(this.isPlayingRingingSound===false){if(!this.soundBufferRing||!this.audioContext){console.log("Audio was not initialized...");return;} const source=this.audioContext.createBufferSource();source.buffer=this.soundBufferRing;source.loop=true;const gainNode=this.audioContext.createGain();source.connect(gainNode);gainNode.connect(this.audioContext.destination);gainNode.gain.setValueAtTime(0,this.audioContext.currentTime);source.start(0);gainNode.gain.setValueAtTime(0.0001,this.audioContext.currentTime);gainNode.gain.exponentialRampToValueAtTime(this.RING_VOLUME,this.audioContext.currentTime+0.05);this.isPlayingRingingSound=true;this.currentSourceRing=source;}},stopRingingSound:function(){if(this.currentSourceRing!==null){this.currentSourceRing.stop();this.currentSourceRing=null;this.isPlayingRingingSound=false;}},playDialingSound:function(){if(this.isPlayingDialingSound===false){if(!this.soundBufferDial||!this.audioContext){console.log("Audio was not initialized...");return;} const source=this.audioContext.createBufferSource();source.buffer=this.soundBufferDial;source.loop=true;const gainNode=this.audioContext.createGain();source.connect(gainNode);gainNode.connect(this.audioContext.destination);source.start(0);gainNode.gain.setValueAtTime(0.0001,this.audioContext.currentTime);gainNode.gain.exponentialRampToValueAtTime(this.RING_VOLUME,this.audioContext.currentTime+0.05);this.isPlayingDialingSound=true;this.currentSourceDial=source;}},stopDialingSound:function(){if(this.currentSourceDial!==null){this.currentSourceDial.stop();this.currentSourceDial=null;this.isPlayingDialingSound=false;}},unlockAudio:async function(){CallManager.audioContext=new(window.AudioContext||window.webkitAudioContext)();try{let response=await fetch('/assets/sounds/ringtone.mp3');let arrayBuffer=await response.arrayBuffer();CallManager.soundBufferRing=await CallManager.audioContext.decodeAudioData(arrayBuffer);response=await fetch('/assets/sounds/dialtone.mp3');arrayBuffer=await response.arrayBuffer();CallManager.soundBufferDial=await CallManager.audioContext.decodeAudioData(arrayBuffer);document.body.removeEventListener("click",CallManager.unlockAudio);console.log("✅ Call Manager initialized both audio files in the background...");}catch(err){console.error("Error loading audio:",err);}}} window.Application=window.Application||{};window.Application.receiveNativeToken=function(token,platform){this.FCM_DEVICE_TOKEN=token;this.isRunningNative=true;this.platform=platform;var device=Device.detectDeviceType();var deviceType=device.os;var deviceID=Device.getUUID();var browserType=platform;if(this.FCM_DEVICE_TOKEN!=null){this.updateFCMDeviceToken(this.FCM_DEVICE_TOKEN,deviceID,deviceType,browserType);}};window.Application.onNativeFileHandled=function(fileName){if(this.activeView!=null&&this.activeView.onNativeFileHandled!=undefined){this.activeView.onNativeFileHandled(fileName);}};NativeWrapper={};NativeWrapper.type=(navigator.userAgent.includes("DailyReportAndroid")?"Android":(navigator.userAgent.includes("DailyReportIOS")?"iOS":null));NativeWrapper.IsBluetoothAvailable=function(){if(this.type=="Android"){return Android.IsBluetoothAvailable();}else if(this.type=="iOS"){return false;} return false;};NativeWrapper.getCurrentAudioOutput=function(){if(this.type=="Android"){return Android.getCurrentAudioOutput();}else if(this.type=="iOS"){return"speaker";} return"speaker";};NativeWrapper.switchToSpeaker=function(){if(this.type=="Android"){Android.switchToSpeaker();}else if(this.type=="iOS"){}};NativeWrapper.switchToEarpiece=function(){if(this.type=="Android"){Android.switchToEarpiece();}else if(this.type=="iOS"){}};NativeWrapper.switchToBluetooth=function(){if(this.type=="Android"){Android.switchToBluetooth();}else if(this.type=="iOS"){}};NativeWrapper.resetApp=function(){if(this.type=="Android"){Android.resetApp();}else if(this.type=="iOS"){}};NativeWrapper.openScanner=function(){if(this.type=="Android"){Android.openScanner();}else if(this.type=="iOS"){}};NativeWrapper.openInBrowser=function(url){if(this.type=="Android"){Android.openInBrowser(url);}else if(this.type=="iOS"){}else{window.open(url,'_blank');}};NativeWrapper.print=function(html){var content=html||document.documentElement.outerHTML;if(this.type=="Android"){if(window.AndroidBridge&&window.AndroidBridge.printDocument){window.AndroidBridge.printDocument(content);}}else if(this.type=="iOS"){}else{window.print();}};Android={};Android.IsBluetoothAvailable=function(){return(window.AndroidBridge?window.AndroidBridge.checkBluetooth():false);};Android.getCurrentAudioOutput=function(){return(window.AndroidBridge?window.AndroidBridge.getAudioRoute():"speaker");};Android.switchToSpeaker=function(){if(window.AndroidBridge)window.AndroidBridge.setAudioRoute('speaker');};Android.switchToEarpiece=function(){if(window.AndroidBridge)window.AndroidBridge.setAudioRoute('earpiece');};Android.switchToBluetooth=function(){if(window.AndroidBridge)window.AndroidBridge.setAudioRoute('bluetooth');};Android.resetApp=function(){if(window.AndroidBridge)window.AndroidBridge.resetAppConfiguration();};Android.openScanner=function(){if(window.AndroidBridge)window.AndroidBridge.launchScanner();};Android.openInBrowser=function(url){if(window.AndroidBridge&&window.AndroidBridge.openInBrowser){window.AndroidBridge.openInBrowser(url);}else{window.open(url,'_blank');}};Application.registerAsEmailHandler=function(){navigator.registerProtocolHandler('mailto',Globals.applicationDomain+'/mailbox?recipient=%s');} var SessionManager={sessionData:null,init:function(){var cookieData=cookieManager.get("Session");if(cookieData!=null){this.sessionData=JSON.parse(cookieData);}},createSession:function(sessionData){this.sessionData=sessionData;cookieManager.set("Session",JSON.stringify(sessionData),"",30,true);},getData:function(){return this.sessionData;},isActive:function(){if(this.sessionData!=null&&this.sessionData.uid!=undefined&&this.sessionData.uid!=null)return true;else return false;},clearSession:function(){this.sessionData=null;cookieManager.delete("Session",Globals.cookieDomain);}};var Alert={alerts:Array(),present:function(title,message,button1Title,button2Title,callback){var alertsHolder=document.getElementById('application_alerts_holder');alertsHolder.style.display="block";var alert=new AlertPanel(title,message,button1Title,button2Title,callback);alert.delegate=this;this.alerts.push(alert);var alertDom=alert.present();alertsHolder.appendChild(alertDom);},dismiss:function(alert){var alertsHolder=document.getElementById('application_alerts_holder');for(var i=0;i1){switch(this.listType){case this.ListTypes.USERS:this.getUsers(this.itemListTableSearchInput.value);break;case this.ListTypes.DEPARTMENTS:this.getDepartments(this.itemListTableSearchInput.value);break;case this.ListTypes.TEAMS:this.getTeams(this.itemListTableSearchInput.value);break;}}else if(this.itemListTableSearchInput.value.length==0){switch(this.listType){case this.ListTypes.USERS:this.getUsers(null);break;case this.ListTypes.DEPARTMENTS:this.getDepartments(null);break;case this.ListTypes.TEAMS:this.getTeams(null);break;}} if(this.itemListTableSearchInput.value.length>0){this.itemListTableSearchBarClearButton.style.display="block";}else{this.itemListTableSearchBarClearButton.style.display="none";}}.bind(this));},this.populateTable=function(data=null){this.itemListTableItemsHolder.innerHTML="";var items=(this.listType==this.ListTypes.USERS?data.users:(this.listType==this.ListTypes.DEPARTMENTS?data.departments:data.teams));if(items!=null&&items.length>0){for(var i=0;i0)this.delegate.onSharePickerDialogEnded(this.selectedItems,this.listType);this.dismiss();};this.onCancelButtonSelected=function(){this.dismiss();};this.dismiss=function(){this.container.style.display="none";this.container.innerHTML="";};this.getUsers=function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getShareDialogGetUsersURL,params,function(responseData){this.onGetUsersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUsersFailed(statusCode,errorMessage)}.bind(this));};this.getTeams=function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getShareDialogGetTeamsURL,params,function(responseData){this.onGetTeamsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTeamsFailed(statusCode,errorMessage)}.bind(this));};this.getDepartments=function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getShareDialogGetDepartmentsURL,params,function(responseData){this.onGetDepartmentsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetDepartmentsFailed(statusCode,errorMessage)}.bind(this));};this.onGetUsersSuccess=function(responseData){var data=JSON.parse(responseData);this.populateTable(data);this.container.style.display="block";};this.onGetUsersFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};this.onGetDepartmentsSuccess=function(responseData){var data=JSON.parse(responseData);this.populateTable(data);this.container.style.display="block";};this.onGetDepartmentsFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};this.onGetTeamsSuccess=function(responseData){var data=JSON.parse(responseData);this.populateTable(data);this.container.style.display="block";};this.onGetTeamsFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var ShareSettingsDialog=function(container,delegate){this.container=container;this.delegate=delegate;this.accessRights=null;this.sharePickerDialog=null;this.resourceid=null;this.isOwner=false;this.ownerFound=false;this.present=function(resourceID=null,users,departments,teams){this.resourceid=resourceID;this.users=users;this.departments=departments;this.teams=teams;this.buildDialog(users,departments,teams);this.container.style.display="block";};this.buildDialog=function(users,departments,teams){this.shareSettingsDialogHolder=document.createElement('div');this.shareSettingsDialogHolder.className="ShareSettingsDialogHolder";this.shareSettingsDialogInnerHolder=document.createElement('div');this.shareSettingsDialogInnerHolder.className="ShareSettingsDialogInnerHolder";this.titleBar=document.createElement('div');this.titleBar.className="TitleBar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].ShareSettingsDialogTitleBarText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"share_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.shareSettingsDialogHolder.appendChild(this.titleBar);this.shareSettingsDialogHolder.appendChild(this.shareSettingsDialogInnerHolder);this.container.appendChild(this.shareSettingsDialogHolder);this.shareDialog=document.createElement('div');this.shareDialog.className="ShareDialog";this.shareDialogTitle=document.createElement('div');this.shareDialogTitle.className="Title";this.shareDialogTitle.innerHTML=s[l].ShareSettingsDialogTitleText;this.shareDialog.appendChild(this.shareDialogTitle);this.shareDialogCloseButton=document.createElement('div');this.shareDialogCloseButton.className="CloseButton";this.shareDialogCloseButtonIcon=document.createElement('div');this.shareDialogCloseButtonIcon.className="Icon";this.shareDialogCloseButton.appendChild(this.shareDialogCloseButtonIcon);this.shareDialogCloseButtonTitle=document.createElement('div');this.shareDialogCloseButtonTitle.className="Title";this.shareDialogCloseButtonTitle.innerHTML=s[l].ShareSettingsDialogCloseButtonTitle;this.shareDialogCloseButton.appendChild(this.shareDialogCloseButtonTitle);this.shareDialog.appendChild(this.shareDialogCloseButton);this.shareDialogCloseButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.shareDialog.appendChild(this.buildOwnerTable(users));this.shareDialog.appendChild(this.buildUsersShareTable(users));this.shareDialog.appendChild(this.buildDepartmentsShareTable(departments));this.shareDialog.appendChild(this.buildTeamsShareTable(teams));this.shareSettingsDialogInnerHolder.appendChild(this.shareDialog);this.sharePickerDialogContainer=document.createElement('div');this.sharePickerDialogContainer.className="SharePickerDialogContainer";this.shareSettingsDialogHolder.appendChild(this.sharePickerDialogContainer);this.sharePickerDialog=new SharePickerDialog(this.sharePickerDialogContainer,this);};this.buildOwnerTable=function(users){this.ownerShareTableHolder=document.createElement('div');this.ownerShareTableHolder.className="ShareTableHolder";this.ownerShareTableTitle=document.createElement('div');this.ownerShareTableTitle.className="ShareTableTitle";this.ownerShareTableTitle.innerText=s[l].ShareSettingsDialogOwnerTableTitle+":";this.ownerShareTableHolder.appendChild(this.ownerShareTableTitle);this.ownerShareTable=document.createElement('div');this.ownerShareTable.className="ShareTable";this.ownerShareTableHolder.appendChild(this.ownerShareTable);this.populateOwnerTable(users,this.ownerShareTable);return this.ownerShareTableHolder;};this.populateOwnerTable=function(users,table){table.innerHTML="";this.ownerFound=false;for(var i=0;i1)||(this.ownerFound==false&&users.length>0)){for(var i=0;i0){for(var i=0;i0){for(var i=0;iitem.uid!==user.uid);this.populateUsersTable(this.users,this.usersShareTable);this.updateDelegate();this.updateDelegateWithExpandedData();};this.onDepartmentDeleteButtonPressed=function(department){this.departments=this.departments.filter(item=>item.did!==department.did);this.populateDepartmentsTable(this.departments,this.departmentsShareTable);this.updateDelegate();this.updateDelegateWithExpandedData();};this.onTeamDeleteButtonPressed=function(team){this.teams=this.teams.filter(item=>item.tid!==team.tid);this.populateTeamsTable(this.teams,this.teamsShareTable);this.updateDelegate();this.updateDelegateWithExpandedData();};this.onSharePickerDialogEnded=function(selectedItems,listType){switch(listType){case this.sharePickerDialog.ListTypes.USERS:this.users=this.users.concat(selectedItems);this.usersShareTable.innerHTML="";this.populateUsersTable(this.users,this.usersShareTable);break;case this.sharePickerDialog.ListTypes.DEPARTMENTS:this.departments=this.departments.concat(selectedItems);this.populateDepartmentsTable(this.departments,this.departmentsShareTable);break;case this.sharePickerDialog.ListTypes.TEAMS:this.teams=this.teams.concat(selectedItems);this.populateTeamsTable(this.teams,this.teamsShareTable);break;} this.updateDelegate();this.updateDelegateWithExpandedData();};this.updateDelegate=function(){var accessRightsUIDS=new Array();accessRightsUIDS['users']=this.parseAccessRightsUIDs(this.users);accessRightsUIDS['departments']=this.parseAccessRightsUIDs(this.departments);accessRightsUIDS['teams']=this.parseAccessRightsUIDs(this.teams);if(this.delegate!=null&&this.delegate.onShareSettingsDialogUpdate!=undefined)this.delegate.onShareSettingsDialogUpdate(this.resourceid,accessRightsUIDS);};this.updateDelegateWithExpandedData=function(){var accessRightsUIDS=new Array();accessRightsUIDS['users']=this.users;accessRightsUIDS['departments']=this.departments;accessRightsUIDS['teams']=this.teams;if(this.delegate!=null&&this.delegate.onShareSettingsDialogUpdateWithExpandedData!=undefined)this.delegate.onShareSettingsDialogUpdateWithExpandedData(this.resourceid,accessRightsUIDS);} this.parseAccessRightsUIDs=function(list){var accessRightsUIDs=new Array();for(var i in list){var item=list[i];if(item.uid!=undefined&&(item.is_owner==undefined||parseInt(item.is_owner)==0))accessRightsUIDs.push(parseInt(item.uid));else if(item.did!=undefined)accessRightsUIDs.push(parseInt(item.did));else if(item.tid!=undefined)accessRightsUIDs.push(parseInt(item.tid));} return accessRightsUIDs;};};var ShiftSelectionDialog=function(delegate){this.isPresented=false;this.delegate=delegate;this.dialogHolder=null;this.dialog=null;this.selectedPosition=0;this.present=function(){if(!this.isPresented){this.getEmployeePositions();}};this.dismiss=function(){if(this.isPresented)this.dialogHolder.remove();this.isPresented=false;};this.buildDialog=function(menuData){var dialogsHolder=document.getElementById('application_dialogs_holder');this.isPresented=true;this.dialogHolder=document.createElement('div');this.dialogHolder.className="ShiftSelectionDialog";this.dialog=document.createElement('div');this.dialog.className="Dialog" this.dialogHolder.appendChild(this.dialog);this.title=document.createElement('div');this.title.className="Title";this.title.innerHTML=s[l].ShiftToggleSwitchAlertStartShiftTitle;this.dialog.appendChild(this.title);this.info=document.createElement('div');this.info.className="Info";this.info.innerHTML=s[l].ShiftToggleSwitchAlertStartShiftAlertText;this.dialog.appendChild(this.info);if(menuData.length>0){this.selectedPosition=menuData[0].pid;} if(menuData.length>1){this.positionMenu=document.createElement('div');this.positionMenu.className="PositionMenu";this.positionMenu.innerHTML=s[l].ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle;this.dialog.appendChild(this.positionMenu);this.positionMenuHolder=document.createElement('div');this.positionMenuHolder=this.buildEmployeePositionsMenu(menuData);this.dialog.appendChild(this.positionMenuHolder);} this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder" var button1=document.createElement('div');button1.className="Button1";button1.innerHTML=s[l].ShiftToggleSwitchAlertStartShiftButton1Title;this.buttonsHolder.appendChild(button1);button1.addEventListener('click',function(){this.onShiftSelectionDialogButtonPressed(1);this.dismiss();}.bind(this));var button2=document.createElement('div');button2.className="Button2";button2.innerHTML=s[l].ShiftToggleSwitchAlertStartShiftButton2Title;this.buttonsHolder.appendChild(button2);button2.addEventListener('click',function(){this.onShiftSelectionDialogButtonPressed(2);this.dismiss();}.bind(this));this.dialog.appendChild(this.buttonsHolder);dialogsHolder.appendChild(this.dialogHolder);};this.buildEmployeePositionsMenu=function(menuData){var menu=document.createElement('div');menu.className="PositionMenuHolder";for(var i in menuData){var menuItemData=menuData[i];var menuItem=document.createElement('div');menuItem.className="PositionMenuItem"+(i==0?"Selected":"");menuItem.innerHTML=menuItemData.title;menuItem.data=menuItemData;menuItem.addEventListener('click',function(){this.delegate.selectedPosition=this.menuItem.data.pid;var menuItems=this.menu.children;for(var i=0;i=startYear;i--)years.push(i);var menu=document.createElement("div");menu.className="YearInputMenu";for(var i=0;i=windowWidth){var left=parseInt(window.getComputedStyle(this.datePickerMenu).left);left=left-((boundingRect.right-windowWidth)+20);this.datePickerMenu.style.left=left+"px";} if(this.delegate!=null&&this.delegate.onDatePickerMenuPresented!=undefined)this.delegate.onDatePickerMenuPresented(this);};this.hideMenu=function(){if(this.datePickerMenu.style.display=="block"){this.datePickerMenu.style.display="none";this.yearMenu.style.display="none";this.monthMenu.style.display="none";this.isVisible=false;if(this.delegate!=null&&this.delegate.onDatePickerMenuDismissed!=undefined)this.delegate.onDatePickerMenuDismissed(this);}};this.setDate=function(day,month,year){this.year=(year!=null?year:null);this.month=(month!=null?month:null);this.day=(day!=null?day:null);};this.getSQLDate=function(){return(this.year!=null&&this.month!=null&&this.day!=null?this.year+"/"+this.month+"/"+this.day:null);};this.getDateString=function(){return this.datePickerFieldTextHolder.innerHTML;};this.getDate=function(){return(this.year!=null&&this.month!=null&&this.day!=null?new Date(this.year,this.month-1,this.day):null);};this.setDisabled=function(){this.datePickerField.classList.add("DatePickerFieldDisabled");this.hideMenu();};this.setEnabled=function(){this.datePickerField.classList.remove("DatePickerFieldDisabled");};this.daysInMonth=function(month,year){return new Date(year,month,0).getDate();};this.dayInMonth=function(day,month,year){return new Date(year+"/"+month+"/"+day).getDay();};this.onCalendarMenuItemPressed=function(date){this.day=date;this.month=(this.month!=null?this.month:new Date().getMonth()+1);this.year=(this.year!=null?this.year:new Date().getFullYear());this.calendarHolder.innerHTML="";this.calendar=this.buildCalendar(this.month,this.year);this.calendarHolder.appendChild(this.calendar);this.datePickerFieldTextHolder.innerHTML=this.day+"/"+this.month+"/"+this.year;};this.onMonthMenuItemPressed=function(value,index){this.day=(this.day!=null?this.day:new Date().getDate());this.month=index+1;this.year=(this.year!=null?this.year:new Date().getFullYear());this.calendarHolder.innerHTML="";this.calendar=this.buildCalendar(this.month,this.year);this.calendarHolder.appendChild(this.calendar);this.datePickerFieldTextHolder.innerHTML=this.day+"/"+this.month+"/"+this.year;};this.onYearMenuItemPressed=function(value){this.day=(this.day!=null?this.day:new Date().getDate());this.month=(this.month!=null?this.month:new Date().getMonth());this.year=value;this.calendarHolder.innerHTML="";this.calendar=this.buildCalendar(this.month,this.year);this.calendarHolder.appendChild(this.calendar);this.datePickerFieldTextHolder.innerHTML=this.day+"/"+this.month+"/"+this.year;};} var DesktopNavigationMenu={isVisible:false,isExpanded:false,shiftTimer:null,shiftData:null,menuItems:null,selectedMenuItem:null,init:function(){this.viewsContainer=document.getElementById("views_container");this.menuHolder=document.getElementById("desktop_navigaion_menu");this.menuContainer=document.createElement("div");this.menuContainer.id="desktop_navigation_menu_container";this.menuContainer.setAccessibility({type:'menu',label:s[l].NavigationMenuTitle});this.buildProfileHolder();this.menuHolder.appendChild(this.menuContainer);},buildMenu:function(){if(SessionManager.getData()!=null){var sessionData=SessionManager.getData();this.profilePicture.style.backgroundImage="url('"+sessionData.profile_picture+"')";this.shiftToggleSwitchHolder.innerHTML="";this.shiftToggleSwitch=new ShiftToggleSwitch("round",this);this.shiftToggleSwitchHolder.appendChild(this.shiftToggleSwitch.toggleSwitch);this.welcomeTextHolder.innerHTML=sessionData.firstname+" "+sessionData.lastname;if(s[l].Direction=="rtl")this.menuHolder.classList.add('desktop_navigaion_menu_rtl');else this.menuHolder.classList.remove('desktop_navigaion_menu_rtl');this.getMenuItems();}},populateMenuItems(menuItems){this.menuContainer.scrollTop=0;this.menuContainer.innerHTML="";this.menuItems=new Array();var lastItemType=null;var currentItemType=null;for(var i in menuItems){var item=menuItems[i];currentItemType=(item.title==null?"space":"button");if((currentItemType=="space"&&lastItemType=="space")||(currentItemType=="space"&&i==0)||(currentItemType=="space"&&i==menuItems.length-1)){}else{var menuItem=this.buildMenuItem(item);this.menuContainer.appendChild(menuItem);menuItem.data=item;this.menuItems.push(menuItem);} lastItemType=(item.title==null?"space":"button");} this.refreshMenuSelection();},buildMenuItem:function(item){var menuItem=document.createElement("div");menuItem.data=item;if(item.icon_url!=null&&item.title!=null&&item.action!=null){menuItem.className="desktop_navigation_menu_item";var icon=document.createElement("div");icon.className="desktop_navigation_menu_item_icon";var iconColor=window.getComputedStyle(document.body).getPropertyValue('--desktop-navigation-menu-item-icon-color--');var iconURL=(iconColor=="white"?item.icon_url.replace("_black.","_white."):item.icon_url);icon.style.backgroundImage="url('"+iconURL+"')";menuItem.appendChild(icon);var title=document.createElement("div");title.className="desktop_navigation_menu_item_title";title.innerHTML=s[l].MenuItemTitles[item.title];menuItem.appendChild(title);menuItem.addEventListener("click",function(){eval(item.action);if(this.delegate.onMenuItemSelected!=undefined)this.delegate.onMenuItemSelected(this.item)}.bind({delegate:this,item:menuItem}));menuItem.addEventListener("keydown",function(e){if(e.key==='Enter'){eval(item.action);if(this.delegate.onMenuItemSelected!=undefined)this.delegate.onMenuItemSelected(this.item)}}.bind({delegate:this,item:menuItem}));menuItem.setAccessibility({type:'menuitem',label:s[l].MenuItemTitles[item.title],selected:false});}else{menuItem.className="desktop_navigation_menu_item_placeholder";menuItem.setAttribute('role','presentation');} return menuItem;},refreshMenuSelection:function(){try{var activeViewName=(Application.currentActiveView().name).replace("View","");for(var i=0;i0){this.recentItemsTitle.style.display="block";this.emojiMenuRecentItemsHolder.style.display="block";var chars=favorites.split(" ");for(var i=0;i0){var menuItems=this.emojiMenuRecentItemsHolder.childNodes var found=false;for(var i=0;i9){this.emojiMenuRecentItemsHolder.removeChild(menuItem);}else{favoritesString=favoritesString+(i==0?"":" ")+menuItem.innerHTML;}} if(!found){this.emojiMenuRecentItemsHolder.prepend(domItem);favoritesString=emoji+" "+favoritesString;}}else{this.emojiMenuRecentItemsHolder.prepend(domItem);favoritesString=emoji;} window.localStorage.setItem("FavoriteEmoji",favoritesString);} this.toggleMenu=function(){if(this.menuHolder.style.display=='block'){this.hideMenu();}else{this.showMenu();}} this.showMenu=function(){if(s[l].Direction=="rtl")this.emojiMenuHolder.classList.add('EmojoiMenuHolder_rtl');else this.emojiMenuHolder.classList.remove('EmojoiMenuHolder_rtl');this.menuHolder.style.display="block";this.emojiMenuItemsHolder.scrollTop="0px";this.isVisible=true;this.populateFavorites();} this.hideMenu=function(){this.menuHolder.style.display="none";this.isVisible=false;}} var isAnEmoji=function(c){return isEmoji(c,Object.values(Emoji));} var isEmoji=function(c,array){for(var i=0;ii+1?array[i+1]:"");var nextIsColor=false;for(const x of colors){if(x==next){nextIsColor=true;break;}} newString=newString+""+c+(nextIsColor?next:"")+"";}}else{for(const x of colors){if(x==c){isColor=true;break;}} if(!isColor){newString=newString+c;}}} return newString;} var FormItems=["FormTextInput","FormTextArea","FormTextQuestion","FormSingleSelectionInput","FormMultiSelectionInput","FormTimePickerInput","FormDatePickerInput","FormRatingInput","FormSignatureInput","FormPhotoUploadInput","FormFileUploadInput"];var FormItemsMenu=function(container,form,delegate){this.container=container;this.form=form;this.delegate=delegate;this.formItemsMenu=null;this.formMenuButton=null;this.isVisible=false;this.init=function(){this.formItemsMenu=document.createElement('div');this.formItemsMenu.className="FormItemsMenu";if(this.container!=null)this.container.appendChild(this.formItemsMenu);this.buildMenu(FormItems);} this.buildMenu=function(items){this.formMenuItemHolder=document.createElement('div');this.formMenuItemHolder.className="FormMenuItemsHolder";this.formItemsMenu.appendChild(this.formMenuItemHolder);this.formMenuButton=document.createElement('div');this.formMenuButton.className="FormMenuButton";this.formItemsMenu.appendChild(this.formMenuButton);this.formMenuButton.addEventListener('click',function(){if(this.isVisible==true){this.hideMenu();}else{this.showMenu();}}.bind(this));if(s[l].Direction=="rtl")this.formMenuItemHolder.classList.add("FormMenuItemsHolder_rtl");for(var i in items){var itemName=items[i] var formItem=eval(itemName);var icon=formItem().menuIcon;var menuItem=document.createElement('div');menuItem.className="FormMenuItem";var itemIcon=document.createElement('div');itemIcon.className="Icon";itemIcon.style.backgroundImage="url('"+icon+"')";menuItem.appendChild(itemIcon);var itemTitle=document.createElement('div');itemTitle.className="Title";itemTitle.innerHTML=s[l].FormItemsMenu[itemName];menuItem.appendChild(itemTitle);this.formMenuItemHolder.appendChild(menuItem);menuItem.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormMenuItemSelected!=undefined)this.delegate.onFormMenuItemSelected(this.formItemName);}.bind({delegate:this.delegate,formItemName:itemName}))}} this.showMenu=function(){this.formMenuButton.classList.add("Selected");this.formMenuItemHolder.classList.add("Visible");this.isVisible=true;} this.hideMenu=function(){this.formMenuItemHolder.classList.remove("Visible");this.formMenuButton.classList.remove("Selected");this.isVisible=false;} this.init();} var LanguageMenu=function(){this.menuButton=null;this.menuContainer=null;this.language=null;this.delegate=null;this.init=function(language,delegate){this.language=language;this.delegate=delegate;this.menuButton=document.createElement('div');this.menuButton.className="LanguageMenuButton";this.menuButton.setAccessibility({type:'popupmenu',label:s[l].LanguageMenuTitle,expanded:false});var flag=document.createElement('div');flag.className="Flag";var flagImg=document.createElement('img');flagImg.src=Strings[language].FlagIcon;flag.appendChild(flagImg);var initials=document.createElement('div');initials.className="Initials";initials.textContent=language;this.menuContainer=document.createElement('div');this.menuContainer.className="Menu";this.menuContainer.style.display="none";this.menuButton.appendChild(flag);this.menuButton.appendChild(initials);this.menuButton.appendChild(this.menuContainer);this.menuButton.addEventListener('click',this.toggleMenu.bind(this));var languages=Object.keys(Strings).map(key=>({flag:Strings[key].FlagIcon,localLanguage:Strings[key].LocalLanguage,initials:key}));this.buildMenu(languages);return this.menuButton;};this.buildMenu=function(languageItems){this.menuContainer.innerHTML="";languageItems.forEach(item=>{var menuItem=this.buildMenuItem(item);this.menuContainer.appendChild(menuItem);});};this.buildMenuItem=function(item){var menuItem=document.createElement('div');menuItem.className="MenuItem";menuItem.setAccessibility({type:'menuitem',label:item.localLanguage,selected:item.Initials===this.language});var flag=document.createElement('div');flag.className="Flag";var flagImg=document.createElement('img');flagImg.src=item.flag;flag.appendChild(flagImg);var initials=document.createElement('div');initials.className="Initials";initials.textContent=item.initials;menuItem.appendChild(flag);menuItem.appendChild(initials);menuItem.addEventListener('click',function(e){this.delegate.onMenuItemSelected(this.menuItem);}.bind({delegate:this,menuItem:menuItem}));return menuItem;};this.onMenuItemSelected=function(menuItem){var selectedInitials=menuItem.querySelector(".Initials").textContent;if(selectedInitials===this.language)return;this.language=selectedInitials;this.menuButton.querySelector(".Initials").textContent=selectedInitials;this.menuButton.querySelector(".Flag img").src=Strings[selectedInitials].FlagIcon;[...this.menuContainer.children].forEach(item=>{item.setSelected(item===menuItem);});if(this.delegate!=null&&this.delegate.setApplicationLanguage!=undefined)this.delegate.setApplicationLanguage(this.language);this.menuButton.setLabel(s[l].LanguageMenuTitle);};this.toggleMenu=function(){if(this.menuContainer.style.display==="none")this.showMenu();else this.hideMenu();};this.showMenu=function(){this.menuContainer.style.display="block";this.menuButton.setAttribute('aria-expanded','true');};this.hideMenu=function(){this.menuContainer.style.display="none";this.menuButton.setAttribute('aria-expanded','false');};};var MiniCalendar=function(day,month,year,delegate){this.calendarHolder=null;this.calendar=null;this.miniCalendarDay=day,this.miniCalendarMonth=month,this.miniCalendarYear=year,this.miniCalendarSelectedDate=null;this.delegate=delegate;this.calendarHolder=document.createElement("div");this.calendarHolder.className="MiniCalendarHolder";this.daysInMonth=function(month,year){return new Date(year,month,0).getDate();};this.dayInMonth=function(day,month,year){return new Date(year+"/"+month+"/"+day).getDay();};this.weeksInMonth=function(month,year){var first=new Date(year,month,1);var last=new Date(year,month+1,0);var startOffset=first.getDay();var totalDays=last.getDate();return Math.ceil((startOffset+totalDays)/7);};this.onMiniCalendarItemPressed=function(day,month,year){this.miniCalendarDay=day;this.miniCalendarMonth=month;this.miniCalendarYear=year;this.miniCalendarSelectedDate=new Date(year,month-1,day);if(this.delegate!=null&&this.delegate.onMiniCalendarDateSelected!=undefined)this.delegate.onMiniCalendarDateSelected(this,this.miniCalendarDay,this.miniCalendarMonth,this.miniCalendarYear);};this.setDate=function(day,month,year){this.calendarHolder.innerHTML="";this.calendarHolder.appendChild(this.buildCalendar(day,month,year));} this.buildCalendar=function(day,month,year){this.miniCalendarDay=day;this.miniCalendarMonth=month;this.miniCalendarYear=year;if(day!=null)this.miniCalendarSelectedDate=new Date(year,month-1,day);this.calendar=document.createElement("div");this.calendar.className="MiniCalendar";var firstDate=this.dayInMonth(1,(month!=null?month:new Date().getMonth()+1),(year!=null?year:new Date().getFullYear()));var totalDays=this.daysInMonth((month!=null?month:new Date().getMonth()+1),(year!=null?year:new Date().getFullYear()));this.miniCalendarHeader=document.createElement('div');this.miniCalendarHeader.className="MiniCalendarHeader";this.miniCalendarHeaderText=document.createElement('div');this.miniCalendarHeaderText.className="Text";this.miniCalendarHeader.appendChild(this.miniCalendarHeaderText);this.miniCalendarHeaderButtonsHolder=document.createElement('div');this.miniCalendarHeaderButtonsHolder.className="ButtonsHolder";this.miniCalendarHeader.appendChild(this.miniCalendarHeaderButtonsHolder);this.miniCalendarHeaderLeftButton=document.createElement('div');this.miniCalendarHeaderLeftButton.className="LeftButton";this.miniCalendarHeaderButtonsHolder.appendChild(this.miniCalendarHeaderLeftButton);this.miniCalendarHeaderLeftButton.addEventListener("click",function(e){e.preventDefault();e.stopPropagation();if(this.miniCalendarMonth>1){this.miniCalendarMonth-=1;}else{this.miniCalendarMonth=12;this.miniCalendarYear-=1;} this.calendarHolder.innerHTML="";var d=(this.miniCalendarMonth==(this.miniCalendarSelectedDate.getMonth()+1)&&this.miniCalendarYear==this.miniCalendarSelectedDate.getFullYear()?this.miniCalendarSelectedDate.getDate():null);this.calendarHolder.appendChild(this.buildCalendar(d,this.miniCalendarMonth,this.miniCalendarYear));}.bind(this));if(s[l].Direction=="rtl")this.miniCalendarHeaderLeftButton.classList.add("LeftButton_rtl");this.miniCalendarHeaderHomeButton=document.createElement('div');this.miniCalendarHeaderHomeButton.className="HomeButton";this.miniCalendarHeaderButtonsHolder.appendChild(this.miniCalendarHeaderHomeButton);this.miniCalendarHeaderHomeButton.addEventListener("click",function(e){e.preventDefault();e.stopPropagation();var date=new Date();this.calendarHolder.innerHTML="";this.calendarHolder.appendChild(this.buildCalendar(date.getDate(),date.getMonth()+1,date.getFullYear()));this.onMiniCalendarItemPressed(date.getDate(),date.getMonth()+1,date.getFullYear());}.bind(this));this.miniCalendarHeaderRightButton=document.createElement('div');this.miniCalendarHeaderRightButton.className="RightButton";this.miniCalendarHeaderButtonsHolder.appendChild(this.miniCalendarHeaderRightButton);this.miniCalendarHeaderRightButton.addEventListener("click",function(e){e.preventDefault();e.stopPropagation();if(this.miniCalendarMonth<12){this.miniCalendarMonth+=1;}else{this.miniCalendarMonth=1;this.miniCalendarYear+=1;} this.calendarHolder.innerHTML="";var d=(this.miniCalendarMonth==(this.miniCalendarSelectedDate.getMonth()+1)&&this.miniCalendarYear==this.miniCalendarSelectedDate.getFullYear()?this.miniCalendarSelectedDate.getDate():null);this.calendarHolder.appendChild(this.buildCalendar(d,this.miniCalendarMonth,this.miniCalendarYear));}.bind(this));if(s[l].Direction=="rtl")this.miniCalendarHeaderRightButton.classList.add("RightButton_rtl");this.miniCalendarHeaderText.innerHTML=s[l].MonthsOfYear[month-1]+" "+year;this.calendar.appendChild(this.miniCalendarHeader);for(var i=0;i<7;i++){var calendarTitleItem=document.createElement("div");calendarTitleItem.className="CalendarTitleItem";calendarTitleItem.innerHTML=s[l].DaysOfWeekShortHand[i].substring(0,1) this.calendar.appendChild(calendarTitleItem);} for(var i=0;i12?this.hours-12:this.hours);this.minuteInput.value=(this.minutes<10?"0"+this.minutes:this.minutes);}else{this.hourInput.value=(date.getHours()>12?date.getHours()-12:date.getHours());this.minuteInput.value=(date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes());} this.isPM=((this.hours!=null?parseInt(this.hours):date.getHours())>12?true:false);if(this.isPM){this.amButton.classList.remove("Selected");this.pmButton.classList.add("Selected");}else{this.amButton.classList.add("Selected");this.pmButton.classList.remove("Selected");} this.hourInput.style.backgroundColor='';this.minuteInput.style.backgroundColor='';this.timePickerMenu.style.left="";var boundingRect=this.timePickerMenu.getBoundingClientRect();var windowWidth=(window.innerWidth||document.documentElement.clientWidth);if(boundingRect.x<0){var left=parseInt(window.getComputedStyle(this.timePickerMenu).left);left=left+Math.abs(boundingRect.x)+15;this.timePickerMenu.style.left=left+"px";}else if(boundingRect.right>=windowWidth){var left=parseInt(window.getComputedStyle(this.timePickerMenu).left);left=left-((boundingRect.right-windowWidth)+20);this.timePickerMenu.style.left=left+"px";} this.hourInput.focus();};this.hideMenu=function(){this.timePickerMenu.style.display="none";this.isVisible=false;};this.buildMenu=function(hours,minutes){this.menu=document.createElement('div');this.menuTitle=document.createElement('div');this.menuTitle.className="MenuTitle";this.menuTitle.innerHTML=s[l].TimePickerMenuEnterTimeText;this.menu.appendChild(this.menuTitle);this.timePickerHolder=document.createElement('div');this.timePickerHolder.className="TimePickerMenuHolder";this.menu.appendChild(this.timePickerHolder);this.hourInput=document.createElement('input');this.hourInput.type="text";this.hourInput.inputmode="numeric";this.hourInput.pattern="\d*";this.timePickerHolder.appendChild(this.hourInput);this.hourInput.value=hours;this.hourInput.addEventListener('keyup',function(e){if(this.hourInput.value.length>0){var isValid=/^(1[0-2]|0?[0-9])$/.test(this.hourInput.value);if(isValid){this.hourInput.style.backgroundColor='#bfa';}else{this.hourInput.style.backgroundColor='#fba';}}else{this.hourInput.style.backgroundColor='';}}.bind(this));this.space=document.createElement('div');this.space.className="Space";this.space.innerHTML=":";this.timePickerHolder.appendChild(this.space);this.minuteInput=document.createElement('input');this.minuteInput.type="text";this.minuteInput.inputmode="numeric";this.minuteInput.pattern="\d*";this.minuteInput.value=minutes;this.timePickerHolder.appendChild(this.minuteInput);this.minuteInput.addEventListener('keyup',function(e){if(this.hourInput.value.length>0){var isValid=/^[0-5]?[0-9]$/.test(this.minuteInput.value);if(isValid){this.minuteInput.style.backgroundColor='#bfa';}else{this.minuteInput.style.backgroundColor='#fba';}}else{this.minuteInput.style.backgroundColor='';}}.bind(this));this.amPmHolder=document.createElement('div');this.amPmHolder.className="AmPmHolder";this.timePickerHolder.appendChild(this.amPmHolder);this.amButton=document.createElement('div');this.amButton.className="Button";this.amButton.innerHTML=s[l].TimePickerMenuAMButtonTitleText;this.amPmHolder.appendChild(this.amButton);this.amButton.addEventListener('click',function(){this.isPM=false;this.amButton.classList.add("Selected");this.pmButton.classList.remove("Selected");}.bind(this));this.pmButton=document.createElement('div');this.pmButton.className="Button";this.pmButton.innerHTML=s[l].TimePickerMenuPMButtonTitleText;this.amPmHolder.appendChild(this.pmButton);this.pmButton.addEventListener('click',function(){this.isPM=true;this.pmButton.classList.add("Selected");this.amButton.classList.remove("Selected");}.bind(this));this.buttonsHolder=document.createElement("div");this.buttonsHolder.className="ButtonsHolder";this.menu.appendChild(this.buttonsHolder);this.buttonsSpace=document.createElement("div");this.buttonsSpace.className="ButtonsSpace";this.buttonsHolder.appendChild(this.buttonsSpace);this.cancelButton=document.createElement("div");this.cancelButton.className="Button";this.cancelButton.innerHTML=s[l].TimePickerMenuCancelButtonTitleText;this.buttonsHolder.appendChild(this.cancelButton);this.cancelButton.addEventListener('click',function(){this.onCancelButtonPressed();}.bind(this));this.okButton=document.createElement("div");this.okButton.className="Button";this.okButton.innerHTML=s[l].TimePickerMenuOKButtonTitleText;this.buttonsHolder.appendChild(this.okButton);this.okButton.addEventListener('click',function(){this.onOKButtonPressed();}.bind(this));return this.menu;};this.setTime=function(hours,minutes){this.hours=(hours!=null?parseInt(hours):null);this.minutes=(minutes!=null?parseInt(minutes):null);var hour=(hours!=null?parseInt(hours):"_ _");var minute=(minutes!=null?(minutes<10?"0"+parseInt(minutes):parseInt(minutes)):"_ _");this.timePickerFieldTextHolder.innerHTML=hour+" : "+minute;};this.getTime=function(){return(this.hours!=null&this.minutes!=null?this.hours+":"+(this.minutes<10?"0"+parseInt(this.minutes):parseInt(this.minutes)):null);};this.getHours=function(){return this.hours;};this.getMinutes=function(){return this.minutes;};this.onCancelButtonPressed=function(){this.hideMenu();};this.onOKButtonPressed=function(){var isValidHour=(/^(1[0-2]|0?[0-9])$/.test(this.hourInput.value)&&(this.hourInput.value.length>0?true:false));var isValidMinute=(/^[0-5]?[0-9]$/.test(this.minuteInput.value)&&(this.minuteInput.value.length>0?true:false));if(isValidHour&&isValidMinute){this.setTime((this.isPM==true?(parseInt(this.hourInput.value)!=12?parseInt(this.hourInput.value)+12:this.hourInput.value):(parseInt(this.hourInput.value)!=12?parseInt(this.hourInput.value):"00")),this.minuteInput.value);this.hideMenu();}else{if(isValidHour==false){this.hourInput.style.backgroundColor='#fba';} if(isValidMinute==false){this.minuteInput.style.backgroundColor='#fba';}}};} var PaperPlane=function(){this.paperPlane=document.createElement('div');this.paperPlane.className="paperplane";this.clouds=document.createElement('div');this.clouds.className="clouds";this.paperPlane.appendChild(this.clouds);this.cloudOne=document.createElement('div');this.cloudOne.className="cloudOne";this.clouds.appendChild(this.cloudOne);this.cloudTwo=document.createElement('div');this.cloudTwo.className="cloudTwo";this.clouds.appendChild(this.cloudTwo);this.cloudThree=document.createElement('div');this.cloudThree.className="cloudThree";this.clouds.appendChild(this.cloudThree);this.plane=document.createElement('div');this.plane.className="plane";this.paperPlane.appendChild(this.plane);this.wingRight=document.createElement('div');this.wingRight.className="wingRight";this.plane.appendChild(this.wingRight);this.wingLeft=document.createElement('div');this.wingLeft.className="wingLeft";this.plane.appendChild(this.wingLeft);this.bottom=document.createElement('div');this.bottom.className="bottom";this.plane.appendChild(this.bottom);this.top=document.createElement('div');this.top.className="top";this.plane.appendChild(this.top);this.middle=document.createElement('div');this.middle.className="middle";this.plane.appendChild(this.middle);return this.paperPlane;} var SeekableSoundwave=function(width,height,audioSource,soundType){this.canvas=document.createElement('canvas');this.canvas.width=width;this.canvas.height=height;this.width=width;this.height=height;this.ctx=this.canvas.getContext("2d");this.audio=document.createElement('audio');this.audio.src=audioSourceURL;this.audioCtx=new(window.AudioContext||window.webkitAudioContext)();this.dataArray=[];fetch(this.audio.src).then((res)=>res.arrayBuffer()).then((buffer)=>this.audioCtx.decodeAudioData(buffer)).then((decodedData)=>{const channelData=decodedData.getChannelData(0);const samples=1000;const blockSize=Math.floor(channelData.length/samples);const filteredData=[];for(let i=0;in/max);this.drawWaveform();});this.drawWaveform=function(){this.ctx.clearRect(0,0,this.width,this.height);const middle=height/2;this.ctx.beginPath();this.ctx.strokeStyle="#555";this.ctx.lineWidth=1;for(let i=0;i{const oldVal=val;val=Math.min(Math.max(interactive?Math.round(newVal):newVal,1),5);if(marker&&tooltip){marker.style.left=`${((val-1)/4)*100}%`;tooltip.textContent=interactive?val:val.toFixed(2);} if(val!==oldVal&&delegate&&typeof delegate.onSurveySliderValueUpdated==='function'){delegate.onSurveySliderValueUpdated(val);}};this.getValue=()=>val;this.init=()=>{const container=document.createElement('div');container.style.cssText='margin: 0 auto; width:calc(100% - 10px); max-width:500px; padding:45px 20px 20px 20px; font-family:system-ui,sans-serif; box-sizing:border-box; user-select:none; -webkit-tap-highlight-color:transparent;';const track=document.createElement('div');track.style.cssText=`height:14px;width:100%;border-radius:10px;position:relative;background:linear-gradient(to right,#ef4444,#f59e0b,#22c55e);cursor:${interactive?'pointer':'default'};`;marker=document.createElement('div');marker.style.cssText='position:absolute; top:-16px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; transition:left 0.3s cubic-bezier(0.25,1,0.5,1); pointer-events:none;';tooltip=document.createElement('div');tooltip.style.cssText='height:20px;line-height:20px;background:#1f2937; color:#fff; padding:5px 12px; border-radius:6px; font-size:14px; font-weight:700; margin-bottom:15px; position:relative; box-shadow:0 2px 4px rgba(0,0,0,0.2);';const arrow=document.createElement('div');arrow.style.cssText='position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#1f2937;';tooltip.appendChild(arrow);const dot=document.createElement('div');dot.style.cssText='position:absolute; top:34px; width:20px; height:20px; background:#fff; border:2px solid #1f2937; border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,0.15);';const labels=document.createElement('div');labels.style.cssText='display:flex; justify-content:space-between; margin-top:20px; font-size:14px; color:#6b7280; font-weight:700;';[1,2,3,4,5].forEach(n=>{const s=document.createElement('span');s.textContent=n;labels.appendChild(s);});marker.append(tooltip,dot);track.append(marker);container.append(track,labels);if(interactive){const handleAction=(e)=>{if(e.cancelable)e.preventDefault();const rect=track.getBoundingClientRect();const clientX=e.touches?e.touches[0].clientX:e.clientX;this.update(((Math.max(0,Math.min(1,(clientX-rect.left)/rect.width)))*4)+1);};const startDrag=(e)=>{handleAction(e);const moveEvent=e.touches?'touchmove':'mousemove';const upEvent=e.touches?'touchend':'mouseup';const end=()=>{window.removeEventListener(moveEvent,handleAction);window.removeEventListener(upEvent,end);};window.addEventListener(moveEvent,handleAction,{passive:false});window.addEventListener(upEvent,end);};track.addEventListener('mousedown',startDrag);track.addEventListener('touchstart',startDrag,{passive:false});} this.update(val);return container;};} var ToggleSwitch=function(type='',delegate=null){this.delegate=delegate;this.toggleSwitch=document.createElement('div');this.toggleSwitch.className="ToggleSwitch";this.label=document.createElement('label');this.label.className="switch";this.input=document.createElement('input');this.input.type="checkbox";this.span=document.createElement('SPAN');this.span.classList.add("slider",type);this.label.appendChild(this.input);this.label.appendChild(this.span);this.toggleSwitch.appendChild(this.label);if(this.delegate!=null){this.input.addEventListener("onChange",function(e){this.delegate.onToggleSwitchChanged(e.target.checked);})} return this.toggleSwitch;} var ChatGroupItem=function(groupItem,delegate,isSelected){this.MessageTypes={TEXT:"text",CALL:"call",AUDIO:"audio",IMAGE:"image",FILE:"file",SYSTEM:"system"};this.SystemMessageTypes={GroupCreated:"GroupCreated",GroupPictureUpdated:"GroupPictureUpdated",GroupNameUpdated:"GroupNameUpdated",MemberLeft:"MemberLeft",MemberJoined:"MemberJoined",MessageDeleted:"MessageDeleted",MessageReaction:"MessageReaction"};this.itemData=groupItem;this.delegate=delegate;this.isSelected=isSelected this.isOnline=false;var timestamp=this.itemData.last_seen;if(timestamp!=undefined){var secondsPast=parseInt(Date.getTimeElapsedInMiliseconds(timestamp)/1000);if(secondsPast0&&this.isSelected!=true){this.itemText.classList.add("ChatGroupItemTextWithUnreadMessages");this.itemTime.classList.add("Unread");this.itemUnreadCount=document.createElement("div");this.itemUnreadCount.className="ChatGroupItemUnreadMessageCount";this.itemUnreadCount.innerHTML=(totalUnreadMessages>99?"+99":totalUnreadMessages);this.itemInfoLine2.appendChild(this.itemUnreadCount);} if(this.isSelected)this.setSelected(true);this.domItem.addEventListener("click",function(){this.delegate.onChatGroupItemSelected(this,this.itemData);}.bind(this));if(s[l].Direction=="rtl"){this.domItem.classList.add("ChatGroupItem_rtl");this.itemTime.classList.add("ChatGroupItemTime_rtl");}else{this.domItem.classList.remove("ChatGroupItem_rtl");this.itemTime.classList.remove("ChatGroupItemTime_rtl");} return this;} var ChatMessageItem=function(message,delegate){this.mid=parseInt(message.mid);this.isGroup=(message.is_direct_message!=undefined?0:1);this.message=message;this.delegate=delegate;this.emojiMenu=null;this.SystemMessageTypes={GroupCreated:"GroupCreated",GroupPictureUpdated:"GroupPictureUpdated",GroupNameUpdated:"GroupNameUpdated",MemberLeft:"MemberLeft",MemberJoined:"MemberJoined",MessageDeleted:"MessageDeleted",MessageReaction:"MessageReaction"};this.onForwardButtonClicked=function(){if(this.delegate!=null&&this.delegate.onChatMessageItemForwardButtonSelected!=undefined)this.delegate.onChatMessageItemForwardButtonSelected(this);};this.onReactionButtonClicked=function(){if(this.emojiMenu==null){this.emojiMenu=new EmojiMenu(this.emojiMenuHolder,this);this.emojiMenu.init();} this.expandedReactionsHolder.innerHTML="";this.emojiMenu.toggleMenu();if(this.delegate!=null&&this.delegate.onChatMessageItemReactionButtonSelected!=undefined)this.delegate.onChatMessageItemReactionButtonSelected(this);};this.isVisible=function(){var y=this.domItem.offsetTop;var height=this.domItem.offsetHeight;var element=this.domItem;while(element=element.offsetParent) y+=element.offsetTop;var maxHeight=y+height;var isVisible=(y<(window.pageYOffset+window.innerHeight))&&(maxHeight>=window.pageYOffset);return isVisible;};this.createLoadingImage=function(message){var itemData=message;var metadata=(itemData!=null&&itemData.attachment_metadata!=undefined?JSON.parse(itemData.attachment_metadata):null);var width=metadata.width;var height=metadata.height;this.canvas=document.createElement('canvas');this.canvas.width=width;this.canvas.height=height;var ctx=this.canvas.getContext("2d");if(message.sender==SessionManager.sessionData.uid){ctx.fillStyle="#9afc8c";}else{ctx.fillStyle="#ffffff";} ctx.fillRect(0,0,this.canvas.width,this.canvas.height);var file=this.canvas.toDataURL("image/jpeg");return file;};this.itemData=message;this.delegate=delegate;this.domItem=document.createElement("div");this.domItem.className="ChatMessageItem";this.itemBubble=document.createElement("div");this.itemProfilePicture=document.createElement("div");this.itemProfilePicture.className="ChatMessageItemProfilePicture" this.itemProfilePicture.style.backgroundImage="url('"+message.sender_profile_picture+"')";this.itemSenderName=document.createElement("div");this.itemSenderName.className="ChatMessageItemSenderName";this.itemSenderName.innerHTML=message.sender_firstname+" "+message.sender_lastname;if(this.itemData.is_group_message!=undefined&&this.itemData.is_group_message==1){this.itemSenderName.addEventListener('click',function(){if(this.delegate!=null&&this.delegate.onMessageNameClicked!=undefined)this.delegate.onMessageNameClicked(this.itemData,this.messageItem);}.bind({delegate:this.delegate,itemData:this.itemData,messageItem:this}));this.itemSenderName.classList.add("Selectable");} this.itemTime=document.createElement("div");this.itemTime.className="ChatMessageItemTimeStamp";this.itemTime.innerHTML=Date.getDateStringFromDate(message.creation_timestamp);this.itemBubble.appendChild(this.itemTime);this.forwardButton=document.createElement("div");this.forwardButton.className="ChatMessageItemForwardButton";this.forwardButton.addEventListener('click',function(){event.preventDefault();event.stopPropagation();this.onForwardButtonClicked();}.bind(this));this.reactionButton=document.createElement("div");this.reactionButton.className="ChatMessageItemReactionButton";this.reactionButton.addEventListener('click',function(event){event.preventDefault();event.stopPropagation();this.onReactionButtonClicked();}.bind(this));if(parseInt(this.itemData.forwarded)==1){this.forwardIcon=document.createElement("div");this.forwardIcon.className="ChatMessageItemForwardIcon";this.itemBubble.appendChild(this.forwardIcon);this.forwardLabel=document.createElement('div');this.forwardLabel.className="ChatMessageItemForwardLabel";this.forwardLabel.innerHTML=s[l].ChatViewChatMessageItemForwardedText;this.itemBubble.appendChild(this.forwardLabel);} if(message.sender==SessionManager.sessionData.uid){this.domItem.appendChild(this.itemBubble);this.domItem.appendChild(this.itemProfilePicture);this.domItem.style.textAlign="right";this.itemBubble.className="ChatMessageItemRightBubble";this.reactionButton.classList.add('ChatMessageItemReactionButton_right');this.itemBubble.appendChild(this.reactionButton);this.forwardButton.classList.add('ChatMessageItemForwardButton_right');this.itemBubble.appendChild(this.forwardButton);}else{this.domItem.appendChild(this.itemProfilePicture);this.domItem.appendChild(this.itemBubble);this.domItem.style.textAlign="left";this.itemBubble.appendChild(this.itemSenderName);this.itemBubble.className="ChatMessageItemLeftBubble";this.itemBubble.appendChild(this.reactionButton);this.itemBubble.appendChild(this.forwardButton);} this.itemMenu=document.createElement("div");this.itemMenu.className="ChatMessageItemMenu";if(message.sender==SessionManager.sessionData.uid){this.deleteMessageButton=document.createElement("div");this.deleteMessageButton.className="DeleteButton";this.itemMenu.appendChild(this.deleteMessageButton);this.deleteMessageButton.addEventListener('click',function(e){if(this.delegate!=null&&this.delegate.onChatMessageItemDeleteButtonSelected!=undefined)this.delegate.onChatMessageItemDeleteButtonSelected(this);var deletedMessage=document.createElement('div');deletedMessage.className="ChatMessageItemDeletedMessage";deletedMessage.innerHTML=s[l].ChatMessageItemDeletedMessage;this.itemBubble.innerHTML="";this.itemBubble.appendChild(deletedMessage);}.bind(this));this.itemBubble.addEventListener('long-press',function(e){if(this.itemMenu.style.display=="block")this.itemMenu.style.display="none";else this.itemMenu.style.display="block";}.bind(this));this.itemBubble.addEventListener('touchstart',function(e){if(!this.longTouchTimer){this.longTouchTimer=setTimeout(function(){if(this.itemMenu.style.display=="block")this.itemMenu.style.display="none";else this.itemMenu.style.display="block";}.bind(this),600);}}.bind(this));this.itemBubble.addEventListener('touchend',function(e){if(this.longTouchTimer){clearTimeout(this.longTouchTimer);this.longTouchTimer=null;}}.bind(this));this.itemMenu.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.itemMenu.style.display="none";}.bind(this));} if(message.message_type==undefined||message.message_type==null||message.message_type=="text"){this.itemMessage=document.createElement("div");var messageText=message.message;this.itemMessage.className="ChatMessageItemMessage";this.itemMessage.innerHTML=SetEmojiFontSizeInString(messageText,22);this.itemMessage.addEventListener('dblclick',function(){var doc=new DOMParser().parseFromString(this.itemMessage.innerHTML,'text/html');navigator.clipboard.writeText(doc.body.textContent||"");}.bind(this));this.forwardButton.style.display="none";this.itemBubble.appendChild(this.itemMessage);}else if(message.message_type=="call"){this.itemMessage=document.createElement("div");this.itemMessage.className="ChatMessageItemCall";this.itemMessage.innerHTML="";if(s[l].Direction=="rtl")this.itemMessage.classList.add("rtl");this.itemIcon=document.createElement('div');this.itemIcon.className="Icon";this.itemMessage.appendChild(this.itemIcon);this.itemText=document.createElement('div');this.itemText.className="Text";this.itemMessage.appendChild(this.itemText);var data=JSON.parse(message.message) var sender=data.sender;var recipient=data.recipient;var callBackUID=(parseInt(sender)==parseInt(Application.sessionManager.sessionData.uid)?recipient:sender);var callType=data.call_type;var startTime=data.start_time;var endTime=data.end_time;if(callType==1){this.itemIcon.style.backgroundImage="url('/assets/images/icons/call_white.svg')";}else{this.itemIcon.style.backgroundImage="url('/assets/images/icons/call_videocam_white.svg')";} if(startTime==null){if(callType==1)this.itemText.innerHTML=(parseInt(sender)==parseInt(Application.sessionManager.sessionData.uid)?s[l].ChatMessageItemUnansweredVoiceCallText:s[l].ChatMessageItemMissedVoiceCallText);else this.itemText.innerHTML=(parseInt(sender)==parseInt(Application.sessionManager.sessionData.uid)?s[l].ChatMessageItemUnansweredVideoCallText:s[l].ChatMessageItemMissedVideoCallText);}else{var miliseconds=Date.getTimeElapsedBetweenDates(startTime,endTime);var callTime=Date.getTimeFromMiliseconds(miliseconds);if(callType==1)this.itemText.innerHTML=s[l].ChatMessageItemVoiceCallText+": "+callTime;else this.itemText.innerHTML=s[l].ChatMessageItemVideoCallText+": "+callTime;} this.itemIcon.addEventListener('click',function(){Application.callManager.startCall(this.recipient,this.callType);}.bind({delegate:this,callType:callType,recipient:callBackUID}));this.forwardButton.style.display="none";this.itemBubble.style.width="220px";this.itemBubble.appendChild(this.itemMessage);}else if(message.message_type=="link"){this.itemMessage=document.createElement("div");this.itemMessage.className="ChatMessageItemLink";this.itemMessage.innerHTML="";var itemData=message;var messageText=(itemData!=null&&itemData.message!=undefined?itemData.message:(itemData.attachment_url!=undefined?itemData.attachment_url:""));var url=(itemData!=null&&itemData.attachment_url!=undefined?itemData.attachment_url:null);try{var metadata=(itemData!=null&&itemData.attachment_metadata!=undefined?JSON.parse(itemData.attachment_metadata):null);}catch(e){var metadata=null;} var msg=message.message.trim();const imageRegex=/^https?:\/\/.*\.(jpeg|jpg|gif|png|webp|bmp|svg|avif)(\?.*)?$/i;if(imageRegex.test(msg)){this.linkPreviewImage=document.createElement('img');this.linkPreviewImage.src=msg;this.itemMessage.appendChild(this.linkPreviewImage);this.itemBubble.style.width="auto";this.itemBubble.style.maxWidth="calc(100% - 140px)";this.linkPreviewImage.addEventListener('load',function(){this.linkPreviewImage.style.opacity="0.0";setTimeout(function(){this.linkPreviewImage.style.opacity="1.0";}.bind(this),100);if(this.delegate!=null&&this.delegate.onChatMessageItemMediaLoaded!=undefined)this.delegate.onChatMessageItemMediaLoaded(this);}.bind(this));this.linkPreviewImage.addEventListener('contextmenu',function(e){e.preventDefault()});this.linkPreviewImage.addEventListener('click',function(){window.open(this.url,'_blank');}.bind({delegate:this,url:msg}));}else if(metadata!=null){var image=metadata.image;if(metadata.image!=undefined&&metadata.image!=null){var regex=/data:image\/([a-zA-Z]*);base64,[^"]+/;var match=metadata.image.match(regex);image=match?match[0]:metadata.image;} var title=metadata.title;url=(metadata.url!=null?metadata.url:itemData.message);this.linkPreviewImage=document.createElement('img');this.linkPreviewImage.src=image;this.itemMessage.appendChild(this.linkPreviewImage);this.linkPreviewImage.addEventListener('load',function(){this.linkPreviewImage.style.opacity="0.0";setTimeout(function(){this.linkPreviewImage.style.opacity="1.0";}.bind(this),100);if(this.delegate!=null&&this.delegate.onChatMessageItemMediaLoaded!=undefined)this.delegate.onChatMessageItemMediaLoaded(this);}.bind(this));this.linkPreviewImage.addEventListener('contextmenu',function(e){e.preventDefault()});this.linkPreviewImage.addEventListener('click',function(){window.open(this.url,'_blank');}.bind({delegate:this,url:url}));this.linkPreviewImage.addEventListener('contextmenu',function(e){e.preventDefault()});this.linkPreviewTitle=document.createElement('div');this.linkPreviewTitle.className="Title";this.linkPreviewTitle.innerHTML=title;this.itemMessage.appendChild(this.linkPreviewTitle);this.linkPreviewURL=document.createElement('div');this.linkPreviewURL.className="URL";this.linkPreviewURL.innerHTML=Utils.urlify(url);this.itemMessage.appendChild(this.linkPreviewURL);this.linkPreviewURL.addEventListener('contextmenu',function(e){e.preventDefault()});}else{this.itemMessage.innerHTML=(messageText.length>0?Utils.urlify(messageText):"");} this.itemBubble.appendChild(this.itemMessage);}else if(message.message_type=="audio"){this.metadata=JSON.parse(message.attachment_metadata);this.audio=document.createElement('audio');this.audio.controls=false;this.source=document.createElement('source');this.source.src=message.attachment_url;this.source.type=this.metadata.audio_encoding;this.audio.appendChild(this.source);this.itemBubble.appendChild(this.audio);this.itemBubble.audio=this.audio;this.itemBubble.style.width="190px";this.playerHolder=document.createElement("div");this.playerHolder.className="ChatMessageItemAudioPlayerHolder";this.timerHolder=document.createElement("div");this.timerHolder.className="ChatMessageItemAudioTimerHolder";this.timerHolder.innerHTML="00:00";this.totalTimerHolder=document.createElement("div");this.totalTimerHolder.className="ChatMessageItemAudioTotalTimerHolder";var duration=Number(this.metadata.audio_length)||0;this.totalTimerHolder.innerHTML=(Math.floor(duration/60)<10?"0"+Math.floor(duration/60):Math.floor(duration/60))+":"+(Math.floor(duration%60)<10?"0"+Math.floor(duration%60):Math.floor(duration%60));this.audio.addEventListener("loadedmetadata",function(){var duration=this.audio.duration;if(!isFinite(duration))duration=Number(this.metadata.audio_length)||0;duration=Math.floor(duration);this.totalTimerHolder.innerHTML=(Math.floor(duration/60)<10?"0"+Math.floor(duration/60):Math.floor(duration/60))+":"+(Math.floor(duration%60)<10?"0"+Math.floor(duration%60):Math.floor(duration%60));}.bind(this));this.audio.addEventListener('timeupdate',function(){var currentTime=Math.floor(this.audio.currentTime);this.timerHolder.innerHTML=(Math.floor(currentTime/60)<10?"0"+Math.floor(currentTime/60):Math.floor(currentTime/60))+":"+(Math.floor(currentTime%60)<10?"0"+Math.floor(currentTime%60):Math.floor(currentTime%60));}.bind(this));this.audio.addEventListener('ended',function(){this.playButton.style.display="inline-block";this.stopButton.style.display="none";this.timerHolder.innerHTML="00:00";this.soundwave.stop();}.bind(this));this.interval=null;this.playTime=0;this.playButton=document.createElement("div");this.stopButton=document.createElement("div");this.waveHolder=document.createElement("div");this.waveHolder.className="ChatMessageItemSoundwave";this.soundwave=new Soundwave();this.waveHolder.appendChild(this.soundwave.wave);this.playerHolder.appendChild(this.waveHolder);this.playButton.className="ChatMessageItemAudioPlayButton";this.playButton.addEventListener("click",function(){this.playButton.style.display="none";this.stopButton.style.display="inline-block";this.audio.play();this.soundwave.play();if(this.delegate!=null&&this.delegate.onAudioPlaybackStarted!=undefined)this.delegate.onAudioPlaybackStarted(this);}.bind(this));this.playerHolder.appendChild(this.playButton);this.stopButton.className="ChatMessageItemAudioStopButton";this.stopButton.addEventListener("click",function(){this.playButton.style.display="inline-block";this.stopButton.style.display="none";this.audio.pause();this.audio.currentTime=0;this.timerHolder.innerHTML="00:00";this.playTime=0;this.soundwave.stop();if(this.delegate!=null&&this.delegate.onAudioPlaybackEnded!=undefined)this.delegate.onAudioPlaybackEnded(this);}.bind(this));this.playerHolder.appendChild(this.stopButton);this.playerHolder.appendChild(this.totalTimerHolder);this.playerHolder.appendChild(this.timerHolder);this.audio.addEventListener("ended",function(){this.playButton.style.display="inline-block";this.stopButton.style.display="none";this.timerHolder.innerHTML="00:00";this.soundwave.stop();if(this.delegate!=null&&this.delegate.onAudioPlaybackEnded!=undefined)this.delegate.onAudioPlaybackEnded(this);}.bind(this));this.itemBubble.appendChild(this.playerHolder);this.stopPlayback=function(){this.playButton.style.display="inline-block";this.stopButton.style.display="none";this.audio.pause();this.audio.currentTime=0;this.timerHolder.innerHTML="00:00";this.playTime=0;this.soundwave.stop();}}else if(message.message_type=="image"){this.placeHolderImage=document.createElement("img");this.image=document.createElement("img");this.image.addEventListener('load',function(){var timestamp=this.itemData.creation_timestamp;var secondsPast=parseInt(parseInt(Date.getTimeElapsedInMiliseconds(timestamp))/1000);if(parseInt(Application.sessionManager.sessionData.uid)==parseInt(this.itemData.sender)&&parseInt(secondsPast)<3){this.image.style.transition="";this.image.style.opacity=1.0;}else{this.image.style.opacity=0.0;} this.image.style.display="block";this.placeHolderImage.style.display="none";setTimeout(function(){this.image.style.opacity=1.0;}.bind(this),100);if(this.delegate!=null&&this.delegate.onChatMessageItemMediaLoaded!=undefined)this.delegate.onChatMessageItemMediaLoaded(this);}.bind(this));this.image.addEventListener('click',function(){if(this.delegate!=null&&this.delegate.onChatMessageItemImageSelected!=undefined)this.delegate.onChatMessageItemImageSelected(this);}.bind(this));this.image.addEventListener('contextmenu',function(e){e.preventDefault()});this.image.draggable=false;this.placeHolderImage.src=this.createLoadingImage(message);this.image.style.display="none";this.image.style.opacity=0.0;this.image.src=message.attachment_url;this.itemBubble.appendChild(this.placeHolderImage);this.itemBubble.appendChild(this.image);}else if(message.message_type=="file"){var metadata=JSON.parse(message.attachment_metadata);this.fileHolder=document.createElement("div");this.fileHolder.className="FileHolder";this.icon=document.createElement("div");this.icon.className="Icon";this.fileHolder.appendChild(this.icon);var fileType=MIMETypeParser.classMapper(metadata.ext);this.icon.classList.add(fileType);this.name=document.createElement("div");this.name.className="Name";this.name.innerHTML=metadata.filename;this.fileHolder.appendChild(this.name);this.itemBubble.appendChild(this.fileHolder);this.fileHolder.addEventListener('click',function(){fetch(this.url,{credentials:'include'}).then(response=>{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=this.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));}.bind({delegate:this,url:message.attachment_url,filename:metadata.filename}));} this.itemBubble.appendChild(this.itemMenu);if(message.message_type=="system"){this.domItem.innerHTML="";this.domItem.style="";this.domItem.className="ChatMessageItemSystemMessage";switch(message.message){case this.SystemMessageTypes.GroupCreated:this.domItem.innerHTML=s[l].ChatViewSystemMessages[message.message]+" "+Date.getTimeString(message.creation_timestamp)+" "+Date.getDateFromTimestamp(message.creation_timestamp);break;case this.SystemMessageTypes.GroupPictureUpdated:this.domItem.innerHTML=s[l].ChatViewSystemMessages[message.message]+" "+Date.getTimeString(message.creation_timestamp)+" "+Date.getDateFromTimestamp(message.creation_timestamp);break;case this.SystemMessageTypes.GroupNameUpdated:this.domItem.innerHTML=s[l].ChatViewSystemMessages[message.message]+" "+Date.getTimeString(message.creation_timestamp)+" "+Date.getDateFromTimestamp(message.creation_timestamp);break;case this.SystemMessageTypes.MemberLeft:this.domItem.innerHTML=message.sender_firstname+" "+message.sender_lastname+" "+s[l].ChatViewSystemMessages[message.message]+" "+Date.getTimeString(message.creation_timestamp)+" "+Date.getDateFromTimestamp(message.creation_timestamp);break;case this.SystemMessageTypes.MemberJoined:this.domItem.innerHTML=message.sender_firstname+" "+message.sender_lastname+" "+s[l].ChatViewSystemMessages[message.message]+" "+Date.getTimeString(message.creation_timestamp)+" "+Date.getDateFromTimestamp(message.creation_timestamp);break;case this.SystemMessageTypes.MessageDeleted:this.domItem.className="ChatMessageItemHiddenSystemMessage";this.domItem.innerHTML="";setTimeout(function(){if(this.delegate!=null&&this.delegate.onChatMessageItemMessageDeleted!=undefined)this.delegate.onChatMessageItemMessageDeleted(this);}.bind(this),100);break;case this.SystemMessageTypes.MessageReaction:this.domItem.className="ChatMessageItemHiddenSystemMessage";this.domItem.innerHTML="";var metaData=JSON.parse(message.attachment_metadata);if(parseInt(message.sender)!=parseInt(Application.sessionManager.sessionData.uid))this.delegate.onNewReactionRecieved(parseInt(metaData.mid));break;}} this.addReactions=function(reactions){this.reactionsInnerHolder.innerHTML="";var reactionString="";for(var i=0;i0){this.reactionsInnerHolder.innerHTML=reactionString;this.reactionsHolder.style.display="block";}else{this.reactionsHolder.style.display="none";}};this.reactionsHolder=document.createElement('div');this.reactionsHolder.className="ReactionsHolder";this.domItem.appendChild(this.reactionsHolder);this.reactionsHolder.addEventListener('click',function(){if(this.emojiMenu!=null)this.emojiMenu.hideMenu();if(this.expandedReactionsHolder.innerHTML==""){this.getReactions(this.message.mid,(this.message.is_group_message!=undefined&&this.message.is_group_message==1?1:0));}else{this.expandedReactionsHolder.innerHTML="";}}.bind(this));this.reactionsSpace=document.createElement('div');this.reactionsSpace.className="ReactionsSpace";this.reactionsInnerHolder=document.createElement('div');this.reactionsInnerHolder.className="ReactionsInnerHolder";if(message.sender==Application.sessionManager.sessionData.uid){this.reactionsHolder.appendChild(this.reactionsInnerHolder);this.reactionsHolder.appendChild(this.reactionsSpace);}else{this.reactionsHolder.appendChild(this.reactionsSpace);this.reactionsHolder.appendChild(this.reactionsInnerHolder);} if(message.reactions!=undefined&&message.reactions!=null){var reactions=JSON.parse(message.reactions);this.addReactions(reactions);} this.expandedReactionsHolder=document.createElement("div");this.expandedReactionsHolder.className="MessageItemExpandedReactionsHolder";if(message.sender==Application.sessionManager.sessionData.uid)this.expandedReactionsHolder.classList.add("MessageItemExpandedReactionsHolder_right");this.reactionsHolder.appendChild(this.expandedReactionsHolder) this.presentMessageReactions=function(reactions){this.expandedReactionsHolder.innerHTML="";this.reactionsTable=document.createElement('div');this.reactionsTable.className="MessageItemExpandedReactionsTable";this.expandedReactionsHolder.appendChild(this.reactionsTable);var reactionItem=document.createElement('div');reactionItem.className="ReactionItem";if(s[l].Direction=="rtl")reactionItem.classList.add("rtl");this.reactionsTable.appendChild(reactionItem);var titleText=document.createElement('div');titleText.className="TitleText";titleText.innerHTML=s[l].ChatMessageItemReactionTableTitleText;reactionItem.appendChild(titleText);var closeButton=document.createElement('div');closeButton.className="CloseButton";reactionItem.appendChild(closeButton);for(var i=0;i0){reactions=JSON.parse(this.message.reactions);var found=false;for(var i=0;i0){this.reactionsInnerHolder.innerHTML=reactionString;this.reactionsHolder.style.display="block";}else{this.reactionsHolder.style.display="none";}};this.getReactions=function(mid,isGroup){var request=new NetworkRequest();var params="mid="+mid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.getChatMessageReactionsURL,params,function(responseData){this.onGetReactionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetReactionsFailed(statusCode,errorMessage)}.bind(this));};this.refreshReactions=function(mid,isGroup){var request=new NetworkRequest();var params="mid="+mid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.getChatMessageReactionsURL,params,function(responseData){this.onRefreshReactionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRefreshReactionsFailed(statusCode,errorMessage)}.bind(this));};this.onGetReactionsSuccess=function(responseData){var reactions=JSON.parse(responseData);this.presentMessageReactions(reactions);};this.onGetReactionsFailed=function(statusCode,errorMessage){};this.onRefreshReactionsSuccess=function(responseData){var reactions=JSON.parse(responseData);this.updateMessageReactions(reactions);this.delegate.checkIfShouldScrollDown();};this.onRefreshReactionsFailed=function(statusCode,errorMessage){};return this;} var ChatGroupNameEditor=function(container,delegate){this.chatGroupNameEditorContainer=container;this.delegate=delegate;this.ChatGroupNameEditorHolder=null;this.ChatGroupNameEditorInnerHolder=null;this.presentChatGroupNameEditorWithTitle=function(title=null){this.buildChatGroupNameEditor(title);this.chatGroupNameEditorContainer.style.display="block";};this.buildChatGroupNameEditor=function(title){this.ChatGroupNameEditorHolder=document.createElement('div');this.ChatGroupNameEditorHolder.className="ChatGroupNameEditorHolder";this.titleBar=document.createElement('div');this.titleBar.className="ChatGroupNameEditorHolderTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].ChatdetailsViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"info_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.ChatGroupNameEditorHolder.appendChild(this.titleBar);this.chatGroupNameEditorContainer.appendChild(this.ChatGroupNameEditorHolder);this.ChatGroupNameEditorInnerHolder=document.createElement('div');this.ChatGroupNameEditorInnerHolder.className="ChatGroupNameEditorInnerHolder";this.ChatGroupNameEditorHolder.appendChild(this.ChatGroupNameEditorInnerHolder);this.title=document.createElement('div');this.title.className="Title";this.title.innerHTML=s[l].ChatGroupNameEditorTitleText;this.ChatGroupNameEditorInnerHolder.appendChild(this.title);this.body=document.createElement('div');this.body.className="Body";this.ChatGroupNameEditorInnerHolder.appendChild(this.body);this.nameInputField=document.createElement('input');this.nameInputField.id="ChatGroupNameEditorNameInputFiled";this.nameInputField.type="text";this.nameInputField.maxLength="32";this.nameInputField.value=title;this.body.appendChild(this.nameInputField);this.nameInputField.addEventListener("keyup",function(event){this.counter.innerHTML=this.nameInputField.value.length+"/32";}.bind(this));this.counter=document.createElement('div');this.counter.className="Counter";this.counter.innerHTML=this.nameInputField.value.length+"/32";this.body.appendChild(this.counter);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.ChatGroupNameEditorInnerHolder.appendChild(this.buttonsHolder);this.button1=document.createElement('div');this.button1.className="Button1";this.button1.innerHTML=s[l].ChatGroupNameEditorButton1TitleText;this.buttonsHolder.appendChild(this.button1);this.button1.addEventListener('click',function(){var value=this.nameInputField.value;this.save(value);}.bind(this));this.button2=document.createElement('div');this.button2.className="Button2";this.button2.innerHTML=s[l].ChatGroupNameEditorButton2TitleText;this.buttonsHolder.appendChild(this.button2);this.button2.addEventListener('click',function(){this.dismiss();}.bind(this));} this.save=function(value){if(this.delegate!=null&&this.delegate.onChatGroupNameEditorNameUpdated!=undefined)this.delegate.onChatGroupNameEditorNameUpdated(value);this.dismiss();};this.dismiss=function(){this.chatGroupNameEditorContainer.style.display="none";this.chatGroupNameEditorContainer.innerHTML="";};} var ChatGroupPickerDialog=function(container,delegate){this.container=container;this.delegate=delegate;this.groupPickerDialogHolder=null;this.groupPickerDialogInnerHolder=null;this.data=null;this.selectedGroups=Array();this.present=function(data=null){this.selectedGroups=Array();this.data=data;this.buildDialog();this.getChatGroups();};this.buildDialog=function(){this.groupPickerDialogHolder=document.createElement('div');this.groupPickerDialogHolder.className="ChatGroupPickerDialogHolder";this.groupPickerDialogInnerHolder=document.createElement('div');this.groupPickerDialogInnerHolder.className="ChatGroupPickerDialogInnerHolder";this.titleBar=document.createElement('div');this.titleBar.className="TitleBar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].ChatGroupPickerDialogTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"users_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.groupPickerDialogHolder.appendChild(this.titleBar);this.groupPickerDialogHolder.appendChild(this.groupPickerDialogInnerHolder) this.container.appendChild(this.groupPickerDialogHolder);this.groupListTable=document.createElement("div");this.groupListTable.className="GroupListTable";this.groupListTableSearchBar=document.createElement("div");this.groupListTableSearchBar.className="SearchBar";this.groupListTitle=document.createElement("div");this.groupListTitle.className="GroupListTitle";this.groupListTitleIcon=document.createElement("div");this.groupListTitleIcon.className="GroupListIcon";this.groupListTableSearchBarSearchField=document.createElement("div");this.groupListTableSearchBarSearchField.className="SearchField";this.groupListTableSearchBarSearchIcon=document.createElement("div");this.groupListTableSearchBarSearchIcon.className="SearchIcon";this.groupListTableSearchInput=document.createElement("input");this.groupListTableSearchInput.type="text";this.groupListTableSearchBarClearButton=document.createElement("div");this.groupListTableSearchBarClearButton.className="SearchBarClearButton";this.groupListTableGroupsHolder=document.createElement("div");this.groupListTableGroupsHolder.className="GroupListTableGroupsHolder";this.buildGroupList();};this.buildGroupList=function(){this.groupListTableSearchBarSearchField.appendChild(this.groupListTableSearchInput);this.groupListTableSearchBarSearchField.appendChild(this.groupListTableSearchBarSearchIcon);this.groupListTableSearchBarSearchField.appendChild(this.groupListTableSearchBarClearButton);this.groupListTableSearchBar.appendChild(this.groupListTitleIcon);this.groupListTableSearchBar.appendChild(this.groupListTitle);this.groupListTableSearchBar.appendChild(this.groupListTableSearchBarSearchField);this.groupListTitle.innerHTML=s[l].ChatGroupPickerDialogTableTitle;this.groupListTable.appendChild(this.groupListTableSearchBar);this.groupListTable.appendChild(this.groupListTableGroupsHolder);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.addButton=document.createElement('div');this.addButton.className="Button";this.addButton.innerHTML=s[l].ChatGroupPickerDialogSelectButtonTitleText;this.buttonsHolder.appendChild(this.addButton);this.addButton.addEventListener('click',function(){this.onSelectButtonSelected();}.bind(this));this.cancelButton=document.createElement('div');this.cancelButton.className="Button";this.cancelButton.innerHTML=s[l].ChatGroupPickerDialogCancelButtonTitleText;this.buttonsHolder.appendChild(this.cancelButton);this.cancelButton.addEventListener('click',function(){this.onCancelButtonSelected();}.bind(this));this.groupListTable.appendChild(this.buttonsHolder);this.groupPickerDialogInnerHolder.appendChild(this.groupListTable);this.groupListTableSearchBarClearButton.addEventListener('click',function(){this.groupListTableSearchInput.value="";this.groupListTableSearchBarClearButton.style.display="none";this.getChatGroups(null);}.bind(this));this.groupListTableSearchInput.placeholder=s[l].ChatGroupPickerDialogTableSearchFieldPlaceholderText;this.groupListTableSearchInput.addEventListener("keyup",function(event){if(this.groupListTableSearchInput.value.length>1){this.getChatGroups(this.groupListTableSearchInput.value);}else if(this.groupListTableSearchInput.value.length==0){this.getChatGroups(null);} if(this.groupListTableSearchInput.value.length>0){this.groupListTableSearchBarClearButton.style.display="block";}else{this.groupListTableSearchBarClearButton.style.display="none";}}.bind(this));},this.populateGroupListTable=function(data=null){var groups=new Array();if(data.chat_groups!=undefined&&data.chat_groups.length>0) var chatGroups=data.chat_groups;var chatMembers=data.chat_members;if(data.chat_groups!=undefined&&data.chat_groups.length>0)for(var i=0;i0)for(var i=0;i0){for(var i=0;i0)this.delegate.onChatGroupPickerDialogEnded(this.selectedGroups,this.data);this.dismiss();};this.onCancelButtonSelected=function(){this.dismiss();};this.dismiss=function(){this.container.style.display="none";this.container.innerHTML="";};this.getChatGroups=function(search=null){var request=new NetworkRequest();var params="uid="+SessionManager.sessionData.uid+(search!=null&&search.length>0&&search.length<20?"&search="+encodeURIComponent(search):"");request.postRequest(Globals.ServicesURL.getChatGroupsURL,params,function(responseData){this.onGetChatGroupsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetChatGroupsFailed(statusCode,errorMessage)}.bind(this));};this.onGetChatGroupsSuccess=function(responseData){var data=JSON.parse(responseData);this.populateGroupListTable(data);this.container.style.display="block";};this.onGetChatGroupsFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var FilePicker=function(container,delegate){this.filePickerContainer=container;this.delegate=delegate;this.data=null;this.selectedFolderFD=0;this.filePicker=false;this.present=function(data=null,filePicker=false){this.data=data;this.filePicker=filePicker;this.filePickerContainer.innerHTML="";this.filePickerContainer.appendChild(this.buildFilePicker(this.data)) this.getCloudDriveFolderList(0,this.data.rootFolder);};this.buildFilePicker=function(data){this.filePickerHolder=document.createElement('div');this.filePickerHolder.className="FilePickerHolder";this.titleBar=document.createElement('div');this.titleBar.className="FilePickerHolderTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=(this.filePicker==true?s[l].FilePickerChooseFileTitleText:s[l].FilePickerChooseFolderTitleText);this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"cloud_drive_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.filePickerHolder.appendChild(this.titleBar);this.filePickerInnerHolder=document.createElement('div');this.filePickerInnerHolder.className="FilePickerInnerHolder";this.filePickerHolder.appendChild(this.filePickerInnerHolder);this.title=document.createElement('div');this.title.className="Title";this.title.innerHTML="";this.backButton=document.createElement('div');this.backButton.className="BackButton";if(s[l].Direction=="rtl")this.backButton.classList.add("BackButton_rtl");else this.backButton.classList.remove("BackButton_rtl");this.title.appendChild(this.backButton);this.backButton.addEventListener('click',function(){console.log("Parent:"+this.delegate.parentFolderFD);console.log("Root:"+this.data.rootFolder);this.delegate.getCloudDriveFolderList(this.delegate.parentFolderFD,this.data.rootFolder);console.log(this.data);}.bind({delegate:this,data:data}));this.titleIcon=document.createElement('div');this.titleIcon.className="Icon";this.title.appendChild(this.titleIcon);this.titleText=document.createElement('div');this.titleText.className="Text";this.titleText.innerHTML="";this.title.appendChild(this.titleText);this.filePickerInnerHolder.appendChild(this.title);this.body=document.createElement('div');this.body.className="Body";this.filePickerInnerHolder.appendChild(this.body);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.filePickerInnerHolder.appendChild(this.buttonsHolder);if(this.filePicker==false){this.button1=document.createElement('div');this.button1.className="Button1";this.button1.innerHTML=s[l].FilePickerButton1TitleText;this.buttonsHolder.appendChild(this.button1);this.button1.addEventListener('click',function(){this.save();}.bind(this));} this.button2=document.createElement('div');this.button2.className="Button2";if(this.filePicker==true)this.button2.classList.add("SingleButton");else this.button2.classList.remove("SingleButton");this.button2.innerHTML=s[l].FilePickerButton2TitleText;this.buttonsHolder.appendChild(this.button2);this.button2.addEventListener('click',function(){this.dismiss();}.bind(this));return this.filePickerHolder;};this.populateFolderContent=function(data){this.body.innerHTML="";if(data!=null&&data.path!=undefined&&data.path!=null){var pathCount=data.path.length;if(pathCount===0){this.titleText.innerText="/";this.selectedFolderFD=0;this.backButton.style.display="none";}else{this.backButton.style.display="inline-block";const currentFolder=data.path[pathCount-1];this.titleText.innerText=currentFolder.name;this.selectedFolderFD=currentFolder.fd;const parentId=(pathCount===1)?0:data.path[pathCount-2].fd;const newBackButton=this.backButton.cloneNode(true);this.backButton.parentNode.replaceChild(newBackButton,this.backButton);this.backButton=newBackButton;this.backButton.addEventListener('click',function(){this.getCloudDriveFolderList(parentId,this.data.rootFolder);}.bind(this));}} if(data!=null&&data.content!=undefined&&data.content!=null){var content=data.content;for(var i=0;i0?item.thumbnail_url:item.file_url)+"')";}else{var fileType=MIMETypeParseer.classMapper(metadata.content_type);icon.classList.add(fileType);} var name=document.createElement('div');name.className="Name";name.innerText=item.name;fileItem.appendChild(name);fileItem.addEventListener('click',function(){this.delegate.select(this.data);}.bind({delegate:this,data:item}));this.body.appendChild(fileItem);}}}else if(this.data.fd==undefined||parseInt(item.fd)!=parseInt(this.data.fd)){if(item.is_folder){var fileItem=document.createElement('div');fileItem.className="FolderItem";var icon=document.createElement('div');icon.className="Icon";icon.classList.add("Folder");fileItem.appendChild(icon);var name=document.createElement('div');name.className="Name";name.innerText=item.name;fileItem.appendChild(name);fileItem.addEventListener('click',function(){this.delegate.getCloudDriveFolderList(this.data.fd,this.delegate.data.rootFolder);}.bind({delegate:this,data:item}));this.body.appendChild(fileItem);}}}} this.filePickerContainer.style.display="block";};this.select=function(data){if(this.delegate!=null&&this.delegate.onFilePickerItemSelected!=undefined)this.delegate.onFilePickerItemSelected(this.data,data,this.filePicker);this.filePickerContainer.style.display="none";this.filePickerContainer.innerHTML="";};this.save=function(){var data={selectedFolderFD:this.selectedFolderFD};if(this.delegate!=null&&this.delegate.onFilePickerItemSelected!=undefined)this.delegate.onFilePickerItemSelected(this.data,data,this.filePicker);this.filePickerContainer.style.display="none";this.filePickerContainer.innerHTML="";};this.dismiss=function(){this.filePickerContainer.style.display="none";this.filePickerContainer.innerHTML="";};this.getCloudDriveFolderList=function(fd=0,root=0){var request=new NetworkRequest();var params="fd="+fd+"&root="+root;request.postRequest(Globals.ServicesURL.listCloudDriveFolderURL,params,function(responseData){this.onListCloudDriveFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onListCloudDriveFolderFailed(statusCode,errorMessage)}.bind(this));};this.onListCloudDriveFolderSuccess=function(responseData){this.populateFolderContent(JSON.parse(responseData));};this.onListCloudDriveFolderFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};};var FilenameEditor=function(container,delegate,title=null,icon=null,maxLength=40){this.filenameEditorEditorContainer=container;this.delegate=delegate;this.data=null;this.titlebarTitle=title;this.titlebarIconURL=icon;this.titleMaxLength=maxLength;this.filenameEditorHolder=null;this.filenameEditorInnerHolder=null;this.presentFilenameEditorWithTitle=function(title=null,data=null){this.filenameEditorEditorContainer.appendChild(this.buildFilenameEditor(title));this.filenameEditorEditorContainer.style.display="block";this.nameInputField.focus();this.data=data;};this.buildFilenameEditor=function(title){this.filenameEditorHolder=document.createElement('div');this.filenameEditorHolder.className="FilenameEditorHolder";this.titleBar=document.createElement('div');this.titleBar.className="FilenameEditorHolderTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=this.titlebarTitle this.titleBarIcon.style.backgroundImage="url('"+this.titlebarIconURL+"')";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.filenameEditorHolder.appendChild(this.titleBar);this.filenameEditorInnerHolder=document.createElement('div');this.filenameEditorInnerHolder.className="FilenameEditorInnerHolder";this.filenameEditorHolder.appendChild(this.filenameEditorInnerHolder);this.title=document.createElement('div');this.title.className="Title";this.title.innerHTML=s[l].FilenameEditorTitleText;this.filenameEditorInnerHolder.appendChild(this.title);this.body=document.createElement('div');this.body.className="Body";this.filenameEditorInnerHolder.appendChild(this.body);this.nameInputField=document.createElement('input');this.nameInputField.id="FilenameEditorNameInputFiled";this.nameInputField.type="text";this.nameInputField.maxLength=this.titleMaxLength;this.nameInputField.value=title;this.body.appendChild(this.nameInputField);this.nameInputField.addEventListener("keyup",function(event){this.counter.innerHTML=this.nameInputField.value.length+"/"+this.titleMaxLength;if(event.key==='Enter'){event.preventDefault();var value=this.nameInputField.value;this.save(value);}}.bind(this));this.counter=document.createElement('div');this.counter.className="Counter";this.counter.innerHTML=this.nameInputField.value.length+"/"+this.titleMaxLength;this.body.appendChild(this.counter);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.filenameEditorInnerHolder.appendChild(this.buttonsHolder);this.button1=document.createElement('div');this.button1.className="Button1";this.button1.innerHTML=s[l].FilenameEditorButton1TitleText;this.buttonsHolder.appendChild(this.button1);this.button1.addEventListener('click',function(){var value=this.nameInputField.value;this.save(value);}.bind(this));this.button2=document.createElement('div');this.button2.className="Button2";this.button2.innerHTML=s[l].FilenameEditorButton2TitleText;this.buttonsHolder.appendChild(this.button2);this.button2.addEventListener('click',function(){this.dismiss();}.bind(this));return this.filenameEditorHolder;} this.save=function(value){if(this.delegate!=null&&this.delegate.onFilenameEditorNameUpdated!=undefined)this.delegate.onFilenameEditorNameUpdated(value,this.data);this.dismiss();};this.dismiss=function(){this.filenameEditorEditorContainer.style.display="none";this.filenameEditorEditorContainer.innerHTML="";};} var FileExplorer=function(container,delegate){this.fileExplorerContainer=container;this.delegate=delegate;this.fileExplorerHolder=null;this.fileExplorerInnerHolder=null;this.imagesArray=null;this.filesArray=null;this.imageGrid=null;this.fileList=null;this.presentFileExpolorerWithImagesAndFiles=function(imagesArray=null,filesArray=null,selectedMenuItem){this.imagesArray=imagesArray;this.filesArray=filesArray;this.buildFileExplorer(imagesArray,filesArray,selectedMenuItem);this.fileExplorerContainer.style.display="block";};this.buildFileExplorer=function(imagesArray,filesArray,selectedMenuItem){this.fileExplorerContainer.innerHTML="";this.fileExplorerHolder=document.createElement('div');this.fileExplorerHolder.className="FileExplorerHolder";this.titleBar=document.createElement('div');this.titleBar.className="TitleBar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].FileExplorerTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"media_file_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="FileExplorerCloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.fileExplorerHolder.appendChild(this.titleBar);this.fileExplorerInnerHolder=document.createElement('div');this.fileExplorerInnerHolder.className="FileExplorerInnerHolder";this.menu=document.createElement('div');this.menu.className="FileExplorerMenu";this.fileExplorerInnerHolder.appendChild(this.menu);this.imagesMenuItem=document.createElement('div');this.imagesMenuItem.className="MenuItem";this.imagesMenuItem.innerHTML=s[l].FileExplorerMenuItemImagesTitleText;this.menu.appendChild(this.imagesMenuItem);this.imagesMenuItem.addEventListener("click",function(){this.fileList.style.display="none";this.filesMenuItem.classList.remove("Selected");this.imageGrid.style.display="block";this.imagesMenuItem.classList.add("Selected");}.bind(this));this.filesMenuItem=document.createElement('div');this.filesMenuItem.className="MenuItem";this.filesMenuItem.innerHTML=s[l].FileExplorerMenuItemFilesTitleText;this.menu.appendChild(this.filesMenuItem);this.filesMenuItem.addEventListener("click",function(){this.imageGrid.style.display="none";this.imagesMenuItem.classList.remove("Selected");this.fileList.style.display="block";this.filesMenuItem.classList.add("Selected");}.bind(this));this.imageGrid=document.createElement('div');this.imageGrid.className="FileExplorerImageGrid";this.fileExplorerInnerHolder.appendChild(this.imageGrid);this.populateImageGrid(imagesArray);this.fileList=document.createElement('div');this.fileList.className="FileExplorerFileList";this.fileExplorerInnerHolder.appendChild(this.fileList);this.populateFileList(filesArray);if(selectedMenuItem==0){this.imagesMenuItem.classList.add("Selected");this.imageGrid.style.display="block";}else{this.filesMenuItem.classList.add("Selected");this.fileList.style.display="block";} this.fileExplorerContainer.appendChild(this.fileExplorerHolder);this.fileExplorerHolder.appendChild(this.fileExplorerInnerHolder);} this.populateFileList=function(filesArray){this.fileList.innerHTML="";if(s[l].Direction=="rtl")this.fileList.classList.add('rtl');else this.fileList.classList.remove('rtl');for(var i=0;i"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.datePickersHolder=document.createElement("div");this.datePickersHolder.className="DatePickersHolder";if(this.isRange==false)this.datePickersHolder.classList.add("DatePickersHolderSinglePicker");domItem.appendChild(this.datePickersHolder);this.fromDatePickerHolder=document.createElement("div");this.fromDatePickerHolder.className="DatePickerHolder";this.datePickersHolder.appendChild(this.fromDatePickerHolder);var day=null;var month=null;var year=null;if(data!=null&&data.fromDateValue!=undefined){var date=new Date(data.fromDateValue);day=date.getDate();month=date.getMonth()+1;year=date.getFullYear();} this.fromDatePickerMenu=new DatePickerMenu(this.fromDatePickerHolder,this);this.fromDatePickerMenu.init(day,month,year);this.datePickerSpace=document.createElement("div");this.datePickerSpace.className="DatePickerSpace";this.datePickerSpace.innerHTML=" - ";if(this.isRange==false)this.datePickerSpace.classList.add('DatePickerSpaceHidden');this.datePickersHolder.appendChild(this.datePickerSpace);this.toDatePickerHolder=document.createElement("div");this.toDatePickerHolder.className="DatePickerHolder";if(this.isRange==false)this.toDatePickerHolder.classList.add("DatePickerHolderHidden");this.datePickersHolder.appendChild(this.toDatePickerHolder);var day=null;var month=null;var year=null;if(data!=null&&data.toDateValue!=undefined){var date=new Date(data.toDateValue);day=date.getDate();month=date.getMonth()+1;year=date.getFullYear();} this.toDatePickerMenu=new DatePickerMenu(this.toDatePickerHolder,this);this.toDatePickerMenu.init(day,month,year);if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormDatePickerInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.datePickersHolder.style.pointerEvents="none";this.fromDatePickerMenu.datePickerField.tabIndex="-1";this.toDatePickerMenu.datePickerField.tabIndex="-1";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.fromDateValue=this.fromDatePickerMenu.getSQLDate();formItem.toDateValue=(this.isRange?this.toDatePickerMenu.getSQLDate():null);formItem.isRange=this.isRange;formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={} formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formData.fromValue=this.fromDatePickerMenu.getSQLDate();formData.toValue=(this.isRange?this.toDatePickerMenu.getSQLDate():null);formData.isRange=this.isRange;return formData;},validate:function(){var isValid=true;this.validationMessageHolder.innerHTML=s[l].FormDatePickerInputValidationErrorText;var fromDateValue=this.fromDatePickerMenu.getSQLDate();var toDateValue=this.toDatePickerMenu.getSQLDate();var fromDate=new Date(fromDateValue);var toDate=new Date(toDateValue);if(this.manditoryFiled==true){if(fromDateValue==null)isValid=false;if(this.isRange==true){if(toDateValue==null)isValid=false;else if(fromDate>toDate){this.validationMessageHolder.innerHTML=s[l].FormDatePickerInputValidationInvalidRangeErrorText;isValid=false;}}} if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);this.advancedOptionsRangeFieldCheckbox=document.createElement('div');this.advancedOptionsRangeFieldCheckbox.className="Checkbox";if(this.isRange==true)this.advancedOptionsRangeFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsRangeFieldCheckbox);this.advancedOptionsRangeFieldCheckbox.addEventListener("click",function(){this.toggleRange();}.bind(this));this.advancedOptionsRangeFieldCheckboxLabel=document.createElement('div');this.advancedOptionsRangeFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsRangeFieldCheckboxLabel.innerHTML=s[l].FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsRangeFieldCheckboxLabel);this.advancedOptionsRangeFieldCheckboxLabel.addEventListener("click",function(){this.toggleRange();}.bind(this));},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}},toggleRange:function(){if(this.isRange==true){this.isRange=false;this.datePickerSpace.classList.add('DatePickerSpaceHidden');this.toDatePickerHolder.classList.add("DatePickerHolderHidden");this.advancedOptionsRangeFieldCheckbox.classList.remove("CheckboxSelected");this.datePickersHolder.classList.add("DatePickersHolderSinglePicker");this.toDatePickerMenu.setDate(null,null,null);}else{this.isRange=true;this.datePickerSpace.classList.remove('DatePickerSpaceHidden');this.toDatePickerHolder.classList.remove("DatePickerHolderHidden");this.advancedOptionsRangeFieldCheckbox.classList.add("CheckboxSelected");this.datePickersHolder.classList.remove("DatePickersHolderSinglePicker");}},onDatePickerMenuPresented:function(datePickerMenu){if(this.delegate!=null&&this.delegate.onFormDatePickerInputActive)this.delegate.onFormDatePickerInputActive(this);if(datePickerMenu==this.fromDatePickerMenu){this.toDatePickerMenu.hideMenu();}else{this.fromDatePickerMenu.hideMenu();} this.hideValidationMessage();},onDatePickerMenuDismissed:function(datePickerMenu){}});};var FormFileUploadInput=function(){return JS.subClass(JSFormItem,{name:"FormFileUploadInput",placeholderText:"",editable:false,manditoryFiled:true,fileSelected:false,fileContent:null,filename:null,fileType:null,fileSize:null,menuIcon:Globals.iconsPath+"file_upload_black.svg",create:function(domItem,data){this.placeholderText=s[l].FormFileUploadInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.fileNameHolder=document.createElement('div');this.fileNameHolder.className="FileNameHolder";this.fileNameIcon=document.createElement('div');this.fileNameIcon.className="Icon";this.fileNameHolder.appendChild(this.fileNameIcon);this.fileNameLabel=document.createElement('div');this.fileNameLabel.className="Filename";this.fileNameHolder.appendChild(this.fileNameLabel);this.fileNameLabel.addEventListener('click',function(){var downloadLink=document.createElement("a");downloadLink.href=this.fileContent;downloadLink.download=this.filename;downloadLink.click();}.bind(this));domItem.appendChild(this.fileNameHolder);this.setupMenu(domItem);if(data!=null&&data.file!=undefined&&data.file!=null){this.fileContent=data.file;this.filename=data.filename;this.fileType=data.filetype;this.fileSize=data.filesize;this.fileNameLabel.innerHTML=this.filename;this.fileSelected=true;this.uploadButton.style.opacity="0.0";this.resetButton.style.opacity="1.0";this.fileNameHolder.style.display="block";} if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormFileUploadInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},setupMenu:function(domItem){this.buttonsMenu=document.createElement('div');this.buttonsMenu.className="ButtonMenu";domItem.appendChild(this.buttonsMenu);this.resetButton=document.createElement('div');this.resetButton.className="ResetButton";this.resetButton.innerHTML=s[l].FormFileUploadInputResetButtonTitleText;this.buttonsMenu.appendChild(this.resetButton);this.resetButton.addEventListener('click',function(){this.resetFile();}.bind(this));this.space=document.createElement('div');this.space.className="Space";this.buttonsMenu.appendChild(this.space);this.uploadButton=document.createElement('div');this.uploadButton.className="UploadButton";this.uploadButton.innerHTML=s[l].FormFileUploadInputUploadButtonTitleText;this.buttonsMenu.appendChild(this.uploadButton);this.inputFile=document.createElement('input');this.inputFile.type="file";this.inputFile.accept="application/pdf, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-powerpoint, text/plain";this.inputFile.style.display="none";this.uploadButton.appendChild(this.inputFile);this.uploadButton.addEventListener("click",function(){this.inputFile.click();this.hideValidationMessage();}.bind(this));this.inputFile.addEventListener('change',function(){this.loadFile();}.bind(this));},loadFile:function(){var fileInput=this.inputFile;var file=fileInput.files[0];this.filename=fileInput.files[0].name;this.fileType=fileInput.files[0].type;this.fileSize=fileInput.files[0].size;fileInput.value=null;this.fileSelected=true;this.uploadButton.style.opacity="0.0";this.resetButton.style.opacity="1.0";this.fileNameLabel.innerHTML=this.filename;this.fileNameHolder.style.display="block";var reader=new FileReader();reader.readAsDataURL(file);reader.onload=(event)=>{this.fileContent=event.target.result;}},resetFile:function(){this.fileSelected=false;this.fileContent=null;this.fileNameHolder.style.display="none";this.filename=null;this.uploadButton.style.opacity="1.0";this.resetButton.style.opacity="0.0";},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.buttonsMenu.style.display="none";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.manditoryFiled=this.manditoryFiled;formItem.file=(this.fileContent!=null?encodeURIComponent(this.fileContent):null);formItem.filename=(this.filename!=null?this.filename:null);formItem.extension=(this.filename!=null?this.filename.split('.').pop():null);formItem.filetype=(this.fileType!=null?this.fileType:null);formItem.filesize=(this.fileSize!=null?this.fileSize:null);return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formData.file=(this.fileContent!=null?encodeURIComponent(this.fileContent):null);formData.filename=(this.filename!=null?this.filename:null);formData.extension=(this.filename!=null?this.filename.split('.').pop():null);formData.filetype=(this.fileType!=null?this.fileType:null);formData.filesize=(this.fileSize!=null?this.fileSize:null);return formData},validate:function(){var isValid=true;if(this.manditoryFiled==true){isValid=(this.fileContent!=null?true:false);if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();}} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}}});} var FormMultiSelectionInput=function(){return JS.subClass(JSFormItem,{name:"FormMultiSelectionInput",placeholderText:"",editable:false,manditoryFiled:true,optionsList:null,menuIcon:Globals.iconsPath+"check_box_checked_black.svg",create:function(domItem,data){this.placeholderText=s[l].FormMultiSelectionInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.populateOptions(domItem,data);if(this.editable==true){this.buildOptionsMenu(domItem);this.buildAdvancedMenu(domItem,data);} this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormMultiSelectionInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},populateOptions:function(domItem,data){this.optionsHolder=document.createElement('div');this.optionsHolder.className="OptionsHolder";domItem.appendChild(this.optionsHolder);this.optionsList=new Array();if(data==null||data.list==undefined){data={list:[{selected:false,value:"",placeholder:s[l].FormMultiSelectionInputOptionPlaceholderText+" "+1},{selected:false,value:"",placeholder:s[l].FormMultiSelectionInputOptionPlaceholderText+" "+2},{selected:false,value:"",placeholder:s[l].FormMultiSelectionInputOptionPlaceholderText+" "+3},{selected:false,value:"",placeholder:s[l].FormMultiSelectionInputOptionPlaceholderText+" "+4}]};} for(var i=0;i"||this.title.innerHTML==""){this.title.innerHTML="";this.title.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.checkbox.addEventListener('click',function(){this.onSelected(this);}.bind(this));if(this.editable==false){this.title.addEventListener('click',function(){this.onSelected(this);}.bind(this));} if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";this.domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener('click',function(){this.onDelete(this);}.bind(this));}};this.setSelected=function(isSelected){this.selected=isSelected;if(this.selected==true)this.checkbox.classList.add("Selected");else this.checkbox.classList.remove("Selected");};this.onSelected=function(option){this.setSelected(!this.selected);if(this.delegate!=null&&this.delegate.onOptionSelected!=undefined)this.delegate.onOptionSelected(this);};this.onDelete=function(option){if(this.delegate!=null&&this.delegate.onOptionDelete!=undefined)this.delegate.onOptionDelete(this);};this.serialize=function(){var item={} item.selected=this.selected;item.placeholder=this.placeholderText;item.id=this.id;item.value=encodeURIComponent(this.title.innerText);return item;};};var i=new Item(data);i.init();return i;},onOptionSelected:function(selectedOption){this.hideValidationMessage();},onOptionDelete:function(deletedOption){for(var i=0;i"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} var menu=this.buildMenu();this.setupCanvas(domItem,data);domItem.appendChild(menu);if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormPhotoUploadInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},setupCanvas:function(domItem,data){this.canvasHolder=document.createElement('div');this.canvasHolder.className="CanvasHolder";domItem.appendChild(this.canvasHolder);this.canvas=document.createElement('canvas');this.canvas.className="Canvas";this.canvasHolder.appendChild(this.canvas);window.addEventListener("resize",function(){this.resizeCanvas();if(this.image!=null){this.drawOnCanvas(this.canvas,this.image);}}.bind(this));setTimeout(function(){this.resizeCanvas();}.bind(this),200);this.ctx=this.canvas.getContext("2d");if(data!=null&&data.image!=undefined){this.uploadButton.style.opacity="0.0";this.resetButton.style.opacity="1.0";this.canvasHolder.style.display="block";setTimeout(function(){var img=new Image;img.onload=function(){this.delegate.drawOnCanvas(this.delegate.canvas,this.img);}.bind({delegate:this.delegate,img:img});img.src=this.data.image;this.delegate.image=img;this.delegate.canvasIsDirty=true;this.delegate.resetButton.classList.add("ResetButton_Visible");}.bind({delegate:this,data:data}),300);}},buildMenu:function(){this.buttonsMenu=document.createElement('div');this.buttonsMenu.className="ButtonMenu";this.resetButton=document.createElement('div');this.resetButton.className="ResetButton";this.resetButton.innerHTML=s[l].FormPhotoUploadInputResetButtonTitleText;this.buttonsMenu.appendChild(this.resetButton);this.resetButton.addEventListener('click',function(){this.resetCanvas();}.bind(this));this.space=document.createElement('div');this.space.className="Space";this.buttonsMenu.appendChild(this.space);this.uploadButton=document.createElement('div');this.uploadButton.className="UploadButton";this.uploadButton.innerHTML=s[l].FormPhotoUploadInputUploadButtonTitleText;this.buttonsMenu.appendChild(this.uploadButton);this.pictureFile=document.createElement('input');this.pictureFile.type="file";this.pictureFile.accept="image/png, image/jpeg";this.pictureFile.style.display="none";this.uploadButton.appendChild(this.pictureFile);this.uploadButton.addEventListener("click",function(){this.pictureFile.click();this.hideValidationMessage();}.bind(this));this.pictureFile.addEventListener('change',function(){this.loadImage();}.bind(this));return this.buttonsMenu;},resizeCanvas:function(){var boundingRect=this.canvasHolder.getBoundingClientRect();this.canvas.width=boundingRect.width;this.canvas.height=boundingRect.width*480/640;},resetCanvas:function(){this.uploadButton.style.opacity="1.0";this.resetButton.style.opacity="0.0";this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);this.canvasHolder.style.display="none";this.canvasIsDirty=false;this.image=null;},loadImage:function(){var fileInput=this.pictureFile;var file=fileInput.files[0];fileInput.value=null;this.uploadButton.style.opacity="0.0";this.resetButton.style.opacity="1.0";this.canvasHolder.style.display="block";this.resizeCanvas();var reader=new FileReader();reader.readAsDataURL(file);reader.onload=(event)=>{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(this.canvas,img);}.bind(this);img.src=this.url;this.image=img;}},drawOnCanvas:function(canvas,img){var ctx=canvas.getContext('2d');if(img.width>=img.height){var h=canvas.height;var w=canvas.height*(img.width/img.height);var dw=(w-canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=canvas.width*(img.height/img.width);var w=canvas.width;var dh=(h-canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);} this.canvasIsDirty=true;},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.buttonsMenu.style.display="none";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.image=(this.canvasIsDirty==true?encodeURIComponent(this.canvas.toDataURL("image/jpg")):null);formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formData.image=(this.canvasIsDirty==true?encodeURIComponent(this.canvas.toDataURL("image/jpg")):null);return formData},validate:function(){var isValid=true;if(this.manditoryFiled==true){isValid=(this.canvasIsDirty==true?true:false);if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();}} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}}});} var FormRatingInput=function(){return JS.subClass(JSFormItem,{name:"FormRatingInput",placeholderText:"",editable:false,menuIcon:Globals.iconsPath+"star_empty_black.svg",starsArray:null,value:0,manditoryFiled:true,create:function(domItem,data){this.placeholderText=s[l].FormRatingInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);if(data!=null&&data.value!=undefined)this.value=data.value;if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;domItem.appendChild(this.textInput);this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.starsHolder=document.createElement("div");this.starsHolder.className="StarsHolder";domItem.appendChild(this.starsHolder);this.starsArray=Array();for(var i=0;i<5;i++){var star=document.createElement("div");star.className="Star";if(this.value>i)star.classList.add("Selected");else star.classList.add("Unselected");this.starsArray.push(star);this.starsHolder.appendChild(star);star.addEventListener('click',function(){this.delegate.redrawStars(this.value);}.bind({delegate:this,value:i+1}));} if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormRatingInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},redrawStars:function(newValue){if(this.value==1&&newValue==1){for(var i=0;i<5;i++){star=this.starsArray[i];star.classList.remove("Selected");star.classList.add("Unselected");} this.value=0;}else{this.value=newValue;for(var i=0;i<5;i++){var star=this.starsArray[i];if(this.value>i){star.classList.remove("Unselected");star.classList.add("Selected");}else{star.classList.remove("Selected");star.classList.add("Unselected");}}}},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.starsHolder.style.pointerEvents="none";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.value=this.value;formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerText);formData.value=this.value;return formData},validate:function(){var isValid=true;if(this.manditoryFiled==true){isValid=(this.value>0?true:false)} if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}},});};var FormSignatureInput=function(){return JS.subClass(JSFormItem,{name:"FormSignatureInput",placeholderText:"",editable:false,manditoryFiled:true,enableDraw:false,isTouch:false,canvasIsDirty:false,menuIcon:Globals.iconsPath+"signature_black.svg",canvas:null,create:function(domItem,data){domItem.tabIndex='0';this.placeholderText=s[l].FormSignatureInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.setupCanvas(domItem,data);if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormSignatureInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},setupCanvas:function(domItem,data){this.canvasHolder=document.createElement('div');this.canvasHolder.className="CanvasHolder";domItem.appendChild(this.canvasHolder);this.canvas=document.createElement('canvas');this.canvas.className="Canvas";this.canvas.width="260";this.canvas.height="160";this.canvasHolder.appendChild(this.canvas);this.ctx=this.canvas.getContext("2d");this.resetButtonHolder=document.createElement('div');this.resetButtonHolder.className="ResetButtonHolder";this.canvasHolder.appendChild(this.resetButtonHolder);this.resetButton=document.createElement('div');this.resetButton.className="ResetButton";this.resetButton.innerHTML=s[l].FormSignatureInputResetButtonTitleText;this.resetButtonHolder.appendChild(this.resetButton);this.resetButton.addEventListener('click',function(){this.resetCanvas();}.bind(this));this.signatureText=document.createElement('div');this.signatureText.className="SignatureText";this.signatureText.innerHTML=s[l].FormSignatureInputSignatureText;this.resetButtonHolder.appendChild(this.signatureText);if(data!=null&&data.signature!=undefined){var img=new Image;img.onload=function(){this.delegate.ctx.drawImage(this.img,0,0);}.bind({delegate:this,img:img});img.src=data.signature;this.canvasIsDirty=true;this.resetButton.classList.add("ResetButton_Visible");} this.coord={x:0,y:0};this.canvas.addEventListener("mousedown",function(e){this.start(e)}.bind(this));this.canvas.addEventListener("mouseup",function(e){this.stop(e)}.bind(this));this.canvas.addEventListener("mouseout",function(e){this.stop(e)}.bind(this));this.canvas.addEventListener("mousemove",function(e){this.draw(e);}.bind(this));this.canvas.addEventListener("touchstart",function(e){this.isTouch=true;this.start(e)}.bind(this));this.canvas.addEventListener("touchend",function(e){this.stop(e) this.isTouch=false;}.bind(this));this.canvas.addEventListener("touchmove",function(e){this.draw(e);}.bind(this));this.start=function(event){this.domItem.focus();event.preventDefault();event.stopPropagation();this.reposition(event);this.enableDraw=true;} this.reposition=function(event){if(this.isTouch){var touch=event.targetTouches[0];this.coord.x=touch.pageX-this.canvas.getBoundingClientRect().x this.coord.y=touch.pageY-this.canvas.getBoundingClientRect().y;}else{this.coord.x=event.clientX-this.canvas.getBoundingClientRect().x this.coord.y=event.clientY-this.canvas.getBoundingClientRect().y;}} this.stop=function(event){event.preventDefault();event.stopPropagation();if(this.enableDraw){this.canvasIsDirty=true;this.resetButton.classList.add("ResetButton_Visible");this.hideValidationMessage();} this.enableDraw=false;} this.draw=function(event){if(this.enableDraw==true){this.ctx.beginPath();this.ctx.lineWidth=3;this.ctx.lineCap="round";this.ctx.strokeStyle="#3b3a3a";this.ctx.moveTo(this.coord.x,this.coord.y);this.reposition(event);this.ctx.lineTo(this.coord.x,this.coord.y);this.ctx.stroke();}}},resetCanvas:function(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);this.resetButton.classList.remove("ResetButton_Visible");this.canvasIsDirty=false;},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},ttle:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.resetButton.style.opacity="0";this.canvas.style.pointerEvents="none";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.signature=(this.canvasIsDirty==true?encodeURIComponent(this.canvas.toDataURL("image/png")):null);formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formData.signature=(this.canvasIsDirty==true?encodeURIComponent(this.canvas.toDataURL("image/png")):null);return formData},validate:function(){var isValid=true;if(this.manditoryFiled==true){isValid=(this.canvasIsDirty==true?true:false);if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();}} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}}});} var FormSingleSelectionInput=function(){return JS.subClass(JSFormItem,{name:"FormSingleSelectionInput",placeholderText:"",editable:false,manditoryFiled:true,optionsList:null,menuIcon:Globals.iconsPath+"radio_button_checked_black.svg",create:function(domItem,data){this.placeholderText=s[l].FormSingleSelectionInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.populateOptions(domItem,data);if(this.editable==true){this.buildOptionsMenu(domItem);this.buildAdvancedMenu(domItem,data);} this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormSingleSelectionInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},populateOptions:function(domItem,data){this.optionsHolder=document.createElement('div');this.optionsHolder.className="OptionsHolder";domItem.appendChild(this.optionsHolder);this.optionsList=new Array();if(data==null||data.list==undefined){data={list:[{selected:false,value:"",placeholder:s[l].FormSingleSelectionInputOptionPlaceholderText+" "+1},{selected:false,value:"",placeholder:s[l].FormSingleSelectionInputOptionPlaceholderText+" "+2},{selected:false,value:"",placeholder:s[l].FormSingleSelectionInputOptionPlaceholderText+" "+3},{selected:false,value:"",placeholder:s[l].FormSingleSelectionInputOptionPlaceholderText+" "+4}]};} for(var i=0;i"||this.title.innerHTML==""){this.title.innerHTML="";this.title.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.checkbox.addEventListener('click',function(){this.onSelected(this);}.bind(this));if(this.editable==false){this.title.addEventListener('click',function(){this.onSelected(this);}.bind(this));} if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";this.domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener('click',function(){this.onDelete(this);}.bind(this));}};this.setSelected=function(isSelected){this.selected=isSelected;if(this.selected==true)this.checkbox.classList.add("Selected");else this.checkbox.classList.remove("Selected");};this.onSelected=function(option){this.setSelected(!this.selected);if(this.delegate!=null&&this.delegate.onOptionSelected!=undefined)this.delegate.onOptionSelected(this);};this.onDelete=function(option){if(this.delegate!=null&&this.delegate.onOptionDelete!=undefined)this.delegate.onOptionDelete(this);};this.serialize=function(){var item={} item.selected=this.selected;item.placeholder=this.placeholderText;item.value=encodeURIComponent(this.title.innerText);return item;};};var i=new Item(data);i.init();return i;},onOptionSelected:function(selectedOption){this.hideValidationMessage();for(var i=0;i"||this.textArea.innerHTML==""){this.textArea.innerHTML="";this.textArea.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');}},performAction:function(command){document.execCommand(command,false,null);this.textArea.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textArea.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textArea.innerHTML=title;},title:function(){return this.textArea.innerHTML;},lock:function(){},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textArea.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textArea.innerText);formData.value=null;return formData},validate:function(){return true;}});} var FormTextInput=function(){return JS.subClass(JSFormItem,{name:"FormTextInput",placeholderText:"",editable:false,menuIcon:Globals.iconsPath+"match_case_black.svg",create:function(domItem,data){this.placeholderText=s[l].FormTextInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');}},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerText);formData.value=null;return formData},validate:function(){return true;}});};var FormTextQuestion=function(){return JS.subClass(JSFormItem,{name:"FormTextQuestion",questionPlaceholderText:"",answerPlaceholderText:"",editable:false,manditoryFiled:true,menuIcon:Globals.iconsPath+"text_question_black.svg",create:function(domItem,data){this.questionPlaceholderText=s[l].FormTextQuestionQuestionPlaceholderText;this.answerPlaceholderText=s[l].FormTextQuestionAnswerPlaceholderText;this.innerHolder=document.createElement('div');this.innerHolder.className="FormTextQuestionInnerHolder";domItem.appendChild(this.innerHolder);this.questionTextArea=document.createElement('div');this.questionTextArea.className="TextArea";this.questionTextArea.contentEditable=this.editable;if(data!=null&&data.questionplaceholder!=undefined)this.questionPlaceholderText=data.questionplaceholder;if(data!=null&&data.answerplaceholder!=undefined)this.answerPlaceholderText=data.answerplaceholder;if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.questionTextArea.setAttribute("placeholder",this.questionPlaceholderText);if(data!=null&&data.title!=undefined)this.questionTextArea.innerHTML=decodeURIComponent(data.title);this.innerHolder.appendChild(this.questionTextArea);this.questionTextArea.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.questionTextArea.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.questionTextArea.innerHTML=="
"||this.questionTextArea.innerHTML==""){this.questionTextArea.innerHTML="";this.questionTextArea.setAttribute("placeholder",this.questionPlaceholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";this.innerHolder.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});this.answerTextArea=document.createElement('div');this.answerTextArea.className="AnswerTextArea";this.answerTextArea.contentEditable="true";this.answerTextArea.setAttribute("placeholder",this.answerPlaceholderText);if(data!=null&&data.value!=undefined)this.answerTextArea.innerHTML=decodeURIComponent(data.value);this.innerHolder.appendChild(this.answerTextArea);this.answerTextArea.addEventListener("focusout",function(event){if(this.answerTextArea.innerHTML=="
"||this.answerTextArea.innerHTML==""){this.answerTextArea.innerHTML="";this.answerTextArea.setAttribute("placeholder",this.answerPlaceholderText);}}.bind(this));this.answerTextArea.addEventListener('keyup',function(){if(this.answerTextArea.innerHTML.length>0)this.hideValidationMessage();}.bind(this));if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormTextQuestionValidationErrorText;domItem.appendChild(this.validationMessageHolder);},performAction:function(command){document.execCommand(command,false,null);this.questionTextArea.focus();},setQuestionPlaceHolderText:function(text){this.questionPlaceholderText=text;this.questionTextArea.setAttribute("placeholder",this.questionPlaceholderText);},setAnswerPlaceHolderText:function(text){this.answerPlaceholderText=text;this.answerTextArea.setAttribute("placeholder",this.answerPlaceholderText);},lock:function(){this.isLocked=true;this.answerTextArea.contentEditable=false;},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.questionTextArea.innerHTML.replace(/\"/g,"'"));formItem.value=encodeURIComponent(this.answerTextArea.innerHTML.replace(/\"/g,"'"));formItem.questionplaceholder=this.questionPlaceholderText;formItem.answerplaceholder=this.answerPlaceholderText;formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={};formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.questionTextArea.innerText);formData.value=encodeURIComponent(this.answerTextArea.innerText);return formData},validate:function(){var isValid=true;if(this.manditoryFiled==true){isValid=(this.answerTextArea.innerHTML.length>0?true:false);} if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}},});} var FormTimePickerInput=function(){return JS.subClass(JSFormItem,{name:"FormTimePickerInput",placeholderText:"",editable:false,manditoryFiled:true,isRange:false,menuIcon:Globals.iconsPath+"time_black.svg",timePickersHolder:null,fromTimePickerHolder:null,toTimePickerHolder:null,create:function(domItem,data){this.placeholderText=s[l].FormTimePickerInputPlaceholderText;this.textInput=document.createElement('div');this.textInput.className="TextInput";this.textInput.contentEditable=this.editable;if(data!=null&&data.placeholder!=undefined)this.placeholderText=data.placeholder;this.textInput.setAttribute("placeholder",this.placeholderText);if(data!=null&&data.title!=undefined)this.textInput.innerHTML=decodeURIComponent(data.title);domItem.appendChild(this.textInput);if(data!=null&&data.isRange!=undefined)this.isRange=data.isRange;if(data!=null&&data.manditoryFiled!=undefined)this.manditoryFiled=data.manditoryFiled;this.textInput.addEventListener("focus",function(event){this.toolbar.style.height="40px";}.bind(this));this.textInput.addEventListener("focusout",function(event){this.toolbar.style.height="0px";if(this.textInput.innerHTML=="
"||this.textInput.innerHTML==""){this.textInput.innerHTML="";this.textInput.setAttribute("placeholder",this.placeholderText);}}.bind(this));this.toolbar=document.createElement('div');this.toolbar.className="Toolbar";domItem.appendChild(this.toolbar);this.boldButton=document.createElement('div');this.boldButton.className="Button";this.boldButton.style.backgroundImage="url('/assets/images/icons/format_bold_black.svg')";this.toolbar.appendChild(this.boldButton);this.boldButton.addEventListener('click',function(event){this.performAction("bold");}.bind(this));this.boldButton.addEventListener('mousedown',function(event){event.preventDefault();});this.italicButton=document.createElement('div');this.italicButton.className="Button";this.italicButton.style.backgroundImage="url('/assets/images/icons/format_italic_black.svg')";this.toolbar.appendChild(this.italicButton);this.italicButton.addEventListener('click',function(event){this.performAction("italic");}.bind(this));this.italicButton.addEventListener('mousedown',function(event){event.preventDefault();});this.underlinedButton=document.createElement('div');this.underlinedButton.className="Button";this.underlinedButton.style.backgroundImage="url('/assets/images/icons/format_underlined_black.svg')";this.toolbar.appendChild(this.underlinedButton);this.underlinedButton.addEventListener('click',function(event){this.performAction("underline");}.bind(this));this.underlinedButton.addEventListener('mousedown',function(event){event.preventDefault();});if(this.editable==true){this.deleteButton=document.createElement('div');this.deleteButton.className="DeleteButton";domItem.appendChild(this.deleteButton);this.deleteButton.addEventListener("click",function(){if(this.delegate!=null&&this.delegate.onFormItemDeleteButtonClicked!=undefined)this.delegate.onFormItemDeleteButtonClicked(this);}.bind(this));if(s[l].Direction=="rtl")this.deleteButton.classList.add('DeleteButton_rtl');} this.timePickersHolder=document.createElement("div");this.timePickersHolder.className="TimePickersHolder";if(this.isRange==false)this.timePickersHolder.classList.add("TimePickersHolderSinglePicker");domItem.appendChild(this.timePickersHolder);this.fromTimePickerHolder=document.createElement("div");this.fromTimePickerHolder.className="TimePickerHolder";this.timePickersHolder.appendChild(this.fromTimePickerHolder);var hours=null;var minutes=null;if(data!=null&&data.fromTimeValue!=undefined){var time=data.fromTimeValue.split(":");hours=time[0];minutes=time[1];} this.fromTimePickerMenu=new TimePickerMenu(this.fromTimePickerHolder,this);this.fromTimePickerMenu.init(hours,minutes);this.timePickerSpace=document.createElement("div");this.timePickerSpace.className="TimePickerSpace";this.timePickerSpace.innerHTML=" - ";if(this.isRange==false)this.timePickerSpace.classList.add('TimePickerSpaceHidden');this.timePickersHolder.appendChild(this.timePickerSpace);this.toTimePickerHolder=document.createElement("div");this.toTimePickerHolder.className="TimePickerHolder";if(this.isRange==false)this.toTimePickerHolder.classList.add("TimePickerHolderHidden");this.timePickersHolder.appendChild(this.toTimePickerHolder);hours=null;minutes=null;if(data!=null&&data.toTimeValue!=undefined){var time=data.toTimeValue.split(":");hours=time[0];minutes=time[1];} this.toTimePickerMenu=new TimePickerMenu(this.toTimePickerHolder,this);this.toTimePickerMenu.init(hours,minutes);if(this.editable==true)this.buildAdvancedMenu(domItem,data);this.validationMessageHolder=document.createElement('div');this.validationMessageHolder.className="ValidationMessageHolder";this.validationMessageHolder.innerHTML=s[l].FormTimePickerInputValidationErrorText;domItem.appendChild(this.validationMessageHolder);},performAction:function(command){document.execCommand(command,false,null);this.textInput.focus();},setPlaceHolderText:function(text){this.placeholderText=text;this.textInput.setAttribute("placeholder",this.placeholderText);},setTitle:function(title){this.textInput.innerHTML=title;},title:function(){return this.textInput.innerHTML;},lock:function(){this.isLocked=true;this.timePickersHolder.style.pointerEvents="none";this.fromTimePickerMenu.timePickerField.tabIndex="-1";this.toTimePickerMenu.timePickerField.tabIndex="-1";},serialize:function(){var formItem={} formItem.type=this.name;formItem.id=this.id;formItem.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formItem.placeholder=this.placeholderText;formItem.fromTimeValue=this.fromTimePickerMenu.getTime();formItem.toTimeValue=this.toTimePickerMenu.getTime();formItem.isRange=this.isRange;formItem.manditoryFiled=this.manditoryFiled;return formItem;},getData:function(){var formData={} formData.type=this.name;formData.id=this.id;formData.title=encodeURIComponent(this.textInput.innerHTML.replace(/\"/g,"'"));formData.fromValue=this.fromTimePickerMenu.getTime();formData.toValue=this.toTimePickerMenu.getTime();formData.isRange=this.isRange;return formData;},validate:function(){var isValid=true;this.validationMessageHolder.innerHTML=s[l].FormTimePickerInputValidationErrorText;var fromTimeValue=this.fromTimePickerMenu.getTime();var toTimeValue=this.toTimePickerMenu.getTime();if(this.manditoryFiled==true){if(fromTimeValue==null)isValid=false;if(this.isRange==true){if(toTimeValue==null)isValid=false;else if(fromTimeValue>toTimeValue){this.validationMessageHolder.innerHTML=s[l].FormTimePickerInputValidationInvalidRangeErrorText;isValid=false;}}} if(isValid==false){this.showValidationMessage();}else{this.hideValidationMessage();} return isValid;},showValidationMessage:function(){this.validationMessageHolder.style.display="block";},hideValidationMessage:function(){this.validationMessageHolder.style.display="none";},buildAdvancedMenu:function(domItem,data){this.advancedOptionsMenu=document.createElement('div');this.advancedOptionsMenu.className="FormInputAdvancedMenuOptionsMenu";this.domItem.appendChild(this.advancedOptionsMenu);this.advancedOptionsManditoryFieldCheckbox=document.createElement('div');this.advancedOptionsManditoryFieldCheckbox.className="Checkbox";if(this.manditoryFiled==true)this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckbox);this.advancedOptionsManditoryFieldCheckbox.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsManditoryFieldCheckboxLabel=document.createElement('div');this.advancedOptionsManditoryFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsManditoryFieldCheckboxLabel.innerHTML=s[l].FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsManditoryFieldCheckboxLabel);this.advancedOptionsManditoryFieldCheckboxLabel.addEventListener("click",function(){this.toggleIsManditory();}.bind(this));this.advancedOptionsSpace=document.createElement('div');this.advancedOptionsSpace.className="Space";this.advancedOptionsMenu.appendChild(this.advancedOptionsSpace);this.advancedOptionsRangeFieldCheckbox=document.createElement('div');this.advancedOptionsRangeFieldCheckbox.className="Checkbox";if(this.isRange==true)this.advancedOptionsRangeFieldCheckbox.classList.add("CheckboxSelected");this.advancedOptionsMenu.appendChild(this.advancedOptionsRangeFieldCheckbox);this.advancedOptionsRangeFieldCheckbox.addEventListener("click",function(){this.toggleRange();}.bind(this));this.advancedOptionsRangeFieldCheckboxLabel=document.createElement('div');this.advancedOptionsRangeFieldCheckboxLabel.className="CheckboxLabel";this.advancedOptionsRangeFieldCheckboxLabel.innerHTML=s[l].FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel;this.advancedOptionsMenu.appendChild(this.advancedOptionsRangeFieldCheckboxLabel);this.advancedOptionsRangeFieldCheckboxLabel.addEventListener("click",function(){this.toggleRange();}.bind(this));},toggleIsManditory:function(){if(this.manditoryFiled==true){this.manditoryFiled=false;this.advancedOptionsManditoryFieldCheckbox.classList.remove("CheckboxSelected");}else{this.advancedOptionsManditoryFieldCheckbox.classList.add("CheckboxSelected");this.manditoryFiled=true;}},toggleRange:function(){if(this.isRange==true){this.isRange=false;this.timePickerSpace.classList.add('TimePickerSpaceHidden');this.toTimePickerHolder.classList.add("TimePickerHolderHidden");this.advancedOptionsRangeFieldCheckbox.classList.remove("CheckboxSelected");this.timePickersHolder.classList.add("TimePickersHolderSinglePicker");this.toTimePickerMenu.setTime(null,null);}else{this.isRange=true;this.timePickerSpace.classList.remove('TimePickerSpaceHidden');this.toTimePickerHolder.classList.remove("TimePickerHolderHidden");this.advancedOptionsRangeFieldCheckbox.classList.add("CheckboxSelected");this.timePickersHolder.classList.remove("TimePickersHolderSinglePicker");}},onTimePickerMenuPresented:function(timePickerMenu){if(timePickerMenu==this.fromTimePickerMenu){this.toTimePickerMenu.hideMenu();}else{this.fromTimePickerMenu.hideMenu();} this.hideValidationMessage();}});};var ImageGallery=function(container,delegate){this.imageGalleryContainer=container;this.delegate=delegate;this.selectedImage=null;this.imagesArray=null;this.zoom=100;this.isZooming=false;this.isPinchGesture=false;this.pinchCleanupTimer=null;this.touchStart=null;this.touchEnd=null;this.presentImageGalleryWithImages=function(selectedImage,imagesArray=null){var startImage=(selectedImage!=null?selectedImage:(imagesArray!=null&&imagesArray.length>0?imagesArray[imagesArray.length-1]:null));if(startImage!=null){this.imageGalleryContainer.innerHTML="";this.buildImageGallery(startImage,imagesArray);this.imageGalleryContainer.style.display="block";}};this.dismiss=function(){this.imageGalleryContainer.style.display="none";this.imageGalleryContainer.innerHTML="";};this.buildImageGallery=function(selectedImage=null,imagesArray=null){this.selectedImage=selectedImage;this.imagesArray=imagesArray;this.imageGalleryContainer.innerHTML="";this.titleBar=document.createElement('div');this.titleBar.className="ImageGalleryTitleBar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"media_file_white.svg"+")";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].ImageGalleryTitleText;this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.imageGalleryContainer.appendChild(this.titleBar);this.imageGalleryInnerHolder=document.createElement('div');this.imageGalleryInnerHolder.className="ImageGalleryInnerHolder";this.imageGalleryContainer.appendChild(this.imageGalleryInnerHolder);this.imageGalleryImageHolder=document.createElement('div');this.imageGalleryImageHolder.className="ImageGalleryImageHolder";this.imageGalleryImage=document.createElement('img');this.imageGalleryImage.src=selectedImage.attachment_url;this.imageGalleryImageHolder.appendChild(this.imageGalleryImage);this.imageGalleryInnerHolder.appendChild(this.imageGalleryImageHolder);this.currentImageIndex=document.createElement('div');this.currentImageIndex.className="CurrentImageIndex";if(this.selectedImage!=null||(this.imagesArray!=null&&this.imagesArray.length>0)){this.imageGalleryImageHolder.addEventListener('click',function(e){var now=new Date().getTime();var timesince=now-this.lastTapTime;if(timesince<300&×ince>0){var rect=this.imageGalleryImageHolder.getBoundingClientRect();this.pinchCenterX=e.clientX-rect.left;this.pinchCenterY=e.clientY-rect.top;if(this.zoom>100){this.setZoom(100);}else{this.setZoom(140);} e.preventDefault();} this.lastTapTime=now;}.bind(this));this.imageGalleryImageHolder.addEventListener('touchstart',function(e){if(e.touches.length===2){this.isZooming=true;this.startZoomDistance=Math.hypot(e.touches[0].pageX-e.touches[1].pageX,e.touches[0].pageY-e.touches[1].pageY);var rect=this.imageGalleryImageHolder.getBoundingClientRect();this.pinchCenterX=(e.touches[0].clientX+e.touches[1].clientX)/2-rect.left;this.pinchCenterY=(e.touches[0].clientY+e.touches[1].clientY)/2-rect.top;this.startScrollLeft=this.imageGalleryImageHolder.scrollLeft;this.startScrollTop=this.imageGalleryImageHolder.scrollTop;}else if(e.touches.length===1){if(this.pinchCleanupTimer)return;this.isZooming=false;this.touchStart=e.changedTouches[0];}}.bind(this),{passive:false});this.imageGalleryImageHolder.addEventListener('touchmove',function(e){if(e.touches.length===2&&this.isZooming){e.preventDefault();var zoomDistance=Math.hypot(e.touches[0].pageX-e.touches[1].pageX,e.touches[0].pageY-e.touches[1].pageY);var delta=zoomDistance-this.startZoomDistance;if(Math.abs(delta)>20){var oldZoom=this.zoom;this.setZoom(this.zoom+(delta>0?20:-20));if(oldZoom!==this.zoom){var ratio=this.zoom/oldZoom;this.imageGalleryImageHolder.scrollLeft=(this.startScrollLeft+this.pinchCenterX)*ratio-this.pinchCenterX;this.imageGalleryImageHolder.scrollTop=(this.startScrollTop+this.pinchCenterY)*ratio-this.pinchCenterY;this.startZoomDistance=zoomDistance;this.startScrollLeft=this.imageGalleryImageHolder.scrollLeft;this.startScrollTop=this.imageGalleryImageHolder.scrollTop;}}}}.bind(this),{passive:false});this.imageGalleryImageHolder.addEventListener('touchend',function(e){if(this.isZooming){this.isZooming=false;if(this.pinchCleanupTimer)clearTimeout(this.pinchCleanupTimer);this.pinchCleanupTimer=setTimeout(function(){this.pinchCleanupTimer=null;}.bind(this),300);return;} if(this.zoom<=100&&!this.pinchCleanupTimer){this.touchEnd=e.changedTouches[0];this.handleSwipeEvent(this.touchStart,this.touchEnd);}}.bind(this));} if(imagesArray!=null&&imagesArray.length>1){this.imageGalleryLeftButton=document.createElement('div');this.imageGalleryLeftButton.className="ImageGalleryLeftButton";this.imageGalleryInnerHolder.appendChild(this.imageGalleryLeftButton);this.imageGalleryLeftButton.addEventListener('click',function(){this.scrollLeft();}.bind(this));this.imageGalleryRightButton=document.createElement('div');this.imageGalleryRightButton.className="ImageGalleryRightButton";this.imageGalleryInnerHolder.appendChild(this.imageGalleryRightButton);this.imageGalleryRightButton.addEventListener('click',function(){this.scrollRight();}.bind(this));var images=this.imagesArray;for(var i=0;i0?(fileSize>1?fileSize+" MB":fileSize*1000+" KB"):"");this.bottomInfoBar=document.createElement('div');this.bottomInfoBar.className="BottomInfoBar";this.bottomInfoBar.appendChild(this.imageGalleryInfoHolderDate);this.bottomInfoBar.appendChild(this.currentImageIndex);this.bottomInfoBar.appendChild(this.imageGalleryInfoHolderFileSize);this.imageGalleryInnerHolder.appendChild(this.bottomInfoBar);};this.handleSwipeEvent=function(startEvent,endEvent){if(!startEvent||!endEvent)return;var touchstartX=startEvent.screenX;var touchendX=endEvent.screenX;if(touchendX+50touchstartX+50){this.scrollLeft();}};this.scrollLeft=function(){var images=this.imagesArray;this.setZoom(100);for(var i=0;i0?images[i-1]:null);if(previousImage!=null){this.selectedImage=previousImage;this.imageGalleryImage.src=previousImage.attachment_url;i-=1;} if(i==0){this.imageGalleryLeftButton.style.display="none";if(images.length>1)this.imageGalleryRightButton.style.display="block";}else if(i==images.length-1)this.imageGalleryRightButton.style.display="none";else{this.imageGalleryLeftButton.style.display="block";this.imageGalleryRightButton.style.display="block";} if(previousImage!=null){var metadata=JSON.parse(previousImage.attachment_metadata);this.imageGalleryInfoHolderProfilePicture.style.backgroundImage="url('"+previousImage.sender_profile_picture+"')";this.imageGalleryInfoHolderSenderName.innerHTML=previousImage.sender_firstname+" "+previousImage.sender_lastname;this.imageGalleryInfoHolderDate.innerHTML=Date.getDateStringFromDate(previousImage.creation_timestamp);this.imageGalleryInfoHolderFileSize.innerHTML=(metadata.filesize!=null&&metadata.filesize!=undefined?metadata.filesize+"MB":"");this.currentImageIndex.innerHTML=(i+1)+"/"+images.length;}};this.scrollRight=function(){var images=this.imagesArray;this.setZoom(100);var i=0;for(i=0;i0)this.imageGalleryLeftButton.style.display="block";}else{this.imageGalleryLeftButton.style.display="block";this.imageGalleryRightButton.style.display="block";} if(nextImage!=null){var metadata=JSON.parse(nextImage.attachment_metadata);this.imageGalleryInfoHolderProfilePicture.style.backgroundImage="url('"+nextImage.sender_profile_picture+"')";this.imageGalleryInfoHolderSenderName.innerHTML=nextImage.sender_firstname+" "+nextImage.sender_lastname;this.imageGalleryInfoHolderDate.innerHTML=Date.getDateStringFromDate(nextImage.creation_timestamp);this.imageGalleryInfoHolderFileSize.innerHTML=(metadata.filesize!=null&&metadata.filesize!=undefined?metadata.filesize+"MB":"");this.currentImageIndex.innerHTML=(i+1)+"/"+images.length;}};this.setZoom=function(zoom){var oldZoom=this.zoom;this.zoom=Math.round(zoom/20)*20;if(this.zoom>400)this.zoom=400;if(this.zoom<100)this.zoom=100;var scrollX=this.imageGalleryImageHolder.scrollLeft;var scrollY=this.imageGalleryImageHolder.scrollTop;var ratio=this.zoom/oldZoom;this.imageGalleryImage.style.width=this.zoom+"%";if(this.zoom>100){this.imageGalleryImage.style.maxWidth="none";this.imageGalleryImage.style.maxHeight="none";}else{this.imageGalleryImage.style.maxWidth="100%";this.imageGalleryImage.style.maxHeight="100%";} if(!this.isZooming&&oldZoom!==this.zoom){var centerX=this.imageGalleryImageHolder.clientWidth/2;var centerY=this.imageGalleryImageHolder.clientHeight/2;this.imageGalleryImageHolder.scrollLeft=(scrollX+centerX)*ratio-centerX;this.imageGalleryImageHolder.scrollTop=(scrollY+centerY)*ratio-centerY;}};} var EmailAutocompleteInput=function(container,delegate,placeholderText=""){this.delegate=delegate;this.container=container;this.placeholderText=placeholderText;this.emailArray=new Array();this.selectedIndex=-1;this.currentResults=[];this.holder=document.createElement('div');this.holder.className="EmailAutocompleteInput";this.container.appendChild(this.holder);this.inputHolder=document.createElement('div');this.inputHolder.className="InputHolder";this.holder.appendChild(this.inputHolder);this.input=document.createElement('input');this.input.type="text";this.input.placeholder=this.placeholderText;this.input.autocomplete="off";this.inputHolder.appendChild(this.input);this.input.addEventListener('keydown',function(e){var items=this.dropDownMenu.querySelectorAll('.Item');if(this.dropDownMenu.style.display==="block"&&items.length>0){if(e.key==="ArrowDown"){e.preventDefault();this.selectedIndex=(this.selectedIndex+1)%items.length;this.updateKeyboardSelection(items);}else if(e.key==="ArrowUp"){e.preventDefault();this.selectedIndex=(this.selectedIndex-1+items.length)%items.length;this.updateKeyboardSelection(items);}else if(e.key==="Enter"){e.preventDefault();if(this.selectedIndex>-1){this.onEmailSelected(this.currentResults[this.selectedIndex]);}else if(this.input.value.trim().includes('@')){this.onEmailSelected(this.input.value.trim());}}else if(e.key==="Escape"){this.hideMenu();}}}.bind(this));this.input.addEventListener('keyup',function(e){if(["ArrowUp","ArrowDown","Enter","Escape"].includes(e.key))return;if(this.input.value.length>0){this.getEmailAutocomplete(this.input.value);}else{this.hideMenu();}}.bind(this));this.updateKeyboardSelection=function(items){for(var i=0;iemail.toLowerCase()===currentValue.toLowerCase());if(emailRegex.test(currentValue)&&!isInData){this.currentResults.push(currentValue);var item=document.createElement('div');item.className="Item";item.innerText=currentValue;item.addEventListener('click',function(){this.delegate.onEmailSelected(this.email);}.bind({delegate:this,email:currentValue}));this.dropDownMenu.appendChild(item);} for(var i=0;i0){this.dropDownMenu.style.display="block";}else{this.dropDownMenu.style.display="none";}};this.onEmailSelected=function(email){this.input.value="";this.hideMenu();this.addNewEmail(email);};this.addNewEmail=function(email){this.emailItemsHolder.prepend(this.buildEmailItem(email));this.emailArray.unshift(email);if(this.delegate!=null&&this.delegate.onEmailAutocompleteEmailItemAdded!=undefined)this.delegate.onEmailAutocompleteEmailItemAdded(email);};this.buildEmailItem=function(email){var emailItem=document.createElement("div");emailItem.className="EmailItem";var title=document.createElement("div");title.className="Title";title.innerText=email;emailItem.appendChild(title);var deleteButton=document.createElement("div");deleteButton.className="DeleteButton";emailItem.appendChild(deleteButton);deleteButton.addEventListener('click',function(){var index=this.delegate.emailArray.indexOf(this.email);if(index>-1)this.delegate.emailArray.splice(index,1);if(this.item&&this.item.parentNode)this.item.parentNode.removeChild(this.item);if(this.delegate.delegate!=null&&this.delegate.delegate.onEmailAutoCompleteEmailItemDeleted!=undefined)this.delegate.delegate.onEmailAutoCompleteEmailItemDeleted(this.email);}.bind({delegate:this,item:emailItem,email:email}));return emailItem;};this.getEmailAutocomplete=function(search){var request=new NetworkRequest();var params="search="+search;request.postRequest(Globals.ServicesURL.getEmailAutocompleteURL,params,function(responseData){this.onGetEmailAutoCompleteSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetEmailAutoCompleteFailed(statusCode,errorMessage)}.bind(this));};this.onGetEmailAutoCompleteSuccess=function(responseData){var data=JSON.parse(responseData);this.buildAutocompleteMenu(data);};this.onGetEmailAutoCompleteFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};};var FolderPicker=function(container,delegate){this.folderPickerContainer=container;this.delegate=delegate;this.id=0;this.data=null;this.selectedFolderFD=0;this.present=function(id,data=null){this.id=id;this.data=data;this.folderPickerContainer.innerHTML="";this.folderPickerContainer.appendChild(this.buildFolderPicker(this.data))};this.buildFolderPicker=function(data){this.folderPickerHolder=document.createElement('div');this.folderPickerHolder.className="FolderPickerHolder";this.titleBar=document.createElement('div');this.titleBar.className="FolderPickerHolderTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].FolderPickerChooseFolderTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"mail_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.folderPickerHolder.appendChild(this.titleBar);this.folderPickerInnerHolder=document.createElement('div');this.folderPickerInnerHolder.className="FolderPickerInnerHolder";this.folderPickerHolder.appendChild(this.folderPickerInnerHolder);this.title=document.createElement('div');this.title.className="Title";this.title.innerHTML="";this.titleIcon=document.createElement('div');this.titleIcon.className="Icon";this.title.appendChild(this.titleIcon);this.titleText=document.createElement('div');this.titleText.className="Text";this.titleText.innerHTML=s[l].FolderPickerChooseFolderTitleText;this.title.appendChild(this.titleText);this.folderPickerInnerHolder.appendChild(this.title);this.body=document.createElement('div');this.body.className="Body";this.folderPickerInnerHolder.appendChild(this.body);this.populateFolderContent(data);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.folderPickerInnerHolder.appendChild(this.buttonsHolder);this.cancelButton=document.createElement('div');this.cancelButton.className="CancelButton";this.cancelButton.innerHTML=s[l].FolderPickerCancelButtonTitleText;this.buttonsHolder.appendChild(this.cancelButton);this.cancelButton.addEventListener('click',function(){this.dismiss();}.bind(this));return this.folderPickerHolder;};this.populateFolderContent=function(data){this.body.innerHTML="";for(var i=0;i=0){var folderItem=document.createElement('div');folderItem.className="FolderItem";var icon=document.createElement('div');icon.className="Icon";icon.classList.add("Folder");folderItem.appendChild(icon);var name=document.createElement('div');name.className="Name";if(folder.folder_id==0)name.innerText=s[l].FolderPickerInboxFolderTitleText;else name.innerText=folder.title;folderItem.appendChild(name);folderItem.addEventListener('click',function(){if(this.delegate.delegate!=null&&this.delegate.delegate.onFolderPickerItemSelected!=undefined)this.delegate.delegate.onFolderPickerItemSelected(this.delegate.id,this.data,this.delegate);this.delegate.dismiss();}.bind({delegate:this,data:folder}));this.body.appendChild(folderItem);}} this.folderPickerContainer.style.display="block";};this.dismiss=function(){this.folderPickerContainer.style.display="none";this.folderPickerContainer.innerHTML="";};};var LocationAutocompleteInput=function(container,delegate,placeholderText=""){this.delegate=delegate;this.container=container;this.placeholderText=placeholderText;this.timer=null;this.selectedPlaceId=null;this.selectedIndex=-1;this.currentResults=[];this.holder=document.createElement('div');this.holder.className="LocationAutocompleteInput";this.container.appendChild(this.holder);this.inputHolder=document.createElement('div');this.inputHolder.className="InputHolder";this.holder.appendChild(this.inputHolder);this.input=document.createElement('input');this.input.type="text";this.input.placeholder=this.placeholderText;this.input.autocomplete="off";this.inputHolder.appendChild(this.input);this.dropDownMenu=document.createElement('div');this.dropDownMenu.className="Menu";this.inputHolder.appendChild(this.dropDownMenu);this.input.addEventListener('keydown',function(e){var items=this.dropDownMenu.querySelectorAll('.Item');if(this.dropDownMenu.style.display==="block"&&items.length>0){if(e.key==="ArrowDown"){e.preventDefault();this.selectedIndex=(this.selectedIndex+1)%items.length;this.updateKeyboardSelection(items);}else if(e.key==="ArrowUp"){e.preventDefault();this.selectedIndex=(this.selectedIndex-1+items.length)%items.length;this.updateKeyboardSelection(items);}else if(e.key==="Enter"){if(this.selectedIndex>-1){e.preventDefault();this.onLocationSelected(this.currentResults[this.selectedIndex]);}}else if(e.key==="Escape"){this.hideMenu();}}}.bind(this));this.input.addEventListener('input',function(){var val=this.input.value;clearTimeout(this.timer);this.selectedIndex=-1;if(val.length<3){this.hideMenu();return;} this.timer=setTimeout(function(){this.getLocations(val);}.bind(this),300);}.bind(this));document.addEventListener('click',function(e){if(!this.holder.contains(e.target)){this.hideMenu();}}.bind(this));this.updateKeyboardSelection=function(items){for(var i=0;i0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.reloadData();}.bind(this));var space1=document.createElement('div');space1.className="Space1";searchBarHolder.appendChild(space1);var today=new Date();var datePickerHolder=document.createElement("div");datePickerHolder.className="DatePickerHolder";var startDateHolder=document.createElement("div");startDateHolder.className="StartDateHolder";this.startDatePickerMenu=new DatePickerMenu(startDateHolder,this);this.startDatePickerMenu.init(1,today.getMonth()+1,today.getFullYear());datePickerHolder.appendChild(startDateHolder);var toText=document.createElement("div");toText.className="ToText";toText.innerHTML=s[l].AbsencerequestSearchBarToText;datePickerHolder.appendChild(toText);var endDateHolder=document.createElement("div");endDateHolder.className="EndDateHolder";this.endDatePickerMenu=new DatePickerMenu(endDateHolder,this);this.endDatePickerMenu.init(today.getDate(),today.getMonth()+1,today.getFullYear());datePickerHolder.appendChild(endDateHolder);searchBarHolder.appendChild(datePickerHolder);var space2=document.createElement('div');space2.className="Space2";searchBarHolder.appendChild(space2);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.filterButton=document.createElement('div');this.filterButton.className="FilterButton";if(s[l].Direction=="rtl")this.filterButton.classList.add("FilterButton_rtl");this.sheetHolder.appendChild(this.filterButton);this.filterButton.appendChild(this.buildFilterMenu());this.filterButton.addEventListener('click',function(){this.toggleFilterMenu();}.bind(this));return searchBarHolder;};this.searchButtonPressed=function(){var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate<=endDate){this.endDatePickerMenu.hideMenu();this.startDatePickerMenu.hideMenu();this.reloadData();}else{Alert.present(s[l].AbsencerequestsInvalidDateAlertTitle,s[l].AbsencerequestsInvalidDateAlertDatesSwitchedMessage,s[l].AbsencerequestsInvalidDateButton,null,function(buttonPressed){}.bind(this));}};this.buildSheetTitle=function(){this.tableTitleItems=new Array();var titleHolder=document.createElement("div");titleHolder.className="TableTitleInnerHolder";var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.classList.add("ProilePictureNoBorder");titleHolder.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";name.innerHTML=s[l].AbsencerequestsTableTitleItems.Name;titleHolder.appendChild(name);this.tableTitleItems.push(s[l].AbsencerequestsTableTitleItems.Name);var type=document.createElement('div');type.className="Type";type.innerHTML=s[l].AbsencerequestsTableTitleItems.Type;titleHolder.appendChild(type);this.tableTitleItems.push(s[l].AbsencerequestsTableTitleItems.Type);var dates=document.createElement('div');dates.className="Dates";dates.innerHTML=s[l].AbsencerequestsTableTitleItems.Dates;titleHolder.appendChild(dates);this.tableTitleItems.push(s[l].AbsencerequestsTableTitleItems.Dates);var requestDate=document.createElement('div');requestDate.className="RequestDate";requestDate.innerHTML=s[l].AbsencerequestsTableTitleItems.RequestedOn;titleHolder.appendChild(requestDate);this.tableTitleItems.push(s[l].AbsencerequestsTableTitleItems.RequestedOn);var status=document.createElement('div');status.className="Status";status.innerHTML=s[l].AbsencerequestsTableTitleItems.Status;titleHolder.appendChild(status);this.tableTitleItems.push(s[l].AbsencerequestsTableTitleItems.Status);return titleHolder;};this.buildTableItem=function(lineData){var data=new Array();var tableItem=document.createElement('div');tableItem.className="TableItem";var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineData.requester_profile_picture+"')";tableItem.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";if(s[l].Direction=="rtl")name.classList.add("Text_rtl");name.innerHTML=lineData.requester_firstname+" "+lineData.requester_lastname;tableItem.appendChild(name);data.push(lineData.requester_firstname+" "+lineData.requester_lastname);var type=document.createElement('div');type.className="Type";if(s[l].Direction=="rtl")type.classList.add("Text_rtl");type.innerHTML=s[l].AbsenceReqestTypes[lineData.request_type];tableItem.appendChild(type);data.push(s[l].AbsenceReqestTypes[lineData.request_type]);var dates=document.createElement('div');dates.className="Dates";dates.innerHTML=Date.getDateFromTimestamp(lineData.start_time)+" - "+Date.getDateFromTimestamp(lineData.end_time);tableItem.appendChild(dates);data.push(Date.getDateFromTimestamp(lineData.start_time)+" - "+Date.getDateFromTimestamp(lineData.end_time));var requestDate=document.createElement('div');requestDate.className="RequestDate";requestDate.innerHTML=Date.getDateFromTimestamp(lineData.creation_time);tableItem.appendChild(requestDate);data.push(Date.getDateFromTimestamp(lineData.creation_time));var status=document.createElement('div');status.className="Status";tableItem.appendChild(status);var statusInnerHolder=document.createElement('div');statusInnerHolder.className="StatusInnerHolder";statusInnerHolder.innerHTML=(lineData.approver_uid!=null?(lineData.is_approved==1?s[l].AbsencerequestsTableItemStatus.Approved:s[l].AbsencerequestsTableItemStatus.Rejected):s[l].AbsencerequestsTableItemStatus.Pending);statusInnerHolder.classList.add(lineData.approver_uid!=null?(lineData.is_approved==1?"Approved":"Rejected"):"Pending");status.appendChild(statusInnerHolder);data.push((lineData.approver_uid!=null?(lineData.is_approved==1?s[l].AbsencerequestsTableItemStatus.Approved:s[l].AbsencerequestsTableItemStatus.Rejected):s[l].AbsencerequestsTableItemStatus.Pending));tableItem.addEventListener("click",function(){this.delegate.tableLineItemSelected(this.data);}.bind({delegate:this,data:lineData}));return{lineItem:tableItem,lineData:data};};this.buildMobileTableItem=function(lineData){var tableItem=document.createElement('div');tableItem.className="MobileTableItem";var infoLine=document.createElement('div');infoLine.className="InfoLine";tableItem.appendChild(infoLine);var profilePicture=document.createElement('ProfilePicture');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineData.requester_profile_picture+"')";infoLine.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";if(s[l].Direction=="rtl")name.classList.add("Text_rtl");name.innerHTML=lineData.requester_firstname+" "+lineData.requester_lastname;infoLine.appendChild(name);var infoLine=document.createElement('div');infoLine.className="InfoLine";tableItem.appendChild(infoLine);infoLineItem=document.createElement('div');infoLineItem.className="InfoLineItem";infoLine.appendChild(infoLineItem);infoLineItemTitle=document.createElement('div');infoLineItemTitle.className="ItemTitle";infoLineItemTitle.innerHTML=s[l].AbsencerequestsTableTitleItems.Dates+":";infoLineItem.appendChild(infoLineItemTitle);infoLineItemValue=document.createElement('div');infoLineItemValue.className="ItemValue";if(s[l].Direction=="rtl")infoLineItemValue.classList.add("Text_rtl");infoLineItemValue.innerHTML=Date.getDateFromTimestamp(lineData.start_time)+" - "+Date.getDateFromTimestamp(lineData.end_time);infoLineItem.appendChild(infoLineItemValue);infoLineItem=document.createElement('div');infoLineItem.className="InfoLineItem";infoLine.appendChild(infoLineItem);infoLineItemTitle=document.createElement('div');infoLineItemTitle.className="ItemTitle";infoLineItemTitle.innerHTML=s[l].AbsencerequestsTableTitleItems.Type+":";infoLineItem.appendChild(infoLineItemTitle);infoLineItemValue=document.createElement('div');infoLineItemValue.className="ItemValue";if(s[l].Direction=="rtl")infoLineItemValue.classList.add("Text_rtl");infoLineItemValue.innerHTML=s[l].AbsenceReqestTypes[lineData.request_type];infoLineItem.appendChild(infoLineItemValue);var infoLine=document.createElement('div');infoLine.className="InfoLine";tableItem.appendChild(infoLine);infoLineItem=document.createElement('div');infoLineItem.className="InfoLineItem";infoLine.appendChild(infoLineItem);infoLineItemTitle=document.createElement('div');infoLineItemTitle.className="ItemTitle";infoLineItemTitle.innerHTML=s[l].AbsencerequestsTableTitleItems.RequestedOn+":";infoLineItem.appendChild(infoLineItemTitle);infoLineItemValue=document.createElement('div');infoLineItemValue.className="ItemValue";if(s[l].Direction=="rtl")infoLineItemValue.classList.add("Text_rtl");infoLineItemValue.innerHTML=Date.getDateFromTimestamp(lineData.creation_time);infoLineItem.appendChild(infoLineItemValue);infoLineItem=document.createElement('div');infoLineItem.className="InfoLineItem";infoLine.appendChild(infoLineItem);infoLineItemTitle=document.createElement('div');infoLineItemTitle.className="ItemTitle";infoLineItemTitle.innerHTML=s[l].AbsencerequestsTableTitleItems.Status+":";infoLineItem.appendChild(infoLineItemTitle);infoLineItemValue=document.createElement('div');infoLineItemValue.className="ItemValue";if(s[l].Direction=="rtl")infoLineItemValue.classList.add("Text_rtl");infoLineItemValue.innerHTML=(lineData.approver_uid!=null?(lineData.is_approved==1?s[l].AbsencerequestsTableItemStatus.Approved:s[l].AbsencerequestsTableItemStatus.Rejected):s[l].AbsencerequestsTableItemStatus.Pending);infoLineItemValue.classList.add(lineData.approver_uid!=null?(lineData.is_approved==1?"Approved":"Rejected"):"Pending");infoLineItem.appendChild(infoLineItemValue);tableItem.addEventListener("click",function(){this.delegate.tableLineItemSelected(this.data);}.bind({delegate:this,data:lineData}));return tableItem;};this.tableLineItemSelected=function(data){if(this.delegate!=null&&this.delegate.presentViewInDialog!=undefined)this.delegate.presentViewInDialog(AbsencerequestView,data);};this.populateAbsenceRequestsTable=function(data){this.exportableData=new Array();this.exportableData.push(this.tableTitleItems);this.sheetTableItemsHolder.innerHTML="";var counter=0;this.hideFilterButton();for(var i in data){var itemData=data[i];if(itemData.uid!=Application.sessionManager.sessionData.uid)this.showFilterButton();switch(this.filter){case this.FILTER_TYPE.All:var tableItem=this.buildTableItem(itemData);var lineItem=tableItem.lineItem;var lineData=tableItem.lineData;this.sheetTableItemsHolder.appendChild(lineItem);var mobileTableItem=this.buildMobileTableItem(itemData);this.sheetTableItemsHolder.appendChild(mobileTableItem);this.exportableData.push(lineData);counter+=1;break;case this.FILTER_TYPE.MyRequests:if(itemData.uid==Application.sessionManager.sessionData.uid){var tableItem=this.buildTableItem(itemData);var lineItem=tableItem.lineItem;var lineData=tableItem.lineData;this.sheetTableItemsHolder.appendChild(lineItem);var mobileTableItem=this.buildMobileTableItem(itemData);this.sheetTableItemsHolder.appendChild(mobileTableItem);this.exportableData.push(lineData);counter+=1;} break;case this.FILTER_TYPE.EmployeeRequests:if(itemData.uid!=Application.sessionManager.sessionData.uid){var tableItem=this.buildTableItem(itemData);var lineItem=tableItem.lineItem;var lineData=tableItem.lineData;this.sheetTableItemsHolder.appendChild(lineItem);var mobileTableItem=this.buildMobileTableItem(itemData);this.sheetTableItemsHolder.appendChild(mobileTableItem);this.exportableData.push(lineData);counter+=1;} break;}} this.searchBarInfoHolder.innerHTML=s[l].AbsencerequestsSearchFieldInfoShowingText+" "+counter+" "+s[l].AbsencerequestsSearchFieldInfoOutOfText+" "+data.length;if(counter==0){var noItemsFoundTableItem=document.createElement('div');noItemsFoundTableItem.className="NoItemsFoundTableItem";noItemsFoundTableItem.innerHTML=s[l].TimeTrackingViewNoItemsFoundText;this.sheetTableItemsHolder.appendChild(noItemsFoundTableItem);}};this.buildFilterMenu=function(){this.filterMenuItems=new Array();this.filterMenu=document.createElement('div');this.filterMenu.className="FilterMenu";if(s[l].Direction=="rtl")this.filterMenu.classList.add("FilterMenu_rtl");var allMenuItem=document.createElement('div');allMenuItem.className="FilterMenuItem";allMenuItem.setAttribute("filter_name",this.FILTER_TYPE.All);if(this.filter==this.FILTER_TYPE.All)allMenuItem.classList.add("FilterMenuItemSelected");allMenuItem.innerHTML=s[l].AbsencerequestFilterMenuItems.All;this.filterMenu.appendChild(allMenuItem);allMenuItem.addEventListener('click',function(){this.filter=this.FILTER_TYPE.All;this.reloadData();}.bind(this));this.filterMenuItems.push(allMenuItem);var myRequestsMenuItem=document.createElement('div');myRequestsMenuItem.className="FilterMenuItem";myRequestsMenuItem.setAttribute("filter_name",this.FILTER_TYPE.MyRequests);if(this.filter==this.FILTER_TYPE.MyRequests)myRequestsMenuItem.classList.add("FilterMenuItemSelected");myRequestsMenuItem.innerHTML=s[l].AbsencerequestFilterMenuItems.MyRequests;this.filterMenu.appendChild(myRequestsMenuItem);myRequestsMenuItem.addEventListener('click',function(){this.filter=this.FILTER_TYPE.MyRequests;this.reloadData();}.bind(this));this.filterMenuItems.push(myRequestsMenuItem);var employeeRequestsMenuItem=document.createElement('div');employeeRequestsMenuItem.className="FilterMenuItem";employeeRequestsMenuItem.setAttribute("filter_name",this.FILTER_TYPE.EmployeeRequests);if(this.filter==this.FILTER_TYPE.EmployeeRequests)employeeRequestsMenuItem.classList.add("FilterMenuItemSelected");employeeRequestsMenuItem.innerHTML=s[l].AbsencerequestFilterMenuItems.EmployeeRequests;this.filterMenu.appendChild(employeeRequestsMenuItem);employeeRequestsMenuItem.addEventListener('click',function(){this.filter=this.FILTER_TYPE.EmployeeRequests;this.reloadData();}.bind(this));this.filterMenuItems.push(employeeRequestsMenuItem);return this.filterMenu;};this.showFilterButton=function(){this.filterButton.style.display="block";};this.hideFilterButton=function(){this.filterButton.style.display="none";};this.showFilterMenu=function(){this.filterMenu.style.display="block";};this.hideFilterMenu=function(){this.filterMenu.style.display="none";};this.toggleFilterMenu=function(){if(this.filterMenu.style.display=="block"){this.hideFilterMenu();}else{this.showFilterMenu();}};this.export=function(){this.exportToCsV(this.exportableData);};this.print=function(){var htmlHead="\ \ \ Daily Report - Timetracking\ \ ";var printContents=htmlHead+"
"+this.sheetHolder.innerHTML+"
";var printIframe=document.createElement('iframe');printIframe.style.position='absolute';printIframe.style.top='-1000px';printIframe.style.left='-1000px';printIframe.style.width='0px';printIframe.style.height='0px';printIframe.style.border='0px';document.body.appendChild(printIframe);var doc=printIframe.contentWindow.document;doc.open();doc.write(printContents);doc.close();setTimeout(function(){printIframe.contentWindow.focus();printIframe.contentWindow.print();setTimeout(function(){document.body.removeChild(printIframe);},1000);},1000);};this.exportToCsV=function(data){var CsvString="";data.forEach(function(RowItem,RowIndex){RowItem.forEach(function(ColItem,ColIndex){CsvString+=ColItem+',';});CsvString+="\r\n";});var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();CsvString="data:application/csv,"+encodeURIComponent(CsvString);var x=document.createElement("A");x.setAttribute("href",CsvString);x.setAttribute("download",((s[l].AbsencerequestViewTitleText).toLowerCase()).replace(" ","_")+"_"+start+"-"+end+".csv");document.body.appendChild(x);x.click();};this.onDatePickerMenuPresented=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){this.endDatePickerMenu.hideMenu();} else if(pickerMenu==this.endDatePickerMenu){this.startDatePickerMenu.hideMenu();}};this.onDatePickerMenuDismissed=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){} else if(pickerMenu==this.endDatePickerMenu){} var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate>endDate){Alert.present(s[l].AbsencerequestsInvalidDateAlertTitle,s[l].AbsencerequestsInvalidDateAlertDatesSwitchedMessage,s[l].AbsencerequestsInvalidDateButton,null,function(buttonPressed){}.bind(this));}else{this.reloadData();}};this.reloadData=function(){for(var i=0;i0?this.searchFieldInput.value:null);var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getAbsenceRequestsData(search,start,end);},this.getAbsenceRequestsData=function(search=null,start=null,end=null){var request=new NetworkRequest();var params=(search!=null&&search.length>0&&search.length<20?"&search="+search:"");params+=(start!=null?"&start_date="+start:"");params+=(end!=null?"&end_date="+end:"");request.postRequest(Globals.ServicesURL.getAbsenceRequestsURL,params,function(responseData){this.onGetAbsenceRequestsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetAbsenceRequestsDataFaild(statusCode,errorMessage)}.bind(this));};this.onGetAbsenceRequestsDataSuccess=function(responseData){this.populateAbsenceRequestsTable(JSON.parse(responseData));};this.onGetAbsenceRequestsDataFaild=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var Employeesheet=function(delegate){this.delegate=delegate;this.timesheetHolder=null;this.searchbar=null;this.employeeID=null;this.tableTitleItems=null;this.exportableData=null;this.shouldRequestRestore=false;this.restoreData=null;this.username=null;this.init=function(requestRestore=false){this.shouldRequestRestore=requestRestore;this.timesheetHolder=document.createElement('div');this.timesheetHolder.className="EmployeeSheet";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.timesheetHolder.appendChild(this.searchbar);this.timesheetTable=document.createElement('div');this.timesheetTable.className="Table";this.timesheetHolder.appendChild(this.timesheetTable);this.timesheetTableInfoHolder=document.createElement('div');this.timesheetTableInfoHolder.className="TableInfoHolder";this.timesheetTable.appendChild(this.timesheetTableInfoHolder);this.timesheetTableTitle=document.createElement('div');this.timesheetTableTitle.className="TableTitle";this.timesheetTable.appendChild(this.timesheetTableTitle);this.timesheetTableTitle.appendChild(this.buildTimeSheetTitle());this.timesheetTableItemsHolder=document.createElement('div');this.timesheetTableItemsHolder.className="TableItemsHolder";this.timesheetTable.appendChild(this.timesheetTableItemsHolder);if(s[l].Direction=="rtl")this.timesheetTable.classList.add("rtl");return this.timesheetHolder;};this.create=function(data=null,userid=null,startDate=null,endDate=null){this.restoreData=data;this.employeeID=(userid!=null?userid:Application.sessionManager.sessionData.uid);var start=(startDate!=null?startDate:null);var end=(endDate!=null?endDate:null);this.searchbar.appendChild(this.buildSearchBar(start,end));};this.start=function(){this.username=null;this.exportableData=null;this.timesheetTableInfoHolder.innerHTML="";var uid=this.employeeID;var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(uid,start,end);};this.stop=function(){};this.getTimeSheetData=function(uid=null,start=null,end=null){var request=new NetworkRequest();var params="uid="+uid;params+=(start!=null?"&start_date="+start:"");params+=(end!=null?"&end_date="+end:"");request.postRequest(Globals.ServicesURL.getUserTimeSheetDataURL,params,function(responseData){this.onGetUserTimeSheetDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserTimeSheetDataFaild(statusCode,errorMessage)}.bind(this));};this.buildSearchBar=function(start=null,end=null){var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";this.profileHolder=document.createElement('div');this.profileHolder.className="ProfileHolder";searchBarHolder.appendChild(this.profileHolder);this.profilePicture=document.createElement("div");this.profilePicture.className="ProfilePicture";this.profileHolder.appendChild(this.profilePicture);this.profileName=document.createElement("div");this.profileName.className="ProfileName";if(s[l].Direction=='rtl')this.profileName.classList.add("Text_rtl");this.profileHolder.appendChild(this.profileName);var datePickerHolder=document.createElement("div");datePickerHolder.className="DatePickerHolder";var today=new Date();var startDateHolder=document.createElement("div");startDateHolder.className="StartDateHolder";this.startDatePickerMenu=new DatePickerMenu(startDateHolder,this);if(start==null){this.startDatePickerMenu.init(1,today.getMonth()+1,today.getFullYear());}else{var dateArray=start.split("/");var year=dateArray[0];var month=dateArray[1];var day=dateArray[2];this.startDatePickerMenu.init(day,month,year);} datePickerHolder.appendChild(startDateHolder);var toText=document.createElement("div");toText.className="ToText";toText.innerHTML=s[l].TimeSheetSearchBarToText;datePickerHolder.appendChild(toText);var endDateHolder=document.createElement("div");endDateHolder.className="EndDateHolder";this.endDatePickerMenu=new DatePickerMenu(endDateHolder,this);if(end==null){this.endDatePickerMenu.init(today.getDate(),today.getMonth()+1,today.getFullYear());}else{var dateArray=end.split("/");var year=dateArray[0];var month=dateArray[1];var day=dateArray[2];this.endDatePickerMenu.init(day,month,year);} datePickerHolder.appendChild(endDateHolder);searchBarHolder.appendChild(datePickerHolder);var space=document.createElement('div');space.className="Space";searchBarHolder.appendChild(space);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);return searchBarHolder;};this.buildTimeSheetTitle=function(){this.tableTitleItems=new Array();var titleHolder=document.createElement("div");titleHolder.className="TableTitleInnerHolder";var tableItem=document.createElement('div');tableItem.className="TableItem";tableItem.style.cursor="default";var date=document.createElement('div');date.className="Date";if(s[l].Direction=="rtl")date.classList.add("Text_rtl");date.innerHTML=s[l].EmployeesheetTableTitleItems.Date;tableItem.appendChild(date);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.Date);var position=document.createElement('div');position.className="Position";position.innerHTML=s[l].EmployeesheetTableTitleItems.Position;tableItem.appendChild(position);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.Position);var start=document.createElement('div');start.className="StartTime";start.innerHTML=s[l].EmployeesheetTableTitleItems.StartTime;tableItem.appendChild(start);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.StartTime);var end=document.createElement('div');end.className="EndTime";end.innerHTML=s[l].EmployeesheetTableTitleItems.EndTime;tableItem.appendChild(end);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.EndTime);var total=document.createElement('div');total.className="TotalTime";total.innerHTML=s[l].EmployeesheetTableTitleItems.TotalTime;tableItem.appendChild(total);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.TotalTime);var breakTime=document.createElement('div');breakTime.className="BreakTime";breakTime.innerHTML=s[l].EmployeesheetTableTitleItems.BreakTime;tableItem.appendChild(breakTime);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.BreakTime);var issues=document.createElement('div');issues.className="Issues";issues.innerHTML=s[l].EmployeesheetTableTitleItems.Issues;tableItem.appendChild(issues);this.tableTitleItems.push(s[l].EmployeesheetTableTitleItems.Issues);titleHolder.appendChild(tableItem);return titleHolder;};this.populateTimeSheet=function(responseData){this.exportableData=new Array();this.exportableData.push(this.tableTitleItems);var user=responseData['user'];var shifts=responseData['shifts'];var absence=responseData['absence'];this.timesheetTableItemsHolder.innerHTML="";if(user!=undefined){this.username=user.firstname+" "+user.lastname;var pictureURL=user.profile_picture;this.profileName.innerHTML=this.username;this.profilePicture.style.backgroundImage="url('"+pictureURL+"')";} for(var i in shifts){var line=shifts[i];var tableItem=this.buildTimeSheetLine(line);var lineItem=tableItem.lineItem;var lineData=tableItem.lineData;this.timesheetTableItemsHolder.appendChild(lineItem);var mobileTableItem=this.buildMobileTimeSheetLine(line);this.timesheetTableItemsHolder.appendChild(mobileTableItem);this.exportableData.push(lineData);lineItem.addEventListener("click",function(){if(this.delegate.shouldRequestRestore==true){var restoreData={sheet:this,data:this.delegate.restoreData,uid:this.delegate.employeeID,start:this.delegate.startDatePickerMenu.getSQLDate(),end:this.delegate.endDatePickerMenu.getSQLDate(),} this.data.restoreData=restoreData;} if(this.delegate.delegate!=undefined&&this.delegate.delegate.presentViewInDialog!=undefined)this.delegate.delegate.presentViewInDialog(ShifteditorView,this.data);}.bind({delegate:this,data:line}));mobileTableItem.addEventListener("click",function(){if(this.delegate.shouldRequestRestore==true){var restoreData={sheet:this,data:this.delegate.restoreData,uid:this.delegate.employeeID,start:this.delegate.startDatePickerMenu.getSQLDate(),end:this.delegate.endDatePickerMenu.getSQLDate(),} this.data.restoreData=restoreData;} if(this.delegate.delegate!=undefined&&this.delegate.delegate.presentViewInDialog!=undefined)this.delegate.delegate.presentViewInDialog(ShifteditorView,this.data);}.bind({delegate:this,data:line}));} this.searchBarInfoHolder.innerHTML=s[l].EmployeesheetSearchFieldInfoShowingText+" "+shifts.length+" "+s[l].EmployeesheetSearchFieldInfoResultsText if(shifts.length==0){var noItemsFoundTableItem=document.createElement('div');noItemsFoundTableItem.className="NoItemsFoundTableItem";noItemsFoundTableItem.innerHTML=s[l].TimeTrackingViewNoItemsFoundText;this.timesheetTableItemsHolder.appendChild(noItemsFoundTableItem);} this.timesheetTableInfoHolder.innerHTML="";this.timesheetTableInfoHolder.appendChild(this.buildTimeSheetTableInfo(shifts,absence));};this.buildMobileTimeSheetLine=function(lineItem){var tableItem=document.createElement('div');tableItem.className="MobileTableItem";if(s[l].Direction=="rtl")tableItem.classList.add("Text_rtl");var infoLine1=document.createElement('div');infoLine1.className="InfoLine";tableItem.appendChild(infoLine1);var date=document.createElement('div');date.className="Section2";date.classList.add("WhiteBackground");date.style.fontWeight="bold";infoLine1.appendChild(date);var dateTitle=document.createElement('div');dateTitle.className="Title";dateTitle.innerHTML=s[l].EmployeesheetTableTitleItems.Date+":";date.appendChild(dateTitle);var dateValue=document.createElement('div');dateValue.className="Value";dateValue.innerHTML=Date.getDateFromTimestamp(lineItem.start_time);date.appendChild(dateValue);var position=document.createElement('div');position.className="Section2";position.classList.add("WhiteBackground");infoLine1.appendChild(position);var positionTitle=document.createElement('div');positionTitle.className="Title";positionTitle.innerHTML=s[l].EmployeesheetTableTitleItems.Position+":";position.appendChild(positionTitle);var positionValue=document.createElement('div');positionValue.className="Value";positionValue.innerHTML=lineItem.position;position.appendChild(positionValue);var infoLine2=document.createElement('div');infoLine2.className="InfoLine";tableItem.appendChild(infoLine2);var startTime=document.createElement('div');startTime.className="Section3";infoLine2.appendChild(startTime);var startTimeTitle=document.createElement('div');startTimeTitle.className="Title";startTimeTitle.innerHTML=s[l].EmployeesheetTableTitleItems.StartTime+":";startTime.appendChild(startTimeTitle);var startTimeValue=document.createElement('div');startTimeValue.className="Value";startTimeValue.innerHTML=Date.getTimeString(lineItem.start_time);startTime.appendChild(startTimeValue);var endTime=document.createElement('div');endTime.className="Section3";infoLine2.appendChild(endTime);var endTimeTitle=document.createElement('div');endTimeTitle.className="Title";endTimeTitle.innerHTML=s[l].EmployeesheetTableTitleItems.EndTime+":";endTime.appendChild(endTimeTitle);var endTimeValue=document.createElement('div');endTimeValue.className="Value";endTimeValue.innerHTML=Date.getTimeString(lineItem.end_time);endTime.appendChild(endTimeValue);var totalTime=document.createElement('div');totalTime.className="Section3";infoLine2.appendChild(totalTime);var totalTimeTitle=document.createElement('div');totalTimeTitle.className="Title";totalTimeTitle.innerHTML=s[l].EmployeesheetTableTitleItems.TotalTime+":";totalTime.appendChild(totalTimeTitle);var ShiftTime="-";if(lineItem.start_time!=null&&lineItem.end_time!=null){var miliseconds=Date.getTimeElapsedBetweenDates(lineItem.start_time,lineItem.end_time);var ShiftTime=Date.getTimeFromMiliseconds(miliseconds);ShiftTime=ShiftTime.substring(0,ShiftTime.lastIndexOf(":"));} var totalTimeValue=document.createElement('div');totalTimeValue.className="Value";totalTimeValue.innerHTML=ShiftTime;totalTime.appendChild(totalTimeValue);var infoLine3=document.createElement('div');infoLine3.className="InfoLine";tableItem.appendChild(infoLine3);var breakTime=document.createElement('div');breakTime.className="Section2";infoLine3.appendChild(breakTime);var breakTimeTitle=document.createElement('div');breakTimeTitle.className="Title";breakTimeTitle.innerHTML=s[l].EmployeesheetTableTitleItems.BreakTime+":";breakTime.appendChild(breakTimeTitle);var BreakTime=0;if(lineItem.breaks!=null){var breaks=JSON.parse(lineItem.breaks);var miliseconds=0;for(var i=0;i0&&parseInt(lineItem.approved)==0){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesYes;issuesInnerHolder.classList.add("HasIssues");}else if(parseInt(lineItem.approved)==1){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesApproved;issuesInnerHolder.classList.add("HasApprovedIssues");}else if(parseInt(lineItem.rejected)==1){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesRejected;issuesInnerHolder.classList.add("HasRejectedIssues");}else{issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesNo;} issuesValue.appendChild(issuesInnerHolder);issues.appendChild(issuesValue);return tableItem;} this.buildTimeSheetLine=function(lineItem){var lineData=new Array();var tableItem=document.createElement('div');tableItem.className="TableItem";var dateValue=Date.getDateFromTimestamp(lineItem.start_time);var date=document.createElement('div');date.className="Date";if(s[l].Direction=="rtl")date.classList.add("Text_rtl");date.innerHTML=dateValue;tableItem.appendChild(date);lineData.push(dateValue);var position=document.createElement('div');position.className="Position";position.innerHTML=lineItem.position;tableItem.appendChild(position);lineData.push(lineItem.position);var startTime=Date.getTimeString(lineItem.start_time);var start=document.createElement('div');start.className="StartTime";start.innerHTML=startTime;tableItem.appendChild(start);lineData.push(startTime);var endTime=(lineItem.end_time!=null?Date.getTimeString(lineItem.end_time):null);var end=document.createElement('div');end.className="EndTime";end.innerHTML=(endTime!=null?endTime:"-");tableItem.appendChild(end);lineData.push(endTime);var ShiftTime="-";if(lineItem.start_time!=null&&lineItem.end_time!=null){var miliseconds=Date.getTimeElapsedBetweenDates(lineItem.start_time,lineItem.end_time);var ShiftTime=Date.getTimeFromMiliseconds(miliseconds);ShiftTime=ShiftTime.substring(0,ShiftTime.lastIndexOf(":"));} var total=document.createElement('div');total.className="TotalTime";total.innerHTML=ShiftTime;tableItem.appendChild(total);lineData.push(ShiftTime);var BreakTime=0;if(lineItem.breaks!=null){var breaks=JSON.parse(lineItem.breaks);var miliseconds=0;for(var i=0;i0&&parseInt(lineItem.approved)==0&&parseInt(lineItem.rejected)==0){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesYes;issuesInnerHolder.classList.add("HasIssues");}else if(parseInt(lineItem.approved)==1){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesApproved;issuesInnerHolder.classList.add("HasApprovedIssues");}else if(parseInt(lineItem.rejected)==1){issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesRejected;issuesInnerHolder.classList.add("HasRejectedIssues");}else{issuesInnerHolder.innerHTML=s[l].EmployeesheetTableInfoHasIssuesNo;} issues.appendChild(issuesInnerHolder);tableItem.appendChild(issues);lineData.push(lineItem.requires_approval);return{lineItem:tableItem,lineData:lineData};};this.buildTimeSheetTableInfo=function(shifts,absence){var workTimeMiliseconds=0;var breakTimeMiliseconds=0;for(var i=0;i=searchStartDate?startDate:searchStartDate);var end=(endDate<=searchEndDate?endDate:searchEndDate);var days=(Date.getDaysBetweenDates(start,end)+1);absenceDays+=days;}} var infoInnerHolder=document.createElement('div');infoInnerHolder.className="InfoInnerHolder";var totalShiftsInfoHolder=document.createElement('div');totalShiftsInfoHolder.className="InfoItem";infoInnerHolder.appendChild(totalShiftsInfoHolder);var totalShiftsTitle=document.createElement('div');totalShiftsTitle.className="InfoTitle";totalShiftsTitle.innerHTML=s[l].EmployeesheetTableInfoTotalShiftsTitleText+":";totalShiftsInfoHolder.appendChild(totalShiftsTitle);var totalShiftsText=document.createElement('div');totalShiftsText.className="InfoText";totalShiftsText.innerHTML=shifts.length;totalShiftsInfoHolder.appendChild(totalShiftsText);var totalWorkHoursInfoHolder=document.createElement('div');totalWorkHoursInfoHolder.className="InfoItem";infoInnerHolder.appendChild(totalWorkHoursInfoHolder);var totalWorkHoursTitle=document.createElement('div');totalWorkHoursTitle.className="InfoTitle";totalWorkHoursTitle.innerHTML=s[l].EmployeesheetTableInfoWorkedHoursTitleText+":";totalWorkHoursInfoHolder.appendChild(totalWorkHoursTitle);var totalWorkHoursText=document.createElement('div');totalWorkHoursText.className="InfoText";totalWorkHoursText.innerHTML=total_work_time;totalWorkHoursInfoHolder.appendChild(totalWorkHoursText);var totalBreakHoursInfoHolder=document.createElement('div');totalBreakHoursInfoHolder.className="InfoItem";infoInnerHolder.appendChild(totalBreakHoursInfoHolder);var totalBreakHoursTitle=document.createElement('div');totalBreakHoursTitle.className="InfoTitle";totalBreakHoursTitle.innerHTML=s[l].EmployeesheetTableInfoBreakHoursTitleText+":";totalBreakHoursInfoHolder.appendChild(totalBreakHoursTitle);var totalBreakHoursText=document.createElement('div');totalBreakHoursText.className="InfoText";totalBreakHoursText.innerHTML=total_break_time;totalBreakHoursInfoHolder.appendChild(totalBreakHoursText);var absenceInfoHolder=document.createElement('div');absenceInfoHolder.className="InfoItem";infoInnerHolder.appendChild(absenceInfoHolder);var absenceTitle=document.createElement('div');absenceTitle.className="InfoTitle";absenceTitle.innerHTML=s[l].EmployeesheetTableInfoAbsenceTitleText+":";absenceInfoHolder.appendChild(absenceTitle);var absenceText=document.createElement('div');absenceText.className="InfoText";absenceText.innerHTML=(absenceDays>0?parseInt(absenceDays):0);absenceInfoHolder.appendChild(absenceText);return infoInnerHolder;};this.searchButtonPressed=function(){var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate<=endDate){this.endDatePickerMenu.hideMenu();this.startDatePickerMenu.hideMenu();var uid=this.employeeID;var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(uid,start,end);}else{Alert.present(s[l].EmployeesheetInvalidDateAlertTitle,s[l].EmployeesheetInvalidDateAlertDatesSwitchedMessage,s[l].EmployeesheetInvalidDateButton,null,function(buttonPressed){}.bind(this));}};this.export=function(){this.exportToCsV(this.exportableData);};this.print=function(){var htmlHead="\ \ \ Daily Report - Timetracking\ \ ";var printContents=htmlHead+"
"+this.timesheetHolder.innerHTML+"
";var printIframe=document.createElement('iframe');printIframe.style.position='absolute';printIframe.style.top='-1000px';printIframe.style.left='-1000px';printIframe.style.width='0px';printIframe.style.height='0px';printIframe.style.border='0px';document.body.appendChild(printIframe);var doc=printIframe.contentWindow.document;doc.open();doc.write(printContents);doc.close();setTimeout(function(){printIframe.contentWindow.focus();printIframe.contentWindow.print();setTimeout(function(){document.body.removeChild(printIframe);},1000);},1000);};this.exportToCsV=function(data){var CsvString="";data.forEach(function(RowItem,RowIndex){RowItem.forEach(function(ColItem,ColIndex){CsvString+=ColItem+',';});CsvString+="\r\n";});var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();CsvString="data:application/csv,"+encodeURIComponent(CsvString);var x=document.createElement("A");x.setAttribute("href",CsvString);x.setAttribute("download",this.username.replace(" ","_")+"_"+start+"-"+end+".csv");document.body.appendChild(x);x.click();};this.reloadData=function(){var uid=this.employeeID;var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(uid,start,end);};this.onDatePickerMenuPresented=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){this.endDatePickerMenu.hideMenu();} else if(pickerMenu==this.endDatePickerMenu){this.startDatePickerMenu.hideMenu();}};this.onDatePickerMenuDismissed=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){} else if(pickerMenu==this.endDatePickerMenu){} var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate>endDate){Alert.present(s[l].EmployeesheetInvalidDateAlertTitle,s[l].EmployeesheetInvalidDateAlertDatesSwitchedMessage,s[l].EmployeesheetInvalidDateButton,null,function(buttonPressed){}.bind(this));}else{this.reloadData();}};this.onGetUserTimeSheetDataSuccess=function(responseData){this.populateTimeSheet(JSON.parse(responseData));};this.onGetUserTimeSheetDataFaild=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var Timesheet=function(delegate){this.delegate=delegate;this.timesheetHolder=null;this.searchbar=null;this.timeSheetData=null;this.tableTitleItems=null;this.exportableData=null;this.init=function(){this.timesheetHolder=document.createElement('div');this.timesheetHolder.className="TimeSheet";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.timesheetHolder.appendChild(this.searchbar);this.timesheetTable=document.createElement('div');this.timesheetTable.className="Table";this.timesheetHolder.appendChild(this.timesheetTable);this.timesheetTableTitle=document.createElement('div');this.timesheetTableTitle.className="TableTitle";this.timesheetTable.appendChild(this.timesheetTableTitle);this.timesheetTableTitle.appendChild(this.buildTimeSheetTitle());this.timesheetTableItemsHolder=document.createElement('div');this.timesheetTableItemsHolder.className="TableItemsHolder";this.timesheetTable.appendChild(this.timesheetTableItemsHolder);if(s[l].Direction=="rtl")this.timesheetTable.classList.add("rtl");return this.timesheetHolder;};this.create=function(){this.searchbar.appendChild(this.buildSearchBar());};this.start=function(data){this.exportableData=null;var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(null,start,end);};this.stop=function(){};this.buildSearchBar=function(){var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";this.searchField=document.createElement("div");this.searchField.className="SearchField";this.tabIndex=120;this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.className="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].TimeSheetSearchFieldPlaceholderText;searchBarHolder.appendChild(this.searchField);this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);this.searchFieldInput.addEventListener("keyup",function(event){var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.reloadData();if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.reloadData();}.bind(this));var space1=document.createElement('div');space1.className="Space1";searchBarHolder.appendChild(space1);var today=new Date();var datePickerHolder=document.createElement("div");datePickerHolder.className="DatePickerHolder";var startDateHolder=document.createElement("div");startDateHolder.className="StartDateHolder";this.startDatePickerMenu=new DatePickerMenu(startDateHolder,this);this.startDatePickerMenu.init(1,today.getMonth()+1,today.getFullYear());datePickerHolder.appendChild(startDateHolder);var toText=document.createElement("div");toText.className="ToText";toText.innerHTML=s[l].TimeSheetSearchBarToText;datePickerHolder.appendChild(toText);var endDateHolder=document.createElement("div");endDateHolder.className="EndDateHolder";this.endDatePickerMenu=new DatePickerMenu(endDateHolder,this);this.endDatePickerMenu.init(today.getDate(),today.getMonth()+1,today.getFullYear());datePickerHolder.appendChild(endDateHolder);searchBarHolder.appendChild(datePickerHolder);var space2=document.createElement('div');space2.className="Space2";searchBarHolder.appendChild(space2);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);return searchBarHolder;};this.buildTimeSheetTitle=function(){this.tableTitleItems=new Array();var titleHolder=document.createElement("div");titleHolder.className="TableTitleInnerHolder";var tableItem=document.createElement('div');tableItem.className="TableItem";if(s[l].Direction=="rtl")tableItem.classList.add("Text_rtl");tableItem.style.cursor="default";var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.classList.add("ProfilePictureNoBorder");tableItem.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";if(s[l].Direction=="rtl")name.classList.add("Text_rtl");name.innerHTML=s[l].TimesheetTableTitleItems.Name;tableItem.appendChild(name);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.Name);var totalHours=document.createElement('div');totalHours.className="TotalHours";totalHours.innerHTML=s[l].TimesheetTableTitleItems.TotalHours;tableItem.appendChild(totalHours);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.TotalHours);var totalShifts=document.createElement('div');totalShifts.className="TotalShifts";totalShifts.innerHTML=s[l].TimesheetTableTitleItems.TotalShifts;tableItem.appendChild(totalShifts);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.TotalShifts);var days=document.createElement('div');days.className="Days";days.innerHTML=s[l].TimesheetTableTitleItems.Days;tableItem.appendChild(days);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.Days);var absence=document.createElement('div');absence.className="Absence";absence.innerHTML=s[l].TimesheetTableTitleItems.Absence;tableItem.appendChild(absence);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.Absence);var issues=document.createElement('div');issues.className="Issues";issues.innerHTML=s[l].TimesheetTableTitleItems.Issues;tableItem.appendChild(issues);this.tableTitleItems.push(s[l].TimesheetTableTitleItems.Issues);titleHolder.appendChild(tableItem);return titleHolder;};this.populateTimeSheet=function(data){this.exportableData=new Array();this.exportableData.push(this.tableTitleItems);this.timesheetTableItemsHolder.innerHTML="";var parsedData=this.parseTimeSheetData(data);var counter=0;for(var i in parsedData){var line=parsedData[i];var tableItem=this.buildTimeSheetLine(line);var lineItem=tableItem.lineItem;var lineData=tableItem.lineData;this.timesheetTableItemsHolder.appendChild(lineItem);this.exportableData.push(lineData);var mobileLineItem=this.buildMobileTimeSheetLine(line);this.timesheetTableItemsHolder.appendChild(mobileLineItem);counter+=1;} this.searchBarInfoHolder.innerHTML=s[l].TimesheetSearchFieldInfoShowingText+" "+counter+" "+s[l].TimesheetsheetSearchFieldInfoResultsText;if(counter==0){var noItemsFoundTableItem=document.createElement('div');noItemsFoundTableItem.className="NoItemsFoundTableItem";noItemsFoundTableItem.innerHTML=s[l].TimeTrackingViewNoItemsFoundText;this.timesheetTableItemsHolder.appendChild(noItemsFoundTableItem);}};this.buildMobileTimeSheetLine=function(lineItem){var tableItem=document.createElement('div');tableItem.className="MobileTableItem";if(s[l].Direction=="rtl")tableItem.classList.add("rtl");var profileHolder=document.createElement('div');profileHolder.className="InfoLine";profileHolder.classList.add("ItemTitle");tableItem.appendChild(profileHolder);var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineItem.profile_picture+"')";profileHolder.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";name.innerHTML=lineItem.name;profileHolder.appendChild(name);var infoLine1=document.createElement('div');infoLine1.className="InfoLine";tableItem.appendChild(infoLine1);var totalHours=document.createElement('div');totalHours.className="Section2";infoLine1.appendChild(totalHours);var totalHoursTitle=document.createElement('div');totalHoursTitle.className="Title";totalHoursTitle.innerHTML=s[l].TimesheetTableTitleItems.TotalHours+":";totalHours.appendChild(totalHoursTitle);var totalWork=lineItem.total_time.split(":") var totalWorkTime=parseInt(totalWork[0])+s[l].HourSymbol+" "+parseInt(totalWork[1])+s[l].MinuteSymbol;var totalHoursValue=document.createElement('div');totalHoursValue.className="Value";totalHoursValue.innerHTML=totalWorkTime;totalHours.appendChild(totalHoursValue);var totlaShifts=document.createElement('div');totlaShifts.className="Section2";infoLine1.appendChild(totlaShifts);var totlaShiftsTitle=document.createElement('div');totlaShiftsTitle.className="Title";totlaShiftsTitle.innerHTML=s[l].TimesheetTableTitleItems.TotalShifts+":";totlaShifts.appendChild(totlaShiftsTitle);var totlaShiftsValue=document.createElement('div');totlaShiftsValue.className="Value";totlaShiftsValue.innerHTML=lineItem.total_shifts;totlaShifts.appendChild(totlaShiftsValue);var infoLine2=document.createElement('div');infoLine2.className="InfoLine";tableItem.appendChild(infoLine2);var days=document.createElement('div');days.className="Section3";infoLine2.appendChild(days);var daysTitle=document.createElement('div');daysTitle.className="Title";daysTitle.innerHTML=s[l].TimesheetTableTitleItems.Days+":";days.appendChild(daysTitle);var numberOfDays=Object.keys(lineItem.days).length;var daysValue=document.createElement('div');daysValue.className="Value";daysValue.innerHTML=numberOfDays;days.appendChild(daysValue);var absence=document.createElement('div');absence.className="Section3";infoLine2.appendChild(absence);var absenceTitle=document.createElement('div');absenceTitle.className="Title";absenceTitle.innerHTML=s[l].TimesheetTableTitleItems.Absence+":";absence.appendChild(absenceTitle);var numberOfDays=Object.keys(lineItem.days).length;var absenceValue=document.createElement('div');absenceValue.className="Value";absenceValue.innerHTML=parseInt(lineItem.absence);absence.appendChild(absenceValue);var issues=document.createElement('div');issues.className="Section3";infoLine2.appendChild(issues);var issuesTitle=document.createElement('div');issuesTitle.className="Title";issuesTitle.innerHTML=s[l].TimesheetTableTitleItems.Issues+":";issues.appendChild(issuesTitle);var issuesValue=document.createElement('div');issuesValue.className="Value";var issuesInnerHolder=document.createElement('div');issuesInnerHolder.className="IssuesInnerHolder";if(parseInt(lineItem.issues)>0)issuesInnerHolder.classList.add("HasIssues");issuesInnerHolder.innerHTML=lineItem.issues;issuesValue.appendChild(issuesInnerHolder);issues.appendChild(issuesValue);tableItem.addEventListener("click",function(){this.delegate.tableLineItemSelected(this.data);}.bind({delegate:this,data:lineItem}));return tableItem;};this.buildTimeSheetLine=function(lineItem){var lineData=new Array();var tableItem=document.createElement('div');tableItem.className="TableItem";if(s[l].Direction=="rtl")tableItem.classList.add("Text_rtl");var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineItem.profile_picture+"')";tableItem.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";if(s[l].Direction=="rtl")name.classList.add("Text_rtl");name.innerHTML=lineItem.name;tableItem.appendChild(name);lineData.push(lineItem.name);var totalWork=lineItem.total_time.split(":") var totalWorkTime=parseInt(totalWork[0])+s[l].HourSymbol+" "+parseInt(totalWork[1])+s[l].MinuteSymbol;var totalTime=document.createElement('div');totalTime.className="TotalHours";totalTime.innerHTML=totalWorkTime;tableItem.appendChild(totalTime);lineData.push(lineItem.total_time);var totalShifts=document.createElement('div');totalShifts.className="TotalShifts";totalShifts.innerHTML=lineItem.total_shifts;tableItem.appendChild(totalShifts);lineData.push(lineItem.total_shifts);var numberOfDays=Object.keys(lineItem.days).length;var days=document.createElement('div');days.className="Days";days.innerHTML=numberOfDays;tableItem.appendChild(days);lineData.push(numberOfDays);var absence=document.createElement('div');absence.className="Absence";absence.innerHTML=parseInt(lineItem.absence);tableItem.appendChild(absence);lineData.push(lineItem.absence);var issues=document.createElement('div');issues.className="Issues";var issuesInnerHolder=document.createElement('div');issuesInnerHolder.className="IssuesInnerHolder";if(parseInt(lineItem.issues)>0)issuesInnerHolder.classList.add("HasIssues");issuesInnerHolder.innerHTML=lineItem.issues;issues.appendChild(issuesInnerHolder);tableItem.appendChild(issues);lineData.push(lineItem.issues);tableItem.addEventListener("click",function(){this.delegate.tableLineItemSelected(this.data);}.bind({delegate:this,data:lineItem}));return{lineItem:tableItem,lineData:lineData};} this.parseTimeSheetData=function(data){var shifts=data.shifts;var absence=data.absence;var absenceData=new Array();var searchStartDate=this.startDatePickerMenu.getDate();var searchEndDate=this.endDatePickerMenu.getDate();for(var i=0;i=searchStartDate?startDate:searchStartDate);var end=(endDate<=searchEndDate?endDate:searchEndDate);var days=(Date.getDaysBetweenDates(start,end)+1);var uid=absenceRequest.uid;absenceData[uid]=(absenceData[uid]==undefined?days:parseInt(absenceData[uid])+days);} var timeSheetData=new Array();for(var i=0;i";var printContents=htmlHead+"
"+this.timesheetHolder.innerHTML+"
";var printIframe=document.createElement('iframe');printIframe.style.position='absolute';printIframe.style.top='-1000px';printIframe.style.left='-1000px';printIframe.style.width='0px';printIframe.style.height='0px';printIframe.style.border='0px';document.body.appendChild(printIframe);var doc=printIframe.contentWindow.document;doc.open();doc.write(printContents);doc.close();setTimeout(function(){printIframe.contentWindow.focus();printIframe.contentWindow.print();setTimeout(function(){document.body.removeChild(printIframe);},1000);},1000);};this.exportToCsV=function(data){var CsvString="";data.forEach(function(RowItem,RowIndex){RowItem.forEach(function(ColItem,ColIndex){CsvString+=ColItem+',';});CsvString+="\r\n";});var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();CsvString="data:application/csv,"+encodeURIComponent(CsvString);var x=document.createElement("A");x.setAttribute("href",CsvString);x.setAttribute("download",start+"-"+end+".csv");document.body.appendChild(x);x.click();};this.reloadData=function(){var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate<=endDate){this.endDatePickerMenu.hideMenu();this.startDatePickerMenu.hideMenu();var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(search,start,end);}else{Alert.present(s[l].TimesheetInvalidDateAlertTitle,s[l].TimesheetInvalidDateAlertDatesSwitchedMessage,s[l].TimesheetInvalidDateButton,null,function(buttonPressed){}.bind(this));}};this.onDatePickerMenuPresented=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){this.endDatePickerMenu.hideMenu();} else if(pickerMenu==this.endDatePickerMenu){this.startDatePickerMenu.hideMenu();}};this.onDatePickerMenuDismissed=function(pickerMenu){if(pickerMenu==this.startDatePickerMenu){} else if(pickerMenu==this.endDatePickerMenu){} var startDate=this.startDatePickerMenu.getDate();var endDate=this.endDatePickerMenu.getDate();if(startDate>endDate){Alert.present(s[l].AbsencerequestsInvalidDateAlertTitle,s[l].AbsencerequestsInvalidDateAlertDatesSwitchedMessage,s[l].AbsencerequestsInvalidDateButton,null,function(buttonPressed){}.bind(this));}else{this.reloadData();}};this.getTimeSheetData=function(search=null,start=null,end=null){var request=new NetworkRequest();var params=(search!=null&&search.length>0&&search.length<20?"&search="+search:"");params+=(start!=null?"&start_date="+start:"");params+=(end!=null?"&end_date="+end:"");request.postRequest(Globals.ServicesURL.getTimeSheetDataURL,params,function(responseData){this.onGetTimeSheetDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTimeSheetDataFaild(statusCode,errorMessage)}.bind(this));};this.onGetTimeSheetDataSuccess=function(responseData){this.populateTimeSheet(JSON.parse(responseData));};this.onGetTimeSheetDataFaild=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var Todayssheet=function(delegate){this.delegate=delegate;this.sheetHolder=null;this.searchbar=null;this.sheetData=null;this.employeeData=null;this.refreshInterval=null;this.init=function(){this.timesheetHolder=document.createElement('div');this.timesheetHolder.className="TodaysSheet";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.timesheetHolder.appendChild(this.searchbar);this.timesheetTable=document.createElement('div');this.timesheetTable.className="Table";this.timesheetHolder.appendChild(this.timesheetTable);this.timesheetTableTitle=document.createElement('div');this.timesheetTableTitle.className="TableTitle";this.timesheetTableTitle.appendChild(this.buildTimeLine());this.timesheetTable.appendChild(this.timesheetTableTitle);this.timesheetTableItemsHolder=document.createElement('div');this.timesheetTableItemsHolder.className="TableItemsHolder";this.timesheetTable.appendChild(this.timesheetTableItemsHolder);this.timesheetMobileTable=document.createElement('div');this.timesheetMobileTable.className="MobileTable";this.timesheetHolder.appendChild(this.timesheetMobileTable);if(s[l].Direction=="rtl")this.timesheetMobileTable.classList.add("rtl");this.timesheetMobileTableItemsHolder=document.createElement('div');this.timesheetMobileTableItemsHolder.className="MobileTableItemsHolder";this.timesheetMobileTable.appendChild(this.timesheetMobileTableItemsHolder);this.infobar=document.createElement('div');this.infobar.className="Infobar";this.timesheetHolder.appendChild(this.infobar);return this.timesheetHolder;};this.create=function(){this.searchbar.appendChild(this.buildSearchBar());};this.start=function(data){var sqlDate=Date.getSQLDate();this.getTodaysSheetData(null,sqlDate,null);this.refreshInterval=setInterval(function(){var sqlDate=Date.getSQLDate();this.getTodaysSheetData(this.searchFieldInput.value,sqlDate,null);}.bind(this),5000)};this.stop=function(){clearInterval(this.refreshInterval);this.refreshInterval=null;};this.getTodaysSheetData=function(search=null,start=null,page=null){var request=new NetworkRequest();var params=(search!=null&&search.length>0&&search.length<20?"search="+search:"");params+=(params.length>0?"&":"")+(start!=null?"start_date="+start:"");request.postRequest(Globals.ServicesURL.getTodaysTimeSheetDataURL,params,function(responseData){this.onGetTodaysTimeSheetDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTodaysTimeSheetDataFailed(statusCode,errorMessage)}.bind(this));};this.buildSearchBar=function(){var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].TimeSheetSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){var sqlDate=Date.getSQLDate();if(this.searchFieldInput.value.length>1){this.getTodaysSheetData(this.searchFieldInput.value,sqlDate,null);}else if(this.searchFieldInput.value.length==0){this.getTodaysSheetData(null,sqlDate,null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";var sqlDate=Date.getSQLDate();this.getTodaysSheetData(null,sqlDate,null);}.bind(this));this.searchFieldSpace=document.createElement("div");this.searchFieldSpace.className="Space";searchBarHolder.appendChild(this.searchFieldSpace);return searchBarHolder;};this.buildTimeLine=function(){var now=new Date();var currentHour=now.getHours();var fieldTitles=new Array();for(var i=0;i<=24;i++){var titleItem={title:i+":00",shortTitle:i,width:"calc(4% - 1px)"};fieldTitles.push(titleItem);} var titleHolder=document.createElement("div");titleHolder.className="TimelineHolder";var numOfFields=fieldTitles.length;for(var i=0;i0){for(var i in data){var line=data[i];var tableItem=this.buildTimeSheetLine(line);if(i%2==0)tableItem.classList.add("Even");else tableItem.classList.add("Odd");this.timesheetTableItemsHolder.appendChild(tableItem);var mobileTableItem=this.buildMobileTimesheetLine(line);this.timesheetMobileTableItemsHolder.appendChild(mobileTableItem);}}else{var noItemsFoundTableItem=document.createElement('div');noItemsFoundTableItem.className="NoActiveShiftsTableItem";noItemsFoundTableItem.innerHTML=s[l].TimeTrackingViewNoActiveShiftsFoundText;this.timesheetTableItemsHolder.appendChild(noItemsFoundTableItem);var noItemsFoundMobileTableItem=document.createElement('div');noItemsFoundMobileTableItem.className="NoActiveShiftsTableItem";noItemsFoundMobileTableItem.innerHTML=s[l].TimeTrackingViewNoActiveShiftsFoundText;this.timesheetMobileTableItemsHolder.appendChild(noItemsFoundMobileTableItem);}};this.processData=function(data){var processedData=data;var totalShifts=0;var totalEmployees=0;var activeShifts=0;var employeesOnABreak=0;this.employeeData=new Array();for(var i=0;i"+Date.getTimeString(lineItem.start_time)+(lineItem.end_time!=null?" | "+s[l].TodayssheetFinishedTodayText+": "+Date.getTimeString(lineItem.end_time)+" | "+s[l].TodayssheetTotalShiftDurationText+": "+shiftLength.substring(0,(shiftLength.lastIndexOf(":")))+")":" | "+s[l].TodayssheetCurrentShiftDurationText+": "+shiftLength.substring(0,(shiftLength.lastIndexOf(":")))+""+" | Status: "+(parseInt(lineItem.on_a_break)==1?"On a break":"Working"));var checkinLocation=(lineItem.checkin_location!=null?JSON.parse(lineItem.checkin_location):null);info3Holder.innerHTML=(checkinLocation!=null&&checkinLocation.lid!=null?checkinLocation.location_title:"");if(parseInt(lineItem.is_active)==1){if(parseInt(lineItem.on_a_break)==1)info3Holder.classList.add("OnABreak");else info3Holder.classList.add("Active");} if(info3Holder.innerHTML.length==0)info3Holder.innerHTML=s[l].TodaySheetUnknownLocation;for(var i=0;ii&&startMinutei&&endMinutei){var miniBody=document.createElement("div");miniBody.className="MiniBody";tableItem.appendChild(miniBody);}else{var miniSpace=document.createElement("div");miniSpace.className="MiniSpace";tableItem.appendChild(miniSpace);}} for(var i=parseInt(endHour)+1;i<=24;i++){var space=document.createElement("div");space.className="RightSpace";tableItem.appendChild(space);}}else{for(var i=(parseInt(startHour)+1);iparseInt(startHour)){for(var i=0;i<60;i=i+15){if(currrentMinute>=i&&currrentMinutei){var miniBody=document.createElement("div");miniBody.className="MiniBody";tableItem.appendChild(miniBody);}else{var miniSpace=document.createElement("div");miniSpace.className="MiniSpace";tableItem.appendChild(miniSpace);}}} for(var i=parseInt(currentHour)+1;i<=24;i++){var space=document.createElement("div");space.className="RightSpace";tableItem.appendChild(space);}} tableItem.appendChild(infoHolder);tableItem.appendChild(info2Holder);if(info3Holder.innerHTML.length>0)tableItem.appendChild(info3Holder);var timeline=this.buildTimeLine();tableItem.appendChild(timeline);return tableItem;};this.buildMobileTimesheetLine=function(lineItem){var tableItem=document.createElement("div");tableItem.className="MobileTableItem";shiftLength=0;if(lineItem.end_time!=null){var miliseconds=Date.getTimeElapsedBetweenDates(lineItem.end_time,lineItem.start_time);var shiftLength=Date.getTimeFromMiliseconds(miliseconds);}else{shiftLength=Date.getTimeElapsed(lineItem.start_time);} var checkinLocation=(lineItem.checkin_location!=null?JSON.parse(lineItem.checkin_location):null);var profileHolder=document.createElement('div');profileHolder.className="InfoLine";tableItem.appendChild(profileHolder);var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineItem.profile_picture+"')";profileHolder.appendChild(profilePicture);var doubleLine=document.createElement("div");doubleLine.className="DoubleLineHolder";profileHolder.appendChild(doubleLine);var name=document.createElement('div');name.className="Name";name.innerHTML=lineItem.firstname+" "+lineItem.lastname+" - "+lineItem.position;doubleLine.appendChild(name);name.addEventListener('click',function(){var data={uid:this.data.uid} Application.loadView(ChatView,data);}.bind({delegate:this,data:lineItem}));var location=document.createElement('div');location.className="Location";location.innerHTML=(checkinLocation!=null&&checkinLocation.lid!=null?checkinLocation.location_title:s[l].TodaySheetUnknownLocation);doubleLine.appendChild(location);var startTimeHolder=document.createElement('div');startTimeHolder.className="LargeInfoLine";var startTimeTitle=document.createElement('div');startTimeTitle.className="LargeInfoLineTitle";startTimeTitle.innerHTML=s[l].TodaySheetStartTimeTitleText+":";startTimeHolder.appendChild(startTimeTitle);var startTimeText=document.createElement('div');startTimeText.className="LargeInfoLineText";startTimeText.innerHTML=Date.getTimeString(lineItem.start_time);startTimeHolder.appendChild(startTimeText);tableItem.appendChild(startTimeHolder);var endTimeHolder=document.createElement('div');endTimeHolder.className="LargeInfoLine";var endTimeTitle=document.createElement('div');endTimeTitle.className="LargeInfoLineTitle";endTimeTitle.innerHTML=s[l].TodaySheetEndTimeTitleText+":";endTimeHolder.appendChild(endTimeTitle);var endTimeText=document.createElement('div');endTimeText.className="LargeInfoLineText";endTimeText.innerHTML=(lineItem.end_time!=null?Date.getTimeString(lineItem.end_time):"");endTimeHolder.appendChild(endTimeText);tableItem.appendChild(endTimeHolder);var durationHolder=document.createElement('div');durationHolder.className="LargeInfoLine";var durationTitle=document.createElement('div');durationTitle.className="LargeInfoLineTitle";durationTitle.innerHTML=(lineItem.end_time==null?s[l].TodaySheetCurrentDurationTitleText:s[l].TodaySheetTotalDurationTitleText)+":";durationHolder.appendChild(durationTitle);var durationText=document.createElement('div');durationText.className="LargeInfoLineText";durationText.innerHTML=shiftLength;durationHolder.appendChild(durationText);tableItem.appendChild(durationHolder);var statusHolder=document.createElement('div');statusHolder.className="LargeInfoLine";var statusTitle=document.createElement('div');statusTitle.className="LargeInfoLineTitle";statusTitle.innerHTML=s[l].TodaySheetStatusTitleText+":";statusHolder.appendChild(statusTitle);var statusText=document.createElement('div');statusText.className="LargeInfoLineText";statusText.innerHTML=(lineItem.is_active=="0"?s[l].TodaySheetStatusOffTitleText:(lineItem.on_a_break=="0"?s[l].TodaySheetStatusWorkingTitleText:s[l].TodaySheetStatusOnABreakTitleText));statusHolder.appendChild(statusText);tableItem.appendChild(statusHolder);return tableItem;};this.searchButtonPressed=function(){var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();this.getTimeSheetData(search,start,end);};this.onGetTodaysTimeSheetDataSuccess=function(responseData){this.populateTimeSheet(JSON.parse(responseData));};this.onGetTodaysTimeSheetDataFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var UserPickerDialog=function(container,delegate){this.container=container;this.delegate=delegate;this.userPickerDialogHolder=null;this.userPickerDialogInnerHolder=null;this.excludeList=null;this.selectedUsers=Array();this.present=function(excludeList=null){this.selectedUsers=Array();this.excludeList=excludeList;this.buildDialog();this.getChatUsers();};this.buildDialog=function(){this.userPickerDialogHolder=document.createElement('div');this.userPickerDialogHolder.className="UserPickerDialogHolder";this.userPickerDialogInnerHolder=document.createElement('div');this.userPickerDialogInnerHolder.className="UserPickerDialogInnerHolder";this.titleBar=document.createElement('div');this.titleBar.className="TitleBar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarText.innerHTML=s[l].UserPickerDialogTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"add_user_white.svg"+")";this.closeButton=document.createElement("div");this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.dismiss();}.bind(this));this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.closeButton);this.userPickerDialogHolder.appendChild(this.titleBar);this.userPickerDialogHolder.appendChild(this.userPickerDialogInnerHolder) this.container.appendChild(this.userPickerDialogHolder);this.usersListTable=document.createElement("div");this.usersListTable.className="UserListTable";this.usersListTableSearchBar=document.createElement("div");this.usersListTableSearchBar.className="SearchBar";this.usersListTitle=document.createElement("div");this.usersListTitle.className="UserListTitle";this.usersListTitleIcon=document.createElement("div");this.usersListTitleIcon.className="UserListIcon";this.usersListTableSearchBarSearchField=document.createElement("div");this.usersListTableSearchBarSearchField.className="SearchField";this.usersListTableSearchBarSearchIcon=document.createElement("div");this.usersListTableSearchBarSearchIcon.className="SearchIcon";this.usersListTableSearchInput=document.createElement("input");this.usersListTableSearchInput.type="text";this.usersListTableSearchBarClearButton=document.createElement("div");this.usersListTableSearchBarClearButton.className="SearchBarClearButton";this.usersListTableUsersHolder=document.createElement("div");this.usersListTableUsersHolder.className="UserListTableUsersHolder";this.buildUserList();};this.buildUserList=function(){this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchInput);this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchBarSearchIcon);this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchBarClearButton);this.usersListTableSearchBar.appendChild(this.usersListTitleIcon);this.usersListTableSearchBar.appendChild(this.usersListTitle);this.usersListTableSearchBar.appendChild(this.usersListTableSearchBarSearchField);this.usersListTitle.innerHTML=s[l].NewchatViewMembersTableTitle;this.usersListTable.appendChild(this.usersListTableSearchBar);this.usersListTable.appendChild(this.usersListTableUsersHolder);this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.addButton=document.createElement('div');this.addButton.className="Button";this.addButton.innerHTML=s[l].UserPickerDialogAddButtonTitleText;this.buttonsHolder.appendChild(this.addButton);this.addButton.addEventListener('click',function(){this.onAddButtonSelected();}.bind(this));this.cancelButton=document.createElement('div');this.cancelButton.className="Button";this.cancelButton.innerHTML=s[l].UserPickerDialogCancelButtonTitleText;this.buttonsHolder.appendChild(this.cancelButton);this.cancelButton.addEventListener('click',function(){this.onCancelButtonSelected();}.bind(this));this.usersListTable.appendChild(this.buttonsHolder);this.userPickerDialogInnerHolder.appendChild(this.usersListTable);this.usersListTableSearchBarClearButton.addEventListener('click',function(){this.usersListTableSearchInput.value="";this.usersListTableSearchBarClearButton.style.display="none";this.getChatUsers(null);}.bind(this));this.usersListTableSearchInput.placeholder=s[l].NewchatViewMembersTableSearchFieldPlaceholderText;this.usersListTableSearchInput.addEventListener("keyup",function(event){if(this.usersListTableSearchInput.value.length>1){this.getChatUsers(this.usersListTableSearchInput.value);}else if(this.usersListTableSearchInput.value.length==0){this.getChatUsers(null);} if(this.usersListTableSearchInput.value.length>0){this.usersListTableSearchBarClearButton.style.display="block";}else{this.usersListTableSearchBarClearButton.style.display="none";}}.bind(this));},this.populateUserListTable=function(data=null){this.usersListTableUsersHolder.innerHTML="";var users=data;if(users!=null&&users.length>0){for(var i=0;i0)this.delegate.onUserPickerDialogEnded(this.selectedUsers);this.dismiss();};this.onCancelButtonSelected=function(){this.dismiss();};this.dismiss=function(){this.container.style.display="none";this.container.innerHTML="";};this.getChatUsers=function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getChatUsersURL,params,function(responseData){this.onGetChatUsersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetChatUsersFailed(statusCode,errorMessage)}.bind(this));};this.onGetChatUsersSuccess=function(responseData){var data=JSON.parse(responseData);this.populateUserListTable(data);this.container.style.display="block";};this.onGetChatUsersFailed=function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();};} var DE={Language:"Deutsch",LocalLanguage:"Deutsch",initials:"DE",Direction:"ltr",FlagIcon:'/assets/images/flags/flag_de.png',LanguageMenuTitle:"Sprachmenü",EmojiTitleStrings:{Recent:"Zuletzt verwendet",People:"Smileys & Personen",Nature:"Tiere & Natur",Food:"Essen & Trinken",Activities:"Aktivitäten",Travel:"Reisen & Orte",Objects:"Gegenstände",Symbols:"Symbole",Flags:"Flaggen"},MonthsOfYear:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],DaysOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],DaysOfWeekShortHand:["So","Mo","Di","Mi","Do","Fr","Sa"],DateAndTimeYesterday:"Gestern",DateAndTimeToday:"Heute",DateAndTimeTomorrow:"Morgen",DateAndTimeByText:"von",DateAndTimeLastText:"Letzte",HourSymbol:"Std.",MinuteSymbol:"Min.",ApplicationEnableNotificationsAlert:{Title:"Benachrichtigungen aktivieren",Description:"Bitte erlauben Sie dailyreport, Ihnen Benachrichtigungen zu senden.",Button1Title:"OK",},TitleBarLoginButtonText:"Anmelden",NavigationMenuTitle:"Hauptmenü",MenuItemTitles:{Dashboard:"Dashboard",Insights:"Einblicke",News:"Neuigkeiten",Events:"Ereignisse",Timetracking:"Zeiterfassung",Tasks:"Aufgaben",Forms:"Formulare",Scheduling:"Personaleinsatzplanung",Calendar:"Kalender",Directory:"Verzeichnis",Chat:"Chat",Mailbox:"Postfach",Clouddrive:"Cloud-Laufwerk",Profile:"Profil",Settings:"Einstellungen",Admin:"Admin",Logout:"Abmelden"},MenuWelcomeText:"Hallo",SettingsMenuItemTitles:{UserPreferences:"Benutzereinstellungen",Profile:"Profil",UserSettings:"Einstellungen",Security:"Sicherheit",UserManagement:"Benutzerverwaltung",UserAccounts:"Benutzerkonten",GroupManagement:"Gruppenverwaltung",PositionsManagement:"Rollen",LocationsManagement:"Standorte",TimetrackingAndSchedulingManagement:"Zeitmanagement",TimetrackingManagement:"Zeiterfassung",SchedulingManagement:"Einsatzplanung",ContentManagement:"Inhaltsverwaltung",NewsManagement:"Neuigkeiten",EventsManagement:"Ereignisse",TaskManagement:"Aufgabenverwaltung",TasksManagement:"Aufgaben",FormsManagement:"Formularverwaltung",KioskManagement:"Kiosk-Verwaltung",Kiosks:"Kioske",Admin:"Admin",WebServer:"Webserver",SQLServer:"SQL-Server",CookieManagement:"Cookie-Verwaltung",LanguageManagement:"Sprachverwaltung",Info:"App-Informationen",About:"Über uns",License:"Lizenz, ToS & DSGVO"},HomeViewHeaderText:"Demnächst verfügbar",HomeViewSecondaryHeaderText:"Hier wird gerade etwas Tolles vorbereitet...
Bitte schauen Sie in ein paar Wochen wieder vorbei.",HomeViewLoginButtonText:"Anmelden, um zu beginnen",AboutViewTitleText:"Über uns",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"App-Informationen",AboutViewApplicationVersionTitleText:"Version",AboutViewApplicationBuildTitleText:"Build",AboutViewApplicationCommitTitleText:"Commit",AboutViewApplicationBuildDateTitleText:"Build-Datum",AboutViewApplicationQRCodeTitleText:"QR-Code",AboutViewApplicationQRCodeInfoText:"Scannen, um die mobile App zu starten",AboutViewApplicationDownloadNativeAndroid:"Android-App herunterladen",AboutViewApplicationDownloadNativeiOS:"iOS-App herunterladen",EulaViewTitleText:"Lizenzvereinbarung",EulaViewInfoTitleText:"Software-Lizenzvereinbarung",EulaViewTocTitleText:"Inhaltsverzeichnis",LoginViewLoginTitleText:"Anmelden",LoginViewDefaultMessageText:"Melden wir Sie an, damit wir loslegen können...",LoginViewUsernamePlaceHolderText:"E-Mail oder Telefonnummer",LoginViewPasswordPlaceHolderText:"Passwort",LoginViewLoginButtonText:"Anmelden",LoginViewResetPasswordButtonText:"Passwort vergessen? Hier klicken",LoginViewLoginError1MessageText:"Ungültige E-Mail oder Telefonnummer, bitte versuchen Sie es erneut",LoginViewLoginError2MessageText:"Ungültiges Passwort, das Passwort muss mindestens 6 Zeichen lang sein",LoginViewLoginError3MessageText:"Ungültige Anmeldedaten, bitte versuchen Sie es erneut",ResetpasswordViewTitleText:"Passwort zurücksetzen",ResetpasswordViewDefaultResetMessageText:"Geben Sie Ihre Daten ein, um Ihr Passwort zurückzusetzen",ResetpasswordViewUsernamePlaceHolderText:"E-Mail oder Telefonnummer",ResetpasswordViewResetButtonText:"Link zum Zurücksetzen senden",ResetpasswordViewLoginButtonText:"Haben Sie bereits ein Konto? Hier klicken",ResetpasswordViewInvalidUsernameErrorMessageText:"Ungültige E-Mail oder Telefonnummer, bitte versuchen Sie es erneut",UpdatepasswordViewTitleText:"Passwort aktualisieren",UpdatepasswordViewDefaultUpdateMessageText:"Geben Sie Ihr neues Passwort ein",UpdatepasswordViewPasswordPlaceHolderText:"Neues Passwort",UpdatepasswordViewUpdateButtonText:"Passwort aktualisieren",UpdatepasswordViewLoginButtonText:"Haben Sie bereits ein Konto? Hier klicken",UpdatepasswordViewInvalidUsernameErrorMessageText:"Ungültiges Passwort, bitte versuchen Sie es erneut",RegisterViewTitleText:"Registrieren",RegisterViewDefaultMessageText:"Lassen Sie uns Sie registrieren...",RegisterViewPasswordPlaceHolderText:"Bitte geben Sie ein neues Passwort ein",RegisterViewPassword2PlaceHolderText:"Bitte geben Sie Ihr Passwort erneut ein",RegisterViewMessageHolderTitleText:"Das Passwort muss Folgendes enthalten:",RegisterViewMessageHolderLowercaseTitleText:"• Einen Kleinbuchstaben",RegisterViewMessageHolderUppercaseTitleText:"• Einen Großbuchstaben",RegisterViewMessageHolderNumberTitleText:"• Eine Zahl",RegisterViewMessageHolderLengthTitleText:"• Mindestens 8 Zeichen",RegisterViewPasswordMissmatchMessageText:"Passwörter stimmen nicht überein",RegisterViewPasswordInvalidMessageText:"Ungültiges Passwort, bitte versuchen Sie es erneut",RegisterViewRegisterButtonText:"Registrieren",DashboardViewTitleText:"Dashboard",DashboardViewTitleMenuResetButtonText:"Layout zurücksetzen",DashboardViewTitleMenuSetBackgroundButtonText:"Hintergrundbild festlegen",InsightsViewTitleText:"Einblicke",InsightsViewTitleMenuResetButtonText:"Layout zurücksetzen",InsightsViewTitleMenuSetBackgroundButtonText:"Hintergrundbild festlegen",NewsViewTitleText:"Neuigkeiten",NewsViewNewsArticlePublishedTitleText:"Veröffentlicht am ",NewsViewNoItemsFoundTableItemText:"Keine Nachrichtenartikel gefunden...",NewseditorViewTitleText:"Nachrichten-Editor",NewseditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},NewseditorViewDeleteArticleAlert:{Title:"Artikel löschen?",Description:"Sind Sie sicher, dass Sie diesen Artikel löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},NewsmanagementViewTitleText:"Nachrichtenverwaltung",NewsmanagementViewSearchFieldPlaceholderText:"Suchen",NewsmanagementViewSearchBarSearchButtonTitleText:"Suchen",NewsmanagementViewNewsArticlePublishedTitleText:"Veröffentlicht am ",NewsmanagementViewNewsArticleUnPublishedTitleText:"Nicht veröffentlicht",NewsmanagementViewNoItemsFoundTableItemText:"Keine Nachrichtenartikel gefunden...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"Neuer Artikel"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"Bearbeiten",DuplicateButtonTitleText:"Duplizieren",PublishButtonTitleText:"Veröffentlichen",UnPublishButtonTitleText:"Unveröffentlichen",DeleteButtonTitleText:"Löschen"},NewsmanagementViewSearchBarInfoTextPart1:"Zeige",NewsmanagementViewSearchBarInfoTextPart2:"von",NewsmanagementViewSearchBarInfoTextPart3:"Artikeln",NewsmanagementViewDeleteArticleAlert:{Title:"Artikel löschen?",Description:"Sind Sie sicher, dass Sie diesen Artikel löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},EventsViewTitleText:"Ereignisse",EventsmanagementViewTitleText:"Ereignisverwaltung",EventsmanagementViewSearchFieldPlaceholderText:"Suchen",EventsmanagementViewSearchBarSearchButtonTitleText:"Suchen",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Neues Ereignis"},EventeditorViewTitleText:"Ereignis-Editor",EventeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},ChatViewContactsTitleBarText:"Chat",ChatViewContactsSearchBarText:"Suchen",ChatViewMessagesPlaceholderText:"Bitte wählen Sie einen Chat aus oder klicken Sie auf das [+], um einen neuen Chat zu starten",ChatViewMessagesTitleBarInfoPrefixText:"Letzte Aktualisierung",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"Zuletzt gesehen",ChatViewMessagesTitleBarInfoOnlineText:"Online",ChatViewDeleteMessageAlertTitle:"Aufnahme löschen?",ChatViewDeleteMessageAlertText:"Sind Sie sicher, dass Sie Ihre Aufnahme löschen möchten?",ChatViewDeleteMessageAlertButton1:"Ja",ChatViewDeleteMessageAlertButton2:"Nein",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"Sprachanruf",StartVideoCallButtonTitleText:"Videoanruf",ShowChatDetailsButtonTitleText:"Chat-Details"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"Foto senden",FileMenuItemTitle:"Datei senden"},ChatViewSystemMessages:{GroupCreated:"Chat erstellt am",GroupPictureUpdated:"Gruppenbild aktualisiert am",GroupNameUpdated:"Gruppenname aktualisiert am",MemberLeft:"hat die Gruppe verlassen",MemberJoined:"ist der Gruppe beigetreten",},ChatViewChatEmptyChatGroupItemText:"Keine Chatmitglieder oder Gruppen gefunden...",ChatViewChatGroupItemGroupCreatedByText:"Chat gestartet von",ChatViewChatGroupItemGroupPhotoUpdatedByText:"Chatfoto aktualisiert von",ChatViewChatGroupItemGroupNameUpdatedByText:"Chatname aktualisiert von",ChatViewChatGroupItemMemberLeftText:"verließ die Gruppe",ChatViewChatGroupItemMemberJoinedText:"trat der Gruppe bei",ChatViewChatGroupItemGroupSentAFileText:"hat eine Datei gesendet",ChatViewChatGroupItemGroupSentAnImageText:"hat ein Bild gesendet",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"hat eine Aufnahme gesendet",ChatViewChatGroupItemGroupMessageDeletedText:"hat eine Nachricht gelöscht",ChatViewChatGroupItemGroupMessageReactionText:"reagierte ___ auf eine Nachricht",ChatViewChatMessageItemForwardedText:"weitergeleitet",ChatMessageItemDeletedMessage:"Nachricht gelöscht",ChatMessageItemMissedVoiceCallText:"Verpasster Sprachanruf",ChatMessageItemMissedVideoCallText:"Verpasster Videoanruf",ChatMessageItemUnansweredVideoCallText:"Unbeantworteter Videoanruf",ChatMessageItemUnansweredVoiceCallText:"Unbeantworteter Sprachanruf",ChatMessageItemVoiceCallText:"Sprachanruf",ChatMessageItemVideoCallText:"Videoanruf",ChatMessageItemReactionTableTitleText:"Reaktionen:",ChatMessageItemTapToRemoveReactionText:"Zum Entfernen tippen",NewchatViewTitleText:"Neuer Chat",NewchatViewCreateNewGroupButtonText:"Neue Gruppe erstellen",NewchatViewCreateNewGroupOrText:"oder Kontakt wählen",NewchatViewContactsTableTitle:"Kontakte",NewchatViewMembersTableTitle:"Mitglieder",NewchatViewCreateNewGroupTitleText:"Eine neue Gruppe erstellen",NewchatViewMembersTableSearchFieldPlaceholderText:"Suchen",NewchatViewCreateNewGroupTitleInputPlaceholderText:"Gruppentitel",NewchatViewCreateGroupButtonText:"Gruppe erstellen",NewchatViewTitleBarMenu:{SaveButtonTitleText:"Speichern",CloseButtonTitleText:"Schließen"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"Ungültiger Titel",NewchatViewCreateNewChatInvalidTitleAlertText:"Bitte geben Sie einen Titel für die neue Gruppe ein",NewchatViewCreateNewChatInvalidTitleAlertButton:"Ok",NewchatViewCreateNewChatNoMembersAlertTitle:"Keine Mitglieder ausgewählt",NewchatViewCreateNewChatNoMembersAlertText:"Bitte wählen Sie mindestens ein Mitglied für die neue Gruppe aus",NewchatViewCreateNewChatNoMembersAlertButton:"Ok",ChatdetailsViewTitleText:"Chat-Details",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"Bild ändern",ChangeGroupNameButtonTitleText:"Namen aktualisieren",AddMemberButtonTitleText:"Mitglieder hinzufügen",DeleteGroupButtonTitleText:"Gruppe löschen",ExitGroupButtonTitleText:"Gruppe verlassen",CloseButtonTitleText:"Schließen"},ChatdetailsViewExitGroupAlert:{Title:"Gruppe verlassen?",Description:"Sind Sie sicher, dass Sie diese Gruppe verlassen möchten? Sie haben keinen Zugriff mehr auf Nachrichten oder Daten dieser Gruppe.",Button1Title:"Verlassen",Button2Title:"Abbrechen",},ChatdetailsViewDeleteGroupAlert:{Title:"Gruppe löschen?",Description:"DIESE AKTION BETRIFFT ALLE GRUPPENMITGLIEDER
Sind Sie sicher, dass Sie diese Gruppe löschen möchten? Dies kann nicht rückgängig gemacht werden und alle Nachrichten, Bilder und Dateien gehen verloren.",Button1Title:"Löschen",Button2Title:"Abbrechen",},ChatDetailsViewMembersTableTitle:"Mitglieder",ChatDetailsViewMembersTitle:"Mitglieder in der Gruppe",ChatDetailsViewCreatedOnText:"Erstellt am",ChatDetailsViewCreatedByText:"Erstellt von",ChatDetailsGroupMediaTitleText:"Gruppenmedien",ChatDetailsGroupMediaImagesButtonTitleText:"Bilder",ChatDetailsGroupMediaFilesButtonTitleText:"Dateien",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"Suchen",ChatDetailsViewMembersTableItemAdminTitle:"Admin",ChatDetailsViewAdminMembersTableTitle:"Admins",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"Zum Admin ernennen",UnsetAdminButtonTitleText:"Adminrechte entziehen",RemoveFromGroupButtonTitleText:"Aus Gruppe entfernen",},CallViewTitleText:"Anruf",CallViewTitleBarMenu:{HangupButtonTitleText:"Auflegen"},CallViewIncomingVoiceCallText:"Eingehender Sprachanruf",CallViewIncomingVideoCallText:"Eingehender Videoanruf",CallViewRemovePeerOnAnotherCallText:"ist in einem anderen Gespräch",CallViewCallRejectedText:"Anruf wurde abgelehnt",CallViewCallNotAnsweredText:"Anruf nicht beantwortet",CallViewMissedCallText:"Verpasster Anruf",CallViewCallEndedText:"Anruf beendet",CallViewOutgoingCallText:"Anrufen",CallViewCallDurationText:"Dauer",CallViewLowReceptionWarningText:"Schwacher WLAN- oder Mobilfunkempfang, Verbindung wird neu aufgebaut...",TimetrackingViewTitleText:"Zeiterfassung",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"Neue Schicht",NewAbsenceRequestText:"Neue Abwesenheitsanfrage",PrintButtonTitleText:"Drucken",ExportButtonTitleText:"Exportieren"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"Drucken",ExportButtonTitleText:"Exportieren",CloseButtonTitleText:"Schließen"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"Heute",Timesheets:"Stundenzettel",MyReport:"Mein Bericht",AbsenceRequests:"Abwesenheit"},TimeTrackingViewNoItemsFoundText:"Keine Einträge gefunden...",TimeTrackingViewNoActiveShiftsFoundText:"Keine Schichten gefunden...",TodaySheetStartTimeTitleText:"Startzeit",TodaySheetEndTimeTitleText:"Endzeit",TodaySheetCurrentDurationTitleText:"Aktuelle Dauer",TodaySheetTotalDurationTitleText:"Gesamtdauer",TodaySheetStatusTitleText:"Status",TodaySheetStatusWorkingTitleText:"Arbeitet",TodaySheetStatusOnABreakTitleText:"In Pause",TodaySheetStatusOffTitleText:"Außer Dienst",TodaySheetWorkingFromTitleText:"Arbeitet von",TodaySheetUnknownLocation:"Unbekannter Standort",TodayssheetStartedYesterdayText:"Begonnen gestern um",TodayssheetStartedTodayText:"Begonnen heute um",TodayssheetFinishedTodayText:"Beendet heute um",TodayssheetTotalShiftDurationText:"Gesamtdauer",TodayssheetCurrentShiftDurationText:"Aktuelle Dauer",TodayssheetFooterInfoHolder:{OnABreak:"In Pause",Active:"Aktiv",Shifts:"Schichten",Employees:"Mitarbeiter"},TimeSheetSearchFieldPlaceholderText:"Suchen",TimeSheetSearchBarToText:"bis",TimesheetInvalidDateAlertTitle:"Ungültige Daten ausgewählt",TimesheetInvalidDateAlertDatesSwitchedMessage:"Bitte stellen Sie sicher, dass das Startdatum vor dem Enddatum liegt.",TimesheetInvalidDateButton:"OK",TimesheetSearchFieldInfoShowingText:"Zeige",TimesheetsheetSearchFieldInfoResultsText:"Ergebnisse",TimesheetTableTitleItems:{Name:"Name",TotalHours:"Gesamtstunden",TotalShifts:"Gesamtschichten",Days:"Tage",Absence:"Abwesenheit",Issues:"Probleme"},EmployeesheetSearchFieldInfoShowingText:"Zeige",EmployeesheetSearchFieldInfoResultsText:"Ergebnisse",EmployeesheetInvalidDateAlertTitle:"Ungültige Daten ausgewählt",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"Bitte stellen Sie sicher, dass das Startdatum vor dem Enddatum liegt.",EmployeesheetInvalidDateButton:"OK",EmployeesheetTableTitleItems:{Date:"Datum",Position:"Position",StartTime:"Startzeit",EndTime:"Endzeit",TotalTime:"Gesamtzeit",BreakTime:"Pausenzeit",Issues:"Status"},EmployeesheetTableInfoTotalShiftsTitleText:"Schichten gesamt",EmployeesheetTableInfoWorkedHoursTitleText:"Arbeitsstunden",EmployeesheetTableInfoBreakHoursTitleText:"Pausenstunden",EmployeesheetTableInfoAbsenceTitleText:"Fehltage",EmployeesheetTableInfoHasIssuesYes:"Ausstehend",EmployeesheetTableInfoHasIssuesApproved:"Genehmigt",EmployeesheetTableInfoHasIssuesRejected:"Abgelehnt",EmployeesheetTableInfoHasIssuesNo:"Keine Probleme",AbsencerequestSearchFieldPlaceholderText:"Suchen",AbsencerequestSearchBarToText:"bis",AbsencerequestSearchBarSearchButtonTitleText:"Suchen",AbsencerequestsTableTitleItems:{Name:"Name",Type:"Typ",Dates:"Daten",RequestedOn:"Angefragt am",Status:"Status"},AbsencerequestsTableItemStatus:{Approved:"Genehmigt",Rejected:"Abgelehnt",Pending:"Ausstehend"},AbsencerequestFilterMenuItems:{All:"Alle",MyRequests:"Meine Anfragen",EmployeeRequests:"Mitarbeiteranfragen"},AbsencerequestsTableItemRejectedText:"Abgelehnt",AbsencerequestsInvalidDateAlertTitle:"Ungültige Daten ausgewählt",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"Bitte stellen Sie sicher, dass das Startdatum vor dem Enddatum liegt.",AbsencerequestsInvalidDateButton:"OK",AbsencerequestsSearchFieldInfoShowingText:"Zeige",AbsencerequestsSearchFieldInfoOutOfText:"von",AbsencerequestViewPendingMessageText:"Anfrage wartet auf Genehmigung...",AbsencerequestViewApprovedMessageText:"Anfrage wurde genehmigt!",AbsencerequestViewDeniedMessageText:"Anfrage wurde abgelehnt.",AbsencerequestViewTitleText:"Abwesenheitsanfrage",AbsencerequestViewFormTitleText:"Antrag auf Freizeit",AbsencerequestViewFormInfoText:"Bitte füllen Sie das folgende Formular aus und senden Sie es zur Genehmigung ein.",AbsencerequestViewFormEmployeeNameTitleText:"Mitarbeitername",AbsencerequestViewFormRequestTypeTitleText:"Anfragetyp",AbsencerequestViewFormStartDateTitleText:"Startdatum",AbsencerequestViewFormEndDateTitleText:"Enddatum",AbsencerequestViewFormRequestNoteTitleText:"Grund der Anfrage",AbsencerequestViewFormResponseNoteTitleText:"Antwort des Vorgesetzten",AbsencerequestViewFormApprovedByTitleText:"Name des Vorgesetzten",AbsencerequestViewFormApprovalDateTitleText:"Beantwortet am",AbsencerequestViewFormRequiredDocumentsTitleText:"Erforderliche Dokumente",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"Keine Dokumente angehängt...",AbsencerequestViewFormApproveButtonTitleText:"Genehmigen",AbsencerequestViewFormRejectButtonTitleText:"Ablehnen",AbsencerequestViewFormSubmitButtonTitleText:"Absenden",AbsenceReqestTypes:{TimeOff:"Freizeit",SickLeave:"Krankmeldung"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"Absenden",NewButtonTitleText:"Neu",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},AbsencerequestViewDeleteRequestAlert:{TitleText:"Anfrage löschen?",MessageText:"Sind Sie sicher, dass Sie diese Anfrage löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen"},AbsencerequestViewFormNotFoundTitleText:"Formular nicht gefunden",AbsencerequestViewFormNotFoundInfoText:"Das gesuchte Formular existiert nicht, es wurde möglicherweise gelöscht...",AbsencerequestViewFormValidationAlert:{TitleText:"Ungültige Daten ausgewählt",InfoTextDatesSwitchedMessage:"Bitte stellen Sie sicher, dass das Startdatum vor dem Enddatum liegt.",InfoTextInvalidStartDateMessage:"Das Startdatum ist ungültig, bitte versuchen Sie es erneut.",InfoTextInvalidEndDateMessage:"Das Enddatum ist ungültig, bitte versuchen Sie es erneut.",Button1Title:"OK",},ShifteditorViewTitleText:"Schicht-Editor",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},ShifteditorViewPendingMessageText:"Schicht wartet auf Genehmigung...",ShifteditorViewApprovedMessageText:"Schicht wurde genehmigt!",ShifteditorViewDeniedMessageText:"Schicht wurde abgelehnt.",ShifteditorViewEmployeeNameTitleText:"Mitarbeitername",ShifteditorViewEmployeePositionTitleText:"Position",ShifteditorViewStartTimeTitleText:"Startzeit",ShifteditorViewEndTimeTitleText:"Endzeit",ShifteditorViewLocationTitleText:"Standort",ShifteditorViewLocationUnknownTitleText:"Unbekannt",ShifteditorViewBreaksTitleText:"Pausen",ShifteditorViewBreaksAddButtonText:"Hinzufügen",ShifteditorViewIssuesTitleText:"Probleme",ShifteditorViewDeleteShiftAlert:{Title:"Schicht löschen?",Description:"Sind Sie sicher, dass Sie diese Schicht löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},ShifteditorViewDeleteBreakAlert:{Title:"Pause löschen?",Description:"Sind Sie sicher, dass Sie diese Pause löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},ShifteditorViewFormIncompleteAlert:{Title:"Schichtinfo unvollständig",InfoTextInvalidStartTime:"Die Schicht-Startzeit ist ungültig, bitte korrekt ausfüllen.",InfoTextInvalidEndTime:"Die Schicht-Endzeit ist ungültig, bitte korrekt ausfüllen.",InfoTextInvalidBreakStartTime:"Die Pausen-Startzeit ist ungültig.",InfoTextInvalidBreakEndTime:"Die Pausen-Endzeit ist ungültig.",InfoTextInvalidNotesLength:"Ihre Notizen sind zu lang, maximale Länge beträgt 512 Zeichen...",Button1Title:"OK",},ShifteditorViewNoBreakItemsFoundText:"Keine Pausen für diese Schicht gefunden...",ShifteditorViewNoIssuesFoundText:"Keine Probleme gefunden...",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"Schicht ohne Standortfreigabe gestartet.",ShiftEndedWithNoLocationData:"Schicht ohne Standortfreigabe beendet.",ShiftStartedOutsideOfLocation:"Schicht außerhalb der definierten Standorte gestartet.",ShiftEndedOutsideOfLocation:"Schicht außerhalb der definierten Standorte beendet.",ShiftCreatedManually:"Schicht manuell erstellt.",ShiftDataWasEdited:"Schichtdaten wurden manuell bearbeitet.",},ShifteditorViewManagerTitleText:"Vorgesetzter",ShifteditorViewRespondedAtTitleText:"Beantwortet am",ShifteditorViewNotesTitle:"Notizen",ShifteditorViewManagerNotesTitle:"Notizen des Vorgesetzten",ShifteditorViewApproveButtonTitleText:"Genehmigen",ShifteditorViewRejectButtonTitleText:"Ablehnen",TimetrackingmanagementViewTitleText:"Zeiterfassung",TimetrackingmanagementViewSearchFieldPlaceholderText:"Suchen",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"Suchen",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Neu"},TasksViewTitleText:"Aufgaben",TasksViewTabBarMenuItemTitleText:{MyTasks:"Mir zugewiesen",CreatedTasks:"Von mir erstellt"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"Neue Aufgabe"},TasksViewSearchBarGroupByTitleText:"Gruppieren nach",TasksViewSearchBarFilterTitleText:"Anzeigen",TasksViewSearchBarFilterShowAllTitleText:"Alle",TasksViewSearchBarInfoTextPart1:"Zeige",TasksViewSearchBarInfoTextPart2:"von",TasksViewSearchBarInfoTextPart3:"Aufgaben",TasksViewSearchBarGroupByOptions:{Priority:"Priorität",Tags:"Tags"},TasksViewTaskPriorityList:{High_priority:"Hohe Priorität",Medium_priority:"Mittlere Priorität",Low_priority:"Niedrige Priorität",No_priority:"Keine Priorität"},TasksViewTaskStatusList:{All:"Alle",Open:"Offen",In_progress:"In Bearbeitung",On_hold:"Wartend",Cancelled:"Abgebrochen",Done:"Erledigt",Closed:"Geschlossen"},TasksViewSearchFieldPlaceholderText:"Suchen",TasksViewTableTitle:{TaskTitle:"Titel",TaskDescription:"Beschreibung",TaskCreationDate:"Erstellungsdatum",TaskStartDate:"Startdatum",TaskDueDate:"Fälligkeitsdatum",TaskStatus:"Status",TaskAsignees:"Zugewiesen an"},TaskViewTitleText:"Aufgabe",TaskViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},TaskViewToolbarCreationTimeTitle:"Erstellt",TaskViewToolbarStartedTimeTitle:"Gestartet",TaskViewToolbarDueTimeTitle:"Fällig",TaskViewTaskInfoTitleText:"Titel",TaskViewTaskInfoDescriptionTitleText:"Beschreibung",TaskViewTaskInfoAsigneeTitleText:"Zugewiesen an",TaskViewTaskInfoOwnerTitleText:"Eigentümer",FormsViewTitleText:"Formulare",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"Neues Formular",CreateFormTemplateButtonTitleText:"Neue Vorlage"},FormsViewTabBarMenuItemTitleText:{MyForms:"Meine Formulare",SharedForms:"Mit mir geteilt",AssignedToMe:"Mir zugewiesen",EmptyForms:"Formularvorlagen"},FormsViewSearchFieldPlaceholderText:"Suchen",FormsViewSearchBarFilterTitleText:"Anzeigen",FormsViewFormStatusList:{All:"Alle",Open:"Offen",Completed:"Abgeschlossen",Closed:"Geschlossen",},FormsViewFormFilterList:{All:"Alle",MyForms:"Meine Formulare",SharedForms:"Geteilte Formulare",},FormsViewFormsTableTypeTitleText:"Formulartyp",FormsViewFormTypes:{1:"Standardformular",2:"Umfrage",3:"Anfrage an Vorgesetzten"},FormsViewSearchBarInfoTextPart1:"Zeige",FormsViewSearchBarInfoTextPart2:"von",FormsViewSearchBarInfoTextPart3:"Formularen",FormsViewFormsTableNameTitle:"Formularname",FormsViewFormsTableTemplateNameTitle:"Vorlagenname",FormsViewFormsTableCreatorTitle:"Ersteller",FormsViewFormsTableAssignedToTitle:"Zugewiesen an",FormsViewFormsTableAssignedByTitle:"Zugewiesen von",FormsViewFormsTableCreationTimeTitle:"Erstellungszeit",FormsViewFormsTableLastModifiedTitle:"Zuletzt geändert",FormsViewFormsTableDueTimeTitle:"Fälligkeit",FormsViewFormsTablePublishedTimeTitle:"Veröffentlicht am",FormsViewFormsTableCompletionTimeTitle:"Abschlusszeit",FormsViewFormsTableStatusTitle:"Status",FormsViewFormsTableTypeTitle:"Formulartyp",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Formular erstellen",EditButtonTitleText:"Vorlage bearbeiten",DuplicateButtonTitleText:"Vorlage duplizieren",DeleteButtonTitleText:"Vorlage löschen"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"Formular öffnen",EditButtonTitleText:"Formular bearbeiten",PublishButtonTitleText:"Formular veröffentlichen",UnpublishButtonTitleText:"Formular zurückziehen",DeleteButtonTitleText:"Formular löschen"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"Formular öffnen",EditButtonTitleText:"Formular bearbeiten",PublishButtonTitleText:"Formular veröffentlichen",UnpublishButtonTitleText:"Formular zurückziehen",DeleteButtonTitleText:"Formular löschen"},FormsViewDeleteFormTemplateAlert:{Title:"Formularvorlage löschen?",Description:"Sind Sie sicher, dass Sie diese Formularvorlage löschen möchten? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormsViewDeleteFormAlert:{Title:"Formular löschen?",Description:"Sind Sie sicher, dass Sie dieses Formular löschen möchten? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormsViewPublishFormAlert:{Title:"Formular veröffentlichen?",Description:"Sind Sie sicher, dass Sie dieses Formular veröffentlichen möchten? Sobald es veröffentlicht ist, können alle zugewiesenen Benutzer und Prüfer das Formular sehen.",Button1Title:"Veröffentlichen",Button2Title:"Abbrechen",},FormsViewUnpublishFormAlert:{Title:"Formular zurückziehen?",Description:"Sind Sie sicher, dass Sie die Veröffentlichung dieses Formulars aufheben möchten? Dies wirkt sich auf alle Prüfer und zugewiesenen Benutzer aus.",Button1Title:"Zurückziehen",Button2Title:"Abbrechen",},FormsViewNoItemsFoundTableItemText:"Keine Einträge gefunden...",FormViewTitleText:"Formular",FormViewTitleBarMenu:{SaveButtonTitleText:"Speichern",PublishButtonTitleText:"Formular veröffentlichen",UnpublishButtonTitleText:"Formular zurückziehen",SubmitButtonTitleText:"Absenden",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},FormViewAlertPanel:{AlertNoNameTitleText:"Formularname",AlertNoNameDescription:"Bitte geben Sie einen Namen für das Formular ein",Button1Title:"Ok",},FormViewFormNamePlaceholderText:"Bitte Formularnamen eingeben",FormViewSubmitButtonTitleText:"Absenden",FormViewPublishButtonTitleText:"Veröffentlichen",FormViewUnpublishButtonTitleText:"Zurückziehen",FormViewMenubarQuestionsButtonTitleText:"Formular",FormViewMenubarResponsesButtonTitleText:"Antworten",FormViewMenubarSettingsButtonTitleText:"Einstellungen",FormViewResponsesDialogTitleText:"Antworten:",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"Zusammenfassung",Responses:"Antworten"},FormViewResponsesDialogTitleCompletionRateText:"Abschlussquote:",FormViewResponsesDialogMembersListTitleText:"Abschlussstatus:",FormViewResponsesDialogMembersListCompletedBadgeText:"Abgeschlossen",FormViewResponsesDialogNoResponsesMessageText:"Keine Antworten verfügbar. Sobald die zugewiesenen Personen das Formular ausfüllen, können Sie hier die Antworten und eine vollständige Zusammenfassung einsehen...",FormViewResponsesDialogResponsesSummeryTitleText:"Antwort-Zusammenfassung:",FormViewFormNotValidAlert:{Title:"Formular nicht gesendet",Description:"Das Formular ist unvollständig, Pflichtfelder wurden nicht ausgefüllt.",Button1Title:"OK",},FormreaderViewTitleText:"Formular",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"Entwurf speichern",SubmitTitleText:"Absenden",CloseButtonTitleText:"Schließen"},FormreaderViewSubmitButtonTitleText:"Absenden",FormreaderViewFormCompletedInfoText:"Dieses Formular wurde bereits abgesendet.",FormreaderViewFormClosedInfoText:"Dieses Formular wurde bereits geschlossen.",FormreaderViewFormNotFoundTitleText:"Formular nicht gefunden",FormreaderViewFormNotFoundInfoText:"Das gesuchte Formular existiert nicht, es wurde möglicherweise gelöscht...",FormreaderViewFormNotValidAlert:{Title:"Formular nicht gesendet",Description:"Das Formular ist unvollständig, Pflichtfelder wurden nicht ausgefüllt.",Button1Title:"OK",},FormreaderViewAnonymousFormInfoText:"Dieses Formular ist anonym, Ihre persönlichen Daten werden nicht übermittelt.",SchedulingViewTitleText:"Planung",SchedulingmanagementViewTitleText:"Planung",SchedulingmanagementViewSearchFieldPlaceholderText:"Suchen",SchedulingmanagementViewSearchBarSearchButtonTitleText:"Suchen",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Neu"},CalendarViewTitleText:"Kalender",CalendarViewLayoutPickerDayTitleText:"Tag",CalendarViewLayoutPickerWeekTitleText:"Woche",CalendarViewLayoutPickerMonthTitleText:"Monat",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"Neues Ereignis",CreateCalendarButtonTitleText:"Neuer Kalender"},CalendarViewMyCalendarsTitleText:"Meine Kalender",CalendarViewSharedCalendarsTitleText:"Geteilte Kalender",CalendareditorViewTitleText:"Kalender-Editor",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},CalendareventeditorViewTitleText:"Ereignis-Editor",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},MailboxViewTitleText:"E-Mail",MailboxViewNavigationBarInboxTitleText:"Posteingang",MailboxViewComposeButtonTitle:"Komponieren",MailboxViewTitleBarMenu:{NewButtonTitleText:"Neu",},MailboxViewTableItemMenu:{ReplyButtonTitleText:"Antworten",ForwardButtonTitleText:"Weiterleiten",DeleteButtonTitleText:"Löschen"},MailboxViewEmptyTableItemText:"Keine Einträge gefunden...",MailboxViewNavigationBarInfoTextPart1:"Zeige",MailboxViewNavigationBarInfoTextPart2:"von",MailboxViewNavigationBarInfoTextPart3:"Ergebnissen",MailboxViewFolderListTitleText:"Ordner",MailboxViewSystemMailboxNames:{INBOX:"Posteingang",SENT:"Gesendet",DRAFTS:"Entwürfe",SPAM:"Spam",DELETED:"Papierkorb"},EmailViewTitleText:"E-Mail",EmailViewTitleBarMenu:{NewButtonTitleText:"Neu",ReplyButtonTitleText:"Antworten",ForwardButtonTitleText:"Weiterleiten",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},EmailViewAttachementFooterTitle:"Anhänge",EmailViewAttachmentMenu:{DownloadButtonTitleText:"Herunterladen",SaveToDriveButtonTitleText:"Drive speichern",},EmaileditorViewTitleText:"E-Mail verfassen",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"Senden",SaveButtonTitleText:"Speichern",NewButtonTitleText:"Neu",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},MailboxsettingsViewTitleText:"Postfach-Einstellungen",MailboxsettingsViewSearchFieldPlaceholderText:"Suchen",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"Alias erstellen"},MailboxsettingseitorViewTitleText:"Postfach-Einstellungen Editor",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},ClouddriveViewTitleText:"Cloud-Drive",ClouddriveViewNavigationBarTitleText:"Drive",ClouddriveViewNavigationBarInfoText1:"Zeige",ClouddriveViewNavigationBarInfoText2:"Elemente",ClouddriveViewTotalFilesInfoText:"Meine Dateien",ClouddriveViewTotalSizeInfoText:"Größe",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"Suchen",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"Neuer Ordner",UploadButtonTitleText:"Datei hochladen",RenameFolderButtonTitleText:"Ordner umbenennen",DeleteFolderButtonTitleText:"Ordner löschen",UpdateFolderSettingsButtonTitleText:"Ordnereinstellungen"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"Umbenennen",DownloadButtonTitleText:"Herunterladen",MoveButtonTitleText:"Verschieben",StarButtonTitleText:"Stern markieren",UnstarButtonTitleText:"Stern entfernen",DeleteButtonTitleText:"Löschen",SettingsButtonTitleText:"Einstellungen"},ClouddriveViewDeleteFileAlert:{DeleteTitle:"Element löschen?",DeleteBody:"Sind Sie sicher, dass Sie dieses Element löschen möchten? Wenn es sich um einen Ordner handelt, wird der gesamte Inhalt gelöscht. Dies kann nicht rückgängig gemacht werden!",Button1Title:"Löschen",Button2Title:"Abbrechen"},ClouddriveViewSidebarListItems:{MyFiles:"Meine Dateien",SharedWithMe:"Mit mir geteilt",Starred:"Markierte Dateien"},PreviewViewTitleText:"Vorschau",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"Herunterladen",RenameFileButtonTitleText:"Datei umbenennen",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},PreviewViewDeleteFileAlert:{DeleteTitle:"Element löschen?",DeleteBody:"Sind Sie sicher, dass Sie dieses Element löschen möchten? Wenn es sich um einen Ordner handelt, wird der gesamte Inhalt gelöscht. Dies kann nicht rückgängig gemacht werden!",Button1Title:"Löschen",Button2Title:"Abbrechen"},DirectoryViewTitleText:"Verzeichnis",DirectoryViewContactsListTitle:"Kontaktliste",DirectoryViewSearchFieldPlaceholderText:"Suchen",DirectoryViewStartChatText:"Chatnachricht senden",DirectoryViewPhoneText:"Telefon",DirectoryViewEmailText:"E-Mail",DirectoryViewStartVoiceCallText:"Sprachanruf starten",DirectoryViewStartVideoCallText:"Videoanruf starten",DirectoryViewContactsPlaceholderText:"Bitte wählen Sie einen Kontakt aus",DirectoryViewContactsEmptyListItemTitleText:"Keine Kontakte gefunden...",ProfileViewTitleText:"Profil",ProfileViewInfoText:"Ihre Profilinformationen",ProfileViewProfilePictureTitleText:"Ihr Profilbild",ProfileViewProfilePictureText:"Empfohlene Größe: 500 x 500 px",ProfileViewProfilePictureUploadButtonTitleText:"Hochladen",ProfileViewProfilePictureDeleteButtonTitleText:"Löschen",ProfileViewProfilePictureInfoText:"Laden Sie ein klares Foto hoch, um Ihrem Team die Interaktion zu erleichtern",ProfileViewFormFirstNameTitleText:"Vorname",ProfileViewFormLastNameTitleText:"Nachname",ProfileViewFormPhoneNumberTitleText:"Telefonnummer",ProfileViewFormEmailTitleText:"E-Mail",ProfileViewUpdateButtonTitleText:"Aktualisieren",ProfileViewSaveButtonTitleText:"Speichern",ProfileViewEmailInUseAlertTitle:"E-Mail bereits vergeben",ProfileViewEmailInUseAlertText:"Die eingegebene E-Mail wird bereits von einem anderen Benutzer verwendet, bitte wählen Sie eine andere",ProfileViewEmailInUseAlertButtonText:"OK",ProfileViewPhoneNumberInUseAlertTitle:"Telefonnummer bereits vergeben",ProfileViewPhoneNumberInUseAlertText:"Die eingegebene Nummer wird bereits verwendet, bitte wählen Sie eine andere",ProfileViewPhoneNumberInUseAlertButtonText:"OK",SettingsViewTitleText:"Einstellungen",SettingsViewSearchFieldPlaceholderText:"Suchen",SettingsViewDetailsPlaceholderText:"Bitte wählen Sie eine Kategorie aus...",UsersettingsViewTitleText:"Einstellungen",UserSettingsViewUserSettingsTitleText:"Benutzereinstellungen:",UserSettingsViewLanguageSettingsTitleText:"Sprache:",UserSettingsViewLanguageSettingsText:"Bitte wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche:",SecurityViewTitleText:"Sicherheit",SecurityViewUserSettingsTitleText:"Sicherheitseinstellungen:",SecurityViewSecuritySettingsTitleText:"Passwort aktualisieren:",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"Neues Passwort:",SecurityViewSecuritySettingsPassword2TitleText:"Neues Passwort wiederholen:",SecurityViewSecuritySettingsSubmitButtonTitle:"Aktualisieren",SecurityViewDefaultMessageText:"Bitte geben Sie Ihr neues Passwort ein:",SecurityViewMessageHolderTitleText:"Das Passwort muss Folgendes enthalten:",SecurityViewMessageHolderLowercaseTitleText:"• Einen Kleinbuchstaben",SecurityViewMessageHolderUppercaseTitleText:"• Einen Großbuchstaben",SecurityViewMessageHolderNumberTitleText:"• Eine Zahl",SecurityViewMessageHolderLengthTitleText:"• Mindestens 8 Zeichen",SecurityViewPasswordMissmatchMessageText:"Passwörter stimmen nicht überein",SecurityViewPasswordInvalidMessageText:"Ungültiges Passwort, bitte versuchen Sie es erneut",SecurityViewPasswordUpdateSucessAlert:{Title:"Passwort-Aktualisierung",Description:"Ihr Passwort wurde erfolgreich aktualisiert.",Button1Title:"OK",},SecurityViewPasscodeSettingsTitleText:"Passcode-Aktualisierung:",SecurityViewDefaultPasscodeMessageText:"Bitte geben Sie einen neuen Passcode ein:",SecurityViewSecuritySettingsPasswordTitleText:"Neuer Passcode:",SecurityViewPasscodeInvalidMessageText:"Ungültiger Passcode, bitte versuchen Sie es erneut",SecurityViewPasscodeUpdateSucessAlert:{Title:"Passcode-Aktualisierung",Description:"Ihr Passcode wurde erfolgreich aktualisiert.",Button1Title:"OK",},NotificationsViewTitleText:"Benachrichtigungen",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"Hat Ihnen ein Formular zum Ausfüllen zugewiesen",EmployeeCheckedInOutsideOfLocationsTitleText:"Hat die Schicht außerhalb des Bürostandorts begonnen.",EmployeeCheckedOutOutsideOfLocationsTitleText:"Hat die Schicht außerhalb des Bürostandorts beendet.",EmployeeCheckedInWithNoLocationTitleText:"Hat die Schicht ohne Standortangabe begonnen.",EmployeeCheckedOutWithNoLocationTitleText:"Hat die Schicht ohne Standortangabe beendet.",EmployeeAbsenceRequestTitleText:"Hat Freizeit angefragt.",NewEmailTitleText:"E-Mail",EmployeeAbsenceRequestInfoText:"Klicken Sie hier, um die Anfrage zu prüfen und zu bearbeiten.",EmployeeAbsenceResponseApprovedTitleText:"Hat Ihre Anfrage auf Freizeit genehmigt.",EmployeeAbsenceResponseRejectedTitleText:"Hat Ihre Anfrage auf Freizeit abgelehnt.",EmployeeAbsenceResponseInfoText:"Klicken Sie hier, um Ihre Anfrage einzusehen.",},NotificationsViewClearAllNotificationsButtonTitleText:"Alle löschen",NotificationsViewNotificationItemClearButtonTitleText:"Löschen",NotificationsViewClearAllNotificationsAlert:{Title:"Alle Benachrichtigungen löschen?",Description:"Sind Sie sicher, dass Sie alle Benachrichtigungen löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},NotificationsViewEmptyNotificationItem:"Keine neuen Benachrichtigungen...",UserAccountsTitleText:"Benutzerkonten",UserAccountsViewFirstNameTitleText:"Vorname",UserAccountsViewLastNameTitleText:"Nachname",UserAccountsViewJobTitleTitleText:"Titel",UserAccountsViewEmailTitleText:"E-Mail",UserAccountsViewPhoneNumberTitleText:"Telefonnummer",UserAccountsViewAccountActiveTitleText:"Aktiv",UserAccountsViewAccountBlockedTitleText:"Blockiert",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"Benutzer hinzufügen"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"Bearbeiten",SendInviteButtonTitleText:"Einladung senden",ResetPasswordButtonTitleText:"Passwort zurücksetzen",LogoutButtonTitleText:"Abmelden",BlockButtonTitleText:"Benutzer blockieren",UnblockButtonTitleText:"Benutzer entsperren",DeleteButtonTitleText:"Löschen"},UserAccountsViewSearchBarInfoTextPart1:"Zeige",UserAccountsViewSearchBarInfoTextPart2:"von",UserAccountsViewSearchBarInfoTextPart3:"Benutzern",EdituserViewAddTitleText:"Benutzer hinzufügen",EdituserViewEditTitleText:"Benutzer bearbeiten",EdituserViewTitleBarSaveButtonTitleText:"Speichern",EdituserViewTitleBarCancelButtonTitleText:"Abbrechen",EdituserViewFormFirstNameTitleText:"Vorname",EdituserViewFormLastNameTitleText:"Nachname",EdituserViewFormUserNameTitleText:"Benutzername",EdituserViewFormJobTitleTitleText:"Titel",EdituserViewFormPhoneNumberTitleText:"Telefonnummer",EdituserViewFormEmailTitleText:"E-Mail",EdituserViewFormInmailEmailTitleText:"Interne E-Mail",EdituserViewFormInmailCheckboxTitleText:"Inmail aktivieren",EdituserViewEmailInUseAlertTitle:"E-Mail bereits vergeben",EdituserViewEmailInUseAlertText:"Diese E-Mail wird bereits von einem anderen Benutzer verwendet",EdituserViewEmailInUseAlertButtonText:"OK",EdituserViewPhoneNumberInUseAlertTitle:"Telefonnummer bereits vergeben",EdituserViewPhoneNumberInUseAlertText:"Diese Nummer wird bereits verwendet",EdituserViewPhoneNumberInUseAlertButtonText:"OK",EdituserViewTimetrackingListTitleText:"Zeiterfassungseinstellungen",EdituserViewLocationsListTitleText:"Standorteinstellungen",EdituserViewPositionsListTitleText:"Mitarbeiterrollen",EdituserViewFeatureAccessListTitleText:"Funktionszugriff konfigurieren",EdituserViewSettingsAccessListTitleText:"Einstellungszugriff konfigurieren",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"Erfordert Genehmigung",EdituserViewTimetrackingListReviewAccesslItemTitleText:"Prüfungszugriff",EdituserViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},EdituserViewDeleteUserAlert:{Title:"Benutzer löschen?",Description:"Sind Sie sicher? Diese Aktion kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},EdituserViewErrorAlert:{Title:"Benutzerkonto unvollständig",DescriptionNoPositionSelected:"Bitte wählen Sie mindestens eine Rolle aus der Liste Mitarbeiterrollen.",Button1Title:"OK",},GroupmanagementViewTitleText:"Gruppenverwaltung",GroupmanagementViewSearchFieldPlaceholderText:"Suchen",GroupmanagementViewSearchBarSearchButtonTitleText:"Suchen",GroupmanagementViewDepartmentsTitleText:"Abteilungen",GroupmanagementViewTeamsTitleText:"Teams",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"Neue Abteilung",CreateTeamTemplateButtonTitleText:"Neues Team"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"Bearbeiten",DeleteButtonTitleText:"Löschen"},GroupmanagementViewSearchBarInfoTextPart1:"Zeige",GroupmanagementViewSearchBarInfoTextPart2:"von",GroupmanagementViewSearchBarInfoTextPart3:"Ergebnissen",GroupmanagementViewDeleteTeamAlert:{Title:"Team löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},GroupmanagementViewDeleteDepartmentAlert:{Title:"Abteilung löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},GroupeditorViewDepartmentIDText:"Abteilungs-ID",GroupeditorViewTeamIDText:"Team-ID",GroupeditorViewAddDepartmentTitleText:"Abteilung hinzufügen",GroupeditorViewEditDepartmentTitleText:"Abteilung bearbeiten",GroupeditorViewAddTeamTitleText:"Team hinzufügen",GroupeditorViewEditTeamTitleText:"Team bearbeiten",GroupeditorViewDepartmentTitleText:"Abteilungstitel",GroupeditorViewDepartmentDescriptionText:"Abteilungsbeschreibung",GroupeditorViewTeamTitleText:"Teamtitel",GroupeditorViewTeamDescriptionText:"Teambeschreibung",GroupeditorViewMembersTableTitle:"Mitglieder",GroupeditorViewManagersTableTitle:"Vorgesetzte",GroupeditorViewAdminsTableTitle:"Admins",GroupeditorViewMembersTableSearchFieldPlaceholderText:"Suchen",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},GroupeditorViewDeleteTeamAlert:{Title:"Team löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},GroupeditorViewDeleteDepartmentAlert:{Title:"Abteilung löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},PositionsmanagementViewTitleText:"Rollenverwaltung",PositionsmanagementViewSearchFieldPlaceholderText:"Suchen",PositionsmanagementViewSearchBarSearchButtonTitleText:"Suchen",PositionsmanagementViewSearchBarInfoTextPart1:"Zeige",PositionsmanagementViewSearchBarInfoTextPart2:"von",PositionsmanagementViewSearchBarInfoTextPart3:"Ergebnissen",PositionsmanagementViewPositionsTitleText:"Rollen",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"Neue Rolle",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"Bearbeiten",DeleteButtonTitleText:"Löschen"},PositionsmanagementViewEmptyTableItemText:"Keine Einträge gefunden...",PositionsmanagementViewDeletePositionAlert:{Title:"Rolle löschen?",Description:"Dies betrifft alle Benutzer mit dieser Rolle. Fortfahren?",Button1Title:"Löschen",Button2Title:"Abbrechen",},PositioneditorViewTitleText:"Rollen-Editor",PositioneditorViewPositionText:"Rollen-ID",PositioneditorViewPositionTitleText:"Titel",PositioneditorViewPositionDescriptionText:"Beschreibung",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},PositioneditorViewDeletePositionAlert:{Title:"Rolle löschen?",Description:"Dies betrifft alle Benutzer mit dieser Rolle. Fortfahren?",Button1Title:"Löschen",Button2Title:"Abbrechen",},LocationsmanagementViewTitleText:"Standortverwaltung",LocationsmanagementViewSearchFieldPlaceholderText:"Suchen",LocationsmanagementViewSearchBarSearchButtonTitleText:"Suchen",LocationsmanagementViewSearchBarInfoTextPart1:"Zeige",LocationsmanagementViewSearchBarInfoTextPart2:"von",LocationsmanagementViewSearchBarInfoTextPart3:"Ergebnissen",LocationsmanagementViewLocationsTitleText:"Standorte",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"Neuer Standort",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"Bearbeiten",DeleteButtonTitleText:"Löschen"},LocationsmanagementViewEmptyTableItemText:"Keine Einträge gefunden...",LocationsmanagementViewDeleteLocationAlert:{Title:"Standort löschen?",Description:"Sind Sie sicher, dass Sie den Standort löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},LocationeditorViewTitleText:"Standort-Editor",LocationeditorViewLocationText:"Standort-ID",LocationeditorViewLocationTitleText:"Titel",LocationeditorViewLocationAddressText:"Adresse",LocationeditorViewLocationLatitudeText:"Breitengrad",LocationeditorViewLocationLongitudeText:"Längengrad",LocationeditorViewLocationDistanceText:"Zulässige Entfernung (in Metern)",LocationeditorViewSetCurrentLocationButtonTitleText:"Aktuellen Standort festlegen",LocationeditorViewShowOnMapButtonTitleText:"Auf Karte zeigen",LocationeditorViewReloadMapButtonTitleText:"Karte neu laden",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},LocationeditorViewDeleteLocationAlert:{Title:"Standort löschen?",Description:"Sind Sie sicher, dass Sie den Standort löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},TasksmanagementViewTitleText:"Aufgabenverwaltung",TasksmanagementViewSearchFieldPlaceholderText:"Suchen",TasksmanagementViewSearchBarSearchButtonTitleText:"Suchen",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Vorlage erstellen"},TaskeditorViewTitleText:"Aufgaben-Editor",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},FormsmanagementViewTitleText:"Formularverwaltung",FormsmanagementViewSearchFieldPlaceholderText:"Suchen",FormsmanagementViewSearchBarInfoTextPart1:"Zeige",FormsmanagementViewSearchBarInfoTextPart2:"von",FormsmanagementViewSearchBarInfoTextPart3:"Formularen",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"Neue Vorlage"},FormsmanagementViewFormsTableNameTitle:"Vorlagenname",FormsmanagementViewFormsTableCreatorTitle:"Ersteller",FormsmanagementViewFormsTableCreationTimeTitle:"Erstellungszeit",FormsmanagementViewFormsTableLastModifiedTitle:"Zuletzt geändert",FormsmanagementViewFormsTableEmptyPlaceholderText:"Keine Formularvorlagen gefunden, bitte Suche anpassen oder neue Vorlage erstellen...",FormsmanagementViewDeleteFormTemplateAlert:{Title:"Formularvorlage löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormeditorViewTitleText:"Vorlagen-Editor",FormeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},FormeditorViewFormsTableNameTitle:"Formularname",FormeditorViewFormsTableCreatorTitle:"Ersteller",FormeditorViewFormsTableCreationTimeTitle:"Erstellungszeit",FormeditorViewFormsTableLastModifiedTitle:"Zuletzt geändert",FormeditorViewFormsDuplicateTitleText:"(Kopie)",FormeditorViewShareSettingsShareButtonTitleText:"Einstellungen",FormeditorViewDeleteFormTemplateAlert:{Title:"Formularvorlage löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormditorViewTemplateTypeTitleText:"Formulartyp:",FormTypes:{1:"Standardformular",2:"Umfrage",3:"Anfrage an Vorgesetzten"},FormtemplatesViewTitleText:"Formularvorlagen",FormtemplatesViewSearchFieldPlaceholderText:"Suchen",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"Neue Vorlage",CloseButtonTitleText:"Schließen"},FormtemplatesViewSearchBarInfoTextPart1:"Zeige",FormtemplatesViewSearchBarInfoTextPart2:"von",FormtemplatesViewSearchBarInfoTextPart3:"Formularen",FormtemplatesViewFormsTableNameTitle:"Formularname",FormtemplatesViewFormsTableTemplateNameTitle:"Vorlagenname",FormtemplatesViewFormsTableCreatorTitle:"Ersteller",FormtemplatesViewFormsTableCreationTimeTitle:"Erstellungszeit",FormtemplatesViewFormsTableLastModifiedTitle:"Zuletzt geändert",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Formular erstellen",EditButtonTitleText:"Vorlage bearbeiten",DuplicateButtonTitleText:"Vorlage duplizieren",DeleteButtonTitleText:"Vorlage löschen"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"Formularvorlage löschen?",Description:"Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormtemplatesViewFormsTableEmptyPlaceholderText:"Keine Formularvorlagen gefunden, bitte Suche anpassen oder neue Vorlage erstellen...",FormeditorViewFormNamePlaceholderText:"Formularname",FormeditorViewFormTitlePlaceholderText:"Formulartitel",FormeditorViewFormDescriptionPlaceholderText:"Formularbeschreibung",FormTextInputPlaceholderText:"Texteingabe...",FormTextAreaPlaceholderText:"Textbereich...",FormRatingInputPlaceholderText:"Bewertungsfrage...",FormRatingInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte beantworten Sie die Frage.",FormTextQuestionQuestionPlaceholderText:"Frage...",FormTextQuestionAnswerPlaceholderText:"Antwort...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormTextQuestionValidationErrorText:"* Dies ist ein Pflichtfeld, bitte beantworten Sie die Frage.",FormDatePickerInputPlaceholderText:"Datumstitel...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Datumsbereich",FormDatePickerInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte ein Datum eingeben.",FormDatePickerInputValidationInvalidRangeErrorText:"* Ungültiger Bereich, Startdatum liegt nach dem Enddatum.",FormTimePickerInputPlaceholderText:"Zeittitel...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Zeitbereich",FormTimePickerInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte eine Zeit eingeben.",FormTimePickerInputValidationInvalidRangeErrorText:"* Ungültiger Bereich, Startzeit liegt nach der Endzeit.",FormSingleSelectionInputPlaceholderText:"Einzelauswahl-Frage...",FormSingleSelectionInputOptionPlaceholderText:"Option",FormSingleSelectionInputAddOptionButtonTitleText:"Option hinzufügen",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormSingleSelectionInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte eine Option wählen.",FormMultiSelectionInputPlaceholderText:"Mehrfachauswahl-Frage...",FormMultiSelectionInputOptionPlaceholderText:"Option",FormMultiSelectionInputAddOptionButtonTitleText:"Option hinzufügen",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormMultiSelectionInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte mindestens eine Option wählen.",FormFileUploadInputPlaceholderText:"Datei-Upload-Anfrage...",FormFileUploadInputResetButtonTitleText:"Zurücksetzen",FormFileUploadInputUploadButtonTitleText:"Datei hochladen",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormFileUploadInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte eine Datei wählen.",FormPhotoUploadInputPlaceholderText:"Foto-Upload-Anfrage...",FormPhotoUploadInputResetButtonTitleText:"Zurücksetzen",FormPhotoUploadInputUploadButtonTitleText:"Foto hochladen",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormPhotoUploadInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte ein Foto wählen.",FormSignatureInputPlaceholderText:"Signaturanfrage...",FormSignatureInputSignatureText:"Unterschrift",FormSignatureInputResetButtonTitleText:"Zurücksetzen",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"Pflichtfeld",FormSignatureInputValidationErrorText:"* Dies ist ein Pflichtfeld, bitte unterschreiben Sie das Formular.",KiosksmanagementViewTitleText:"Kiosk-Verwaltung",KiosksmanagementViewSearchFieldPlaceholderText:"Suchen",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"Neuer Kiosk"},KiosksmanagementViewKiosksTableTitleText:"Kioske",KiosksmanagementViewSearchBarInfoTextPart1:"Zeige",KiosksmanagementViewSearchBarInfoTextPart2:"von",KiosksmanagementViewSearchBarInfoTextPart3:"Ergebnissen",KioskmanagementViewTableItemStatusOnline:"Online",KioskmanagementViewTableItemStatusOffline:"Offline",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"Bearbeiten",DeleteButtonTitleText:"Löschen"},KioskmanagementViewDeleteKioskAlert:{Title:"Kiosk löschen?",Description:"Sind Sie sicher, dass Sie den Kiosk löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},KioskManagementViewEmptyTableItemText:"Keine Einträge gefunden...",KioskeditorViewTitleText:"Kiosk-Editor",KioskeditorViewKioskText:"Kiosk",KioskeditorViewKioskTitleText:"Titel",KioskeditorViewKioskDescriptionText:"Beschreibung",KioskeditorViewKioskLocationTitleText:"Kiosk-Standort",KioskeditorViewKioskTypeTitleText:"Kiosk-Typ",KioskeditorViewKioskAccessSettingsTitleText:"Zugriff auf Kiosk-Analysen",KioskeditorViewKioskAccessSettingsButtonText:"Zugriff festlegen",KioskeditorViewKioskUsernameText:"Benutzername",KioskeditorViewKioskPasswordText:"Passwort",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"Neu",SaveButtonTitleText:"Speichern",DuplicateButtonTitleText:"Duplizieren",DeleteButtonTitleText:"Löschen",CloseButtonTitleText:"Schließen"},KioskeditorViewKioskTypes:{TimeTracking:"Zeiterfassung",CustomerSurvey:"Kundenumfrage"},KioskeditorViewDeleteKioskAlert:{Title:"Kiosk löschen?",Description:"Sind Sie sicher, dass Sie den Kiosk löschen möchten?",Button1Title:"Löschen",Button2Title:"Abbrechen",},FormItemsMenu:{FormTextInput:"Texteingabe",FormTextArea:"Textbereich",FormTextQuestion:"Textfrage",FormSingleSelectionInput:"Einzelauswahl",FormMultiSelectionInput:"Mehrfachauswahl",FormTimePickerInput:"Zeiteingabe",FormDatePickerInput:"Datumseingabe",FormRatingInput:"Sterne-Bewertung",FormSignatureInput:"Unterschrift",FormPhotoUploadInput:"Foto-Upload",FormFileUploadInput:"Datei-Upload"},TimePickerMenuEnterTimeText:"Zeit eingeben:",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"OK",TimePickerMenuCancelButtonTitleText:"Abbrechen",ImageGalleryTitleText:"Bildergalerie",FileExplorerTitleText:"Medienbrowser",FileExplorerMenuItemImagesTitleText:"Bilder",FileExplorerMenuItemFilesTitleText:"Dateien",FileExplorerFileListEmptyListItemTitleText:"Keine Dateien in diesem Chat gefunden",FileExplorerImageGridEmptyListItemTitleText:"Keine Bilder in diesem Chat gefunden",ChatGroupNameEditorTitleText:"Gruppenname eingeben",ChatGroupNameEditorButton1TitleText:"Speichern",ChatGroupNameEditorButton2TitleText:"Abbrechen",FilenameEditorTitleText:"Einen Namen eingeben",FilenameEditorButton1TitleText:"Speichern",FilenameEditorButton2TitleText:"Abbrechen",FilePickerChooseFolderTitleText:"Ordner wählen",FilePickerChooseFileTitleText:"Datei wählen",FilePickerButton1TitleText:"Speichern",FilePickerButton2TitleText:"Abbrechen",ChatGroupPickerDialogTableTitle:"Gruppen",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"Suchen",ChatGroupPickerDialogTitleText:"Chatgruppen auswählen",ChatGroupPickerDialogEmptyListItemTitleText:"Keine Gruppen gefunden",ChatGroupPickerDialogSelectButtonTitleText:"Auswählen",ChatGroupPickerDialogCancelButtonTitleText:"Abbrechen",UserPickerDialogTitleText:"Mitglieder hinzufügen",UserPickerDialogEmptyListItemTitleText:"Keine Benutzer gefunden",UserPickerDialogAddButtonTitleText:"Hinzufügen",UserPickerDialogCancelButtonTitleText:"Abbrechen",SharePickerDialogTitleText:"Teilen",SharePickerDialogTableSearchFieldPlaceholderText:"Suchen",SharePickerDialogUsersTableTitleText:"Benutzer",SharePickerDialogDepartmentsTableTitleText:"Abteilungen",SharePickerDialogTeamsTableTitleText:"Teams",SharePickerDialogAddButtonTitleText:"Hinzufügen",SharePickerDialogCancelButtonTitleText:"Abbrechen",SharePickerDialogEmptyListItemTitleText:"Keine Einträge gefunden",ShareSettingsDialogTitleBarText:"Teilen",ShareSettingsDialogTitleText:"Freigabeeinstellungen",ShareSettingsDialogCloseButtonTitle:"Schließen",ShareSettingsDialogOwnerTableTitle:"Eigentümer",ShareSettingsDialogUsersTableTitle:"Benutzer",ShareSettingsDialogDepartmentsTableTitle:"Abteilungen",ShareSettingsDialogTeamsTableTitle:"Teams",ShareSettingsDialogAddButtonTitle:"Hinzufügen",ShareSettingsDialogUsersTableEmptyTitleText:"Keine Benutzer ausgewählt",ShareSettingsDialogDepartmentsTableEmptyTitleText:"Keine Abteilungen ausgewählt",ShareSettingsDialogTeamsTableEmptyTitleText:"Keine Teams ausgewählt",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"Vorlage",ReviewAccess:"Prüfer",Assignees:"Zugewiesene"},AccessDialogAccessSettingsTemplateInfoText:"Vorlagenzugriff:
Wählen Sie Benutzer, Abteilungen und Teams aus, die Zugriff auf diese Formularvorlage haben sollen.",AccessDialogAccessSettingsReviewTemplateInfoText:"Prüferzugriff:
Wählen Sie aus, wer Ergebnisse prüfen darf. Dies kann auch später beim Erstellen eines Formulars manuell erfolgen.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"Formular-Empfänger:
Wählen Sie aus, wem Formulare aus dieser Vorlage automatisch zugewiesen werden sollen.",AccessDialogAccessSettingsReviewInfoText:"Prüferzugriff:
Wählen Sie aus, wer die Ergebnisse dieses Formulars prüfen darf.",AccessDialogAccessSettingsAssigneesInfoText:"Formular-Empfänger:
Wählen Sie aus, wem dieses Formular zugewiesen werden soll.",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"Formular-Empfänger:
Der gewählte Typ \"Anfrage an Vorgesetzten\" weist automatisch den Vorgesetzten als Empfänger zu.",AccessDialogAccessSettingsTitleText:"Zugriffseinstellungen:",AccessDialogAccessSettingsCloseButtonTitle:"Schließen",AccessDialogAccessSettingsAddButtonTitleText:"Hinzufügen",AccessDialogAccessSettingsPeopleTableTitleText:"Benutzer mit Zugriff:",AccessDialogAccessSettingsDepartmentsTableTitleText:"Abteilungen mit Zugriff:",AccessDialogAccessSettingsTeamsTableTitleText:"Teams mit Zugriff:",AccessDialogAccessSettingsManagerAssignedTableTitleText:"Zugewiesene Vorgesetzte:",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"Zugewiesene Benutzer:",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"Zugewiesene Abteilungen:",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"Zugewiesene Teams:",AccessDialogAccessSettingsCreatorTagText:"Ersteller",AccessDialogAccessSettingsUsersTableEmptyTitleText:"Keine Benutzer ausgewählt",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"Keine Abteilungen ausgewählt",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"Keine Teams ausgewählt",AccessDialogAccessSettingsSingleResponderRequiredText:"Einzelsender erforderlich.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"Nur Lesezugriff: Einzelsender erforderlich.",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"Anonyme Antworten:",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"Wenn ausgewählt, sind alle Antworten auf dieses Formular anonym.",AccessDialogAccessSettingsAnonymousResponsesText:"Anonyme Antworten festlegen.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"Nur Lesezugriff: Dieser Wert kann nur in der Vorlage geändert werden.",AccessDialogAccessSettingsAnonymousUserNameText:"Anonymer Benutzer",AccessDialogResponsesEmptyResponseText:"Keine Benutzereingabe",AccessDialogResponsesNoFileAttachedResponseText:"Keine Datei angehängt",AccessDialogMaxAssigneesAlert:{TitleText:"Max. Empfänger erreicht",DesciptionText:"Dieser Formulartyp erlaubt nur einen Empfänger. Bitte entfernen Sie den aktuellen, falls Sie ihn ändern möchten.",Button1Title:"OK"},WidgetsGenericLoadinMessageText:"Lade...",PhoneWidgetTitleText:"Anrufe",PhoneWidgetSearchFieldPlaceholderText:"Suchen",PhoneWidgetCallLogButtonTitleText:"Anrufliste",PhoneWidgetContactsButtonTitleText:"Kontakte",PhoneWidgetNoIntemsFound:"Keine Einträge gefunden...",ShiftButtonWidgetTitleText:"Schichtuhr",ShiftButtonWidgetStartTimeText:"Schicht gestartet am",ShiftButtonWidgetStartTimeAtText:"um",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"Aktuelle Schicht",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"Aktuelle Pause",ShiftButtonWidgetStartBreakButtonText:"Pause starten",ShiftButtonWidgetEndBreakButtonText:"Pause beenden",EmailWidgetTitleText:"E-Mails",EmailWidgetSearchFieldPlaceholderText:"Suchen",EmailWidgetNoIntemsFound:"Keine Elemente gefunden...",OpenFormsWidgetTitleText:"Offene Formulare",BookmarkedFormsWidgetTitleText:"Formularvorlagen",NewsWidgetTitleText:"Aktuelle Nachrichten",CalculatorWidgetTitleText:"Taschenrechner",WeatherWidgetTitleText:"Wetter",WeatherWidgetWaitingForLocationText:"Warte auf Standort...",WeatherWidgetWindSpeedUnits:"km/h",KioskCustomerSurveyWidgetTitleText:"Customer survey",KioskCustomerSurveyWidgetTotalText:"Einsendungen gesamt",KioskCustomerSurveyWidgetThisMonthText:"Diesen Monat",KioskCustomerSurveyWidgetAllTimeAverageText:"Gesamtdurchschnitt",KioskCustomerSurveyWidgetThisMonthAverageText:"Durchschnitt diesen Monat",AdminViewTitleText:"Admin-Konsole",SQLStatsViewTitleText:"SQL-Server-Statistiken",WebStatsViewTitleText:"Webserver-Statistiken",CookiemanagementViewTitleText:"Cookie-Verwaltung",LanguagemanagementViewTitleText:"Sprachverwaltung",ShiftToggleSwitchStartText:"Schicht starten",ShiftToggleSwitchStopText:"Schicht beenden",ShiftToggleSwitchAlertStartShiftTitle:"Neue Schicht starten",ShiftToggleSwitchAlertStartShiftAlertText:"Bereit für den Schichtbeginn?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"Bitte wählen Sie eine Position:",ShiftToggleSwitchAlertStartShiftButton1Title:"Ja",ShiftToggleSwitchAlertStartShiftButton2Title:"Nein",ShiftToggleSwitchAlertStopShiftTitle:"Schicht beenden?",ShiftToggleSwitchAlertStopShiftAlertText:"Sind Sie sicher, dass Sie Ihre Schicht beenden möchten?",ShiftToggleSwitchAlertStopShiftAlertButton1:"Ja",ShiftToggleSwitchAlertStopShiftAlertButton2:"Nein"} if(typeof Strings=='undefined'){Strings={};} var EN={Language:"English",LocalLanguage:"English",initials:"EN",Direction:"ltr",FlagIcon:'/assets/images/flags/flag_en.png',LanguageMenuTitle:"Language Menu",EmojiTitleStrings:{Recent:"Recent Items",People:"Smileys & People",Nature:"Animals & Nature",Food:"Food & Drink",Activities:"Activity",Travel:"Travel & Places",Objects:"Objects",Symbols:"Symbols",Flags:"Flags"},MonthsOfYear:["January","Febuary","March","April","May","June","July","August","September","October","November","December"],DaysOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],DaysOfWeekShortHand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],DateAndTimeYesterday:"Yesterday",DateAndTimeToday:"Today",DateAndTimeTomorrow:"Tomorrow",DateAndTimeByText:"by",DateAndTimeAtText:"at",DateAndTimeLastText:"Last",HourSymbol:"h",MinuteSymbol:"m",ApplicationEnableNotificationsAlert:{Title:"Enable notifications",Description:"Please allow dailyreport to send you notifications.",Button1Title:"OK",},TitleBarLoginButtonText:"Login",NavigationMenuTitle:"Main menu",MenuItemTitles:{Dashboard:"Dashboard",Insights:"Insights",News:"News",Events:"Events",Timetracking:"Time tracking",Tasks:"Tasks",Forms:"Forms",Scheduling:"Scheduling",Calendar:"Calendar",Directory:"Directory",Chat:"Chat",Mailbox:"Mail",Clouddrive:"Cloud drive",Profile:"Profile",Settings:"Settings",Admin:"Admin",Logout:"Logout"},MenuWelcomeText:"Hello",SettingsMenuItemTitles:{UserPreferences:"User preferences",Profile:"Profile",UserSettings:"Settings",Security:"Security",UserManagement:"User management",UserAccounts:"Users",GroupManagement:"Groups",PositionsManagement:"Roles",LocationsManagement:"Locations",TimetrackingAndSchedulingManagement:"Time management",TimetrackingManagement:"Time tracking",SchedulingManagement:"Scheduling",ContentManagement:"Content management",NewsManagement:"News",EventsManagement:"Events",TaskManagement:"Task management",TasksManagement:"Tasks",FormsManagement:"Forms",EmailManagament:"Email",MailboxSettings:"Mailbox settings",KioskManagement:"Kiosk management",Kiosks:"Kiosks",Admin:"Admin",WebServer:"Web Server",SQLServer:"SQL Server",CookieManagement:"Cookie management",LanguageManagement:"Language management",Info:"Application info",About:"About",License:"License, ToS & GDPR"},HomeViewHeaderText:"Coming soon",HomeViewSecondaryHeaderText:"Something awsome is cooking here...
Please check back with us in a couple of weeks.",HomeViewLoginButtonText:"Login to begin",AboutViewTitleText:"About",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"Application info",AboutViewApplicationVersionTitleText:"Version",AboutViewApplicationBuildTitleText:"Build",AboutViewApplicationCommitTitleText:"Commit",AboutViewApplicationBuildDateTitleText:"Build date",AboutViewApplicationQRCodeTitleText:"QRCode",AboutViewApplicationQRCodeInfoText:"Scan to initiate mobile iOS or Android app",AboutViewApplicationDownloadNativeAndroid:"Download Android app",AboutViewApplicationDownloadNativeiOS:"Download iOS app",EulaViewTitleText:"License agreement",EulaViewInfoTitleText:"Software license agreement",EulaViewTocTitleText:"Table of Contents",LoginViewLoginTitleText:"Login",LoginViewDefaultMessageText:"Let's log you in so we can get started...",LoginViewUsernamePlaceHolderText:"Email or phone number",LoginViewPasswordPlaceHolderText:"Password",LoginViewLoginButtonText:"Login",LoginViewResetPasswordButtonText:"Forgot your password? Click here",LoginViewLoginError1MessageText:"Invalid email or phone, please try again",LoginViewLoginError2MessageText:"Invalid password, password needs to be at least 6 characters long",LoginViewLoginError3MessageText:"Invalid credentials, please try again",ResetpasswordViewTitleText:"Reset Password",ResetpasswordViewDefaultResetMessageText:"Enter your credentials to reset your password",ResetpasswordViewUsernamePlaceHolderText:"Email or phone number",ResetpasswordViewResetButtonText:"Send reset link",ResetpasswordViewLoginButtonText:"Already have an account? Click here",ResetpasswordViewInvalidUsernameErrorMessageText:"Invalid email or phone number, please try again",UpdatepasswordViewTitleText:"Update Password",UpdatepasswordViewDefaultUpdateMessageText:"Enter your new password",UpdatepasswordViewPasswordPlaceHolderText:"New password",UpdatepasswordViewUpdateButtonText:"Update password",UpdatepasswordViewLoginButtonText:"Already have an account? Click here",UpdatepasswordViewInvalidUsernameErrorMessageText:"Invalid password, please try again",RegisterViewTitleText:"Register",RegisterViewDefaultMessageText:"Let's get you registered...",RegisterViewPasswordPlaceHolderText:"Please enter a new password",RegisterViewPassword2PlaceHolderText:"Please re-enter your password",RegisterViewMessageHolderTitleText:"Password must contain the following:",RegisterViewMessageHolderLowercaseTitleText:"• A lowercase letter",RegisterViewMessageHolderUppercaseTitleText:"• A uppercase letter",RegisterViewMessageHolderNumberTitleText:"• A number",RegisterViewMessageHolderLengthTitleText:"• Minimum 8 characters",RegisterViewPasswordMissmatchMessageText:"Passwords do not match",RegisterViewPasswordInvalidMessageText:"Invalid password, please try again",RegisterViewRegisterButtonText:"Register",DashboardViewTitleText:"Dashboard",DashboardViewTitleMenuResetButtonText:"Reset layout",DashboardViewTitleMenuSetBackgroundButtonText:"Set background image",InsightsViewTitleText:"Insights",InsightsViewTitleMenuResetButtonText:"Reset layout",InsightsViewTitleMenuSetBackgroundButtonText:"Set background image",NewsViewTitleText:"News",NewsViewNewsArticlePublishedTitleText:"Published on ",NewsViewNoItemsFoundTableItemText:"No news articles found...",NewseditorViewTitleText:"News Editor",NewseditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},NewseditorViewDeleteArticleAlert:{Title:"Delete Article?",Description:"Are you sure you would like to delete this article?",Button1Title:"Delete",Button2Title:"Cancel",},NewsmanagementViewTitleText:"News management",NewsmanagementViewSearchFieldPlaceholderText:"Search",NewsmanagementViewSearchBarSearchButtonTitleText:"Search",NewsmanagementViewNewsArticlePublishedTitleText:"Published on ",NewsmanagementViewNewsArticleUnPublishedTitleText:"Not published",NewsmanagementViewNoItemsFoundTableItemText:"No news articles found...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"New article"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"Edit",DuplicateButtonTitleText:"Duplicate",PublishButtonTitleText:"Publish",UnPublishButtonTitleText:"Unpublish",DeleteButtonTitleText:"Delete"},NewsmanagementViewSearchBarInfoTextPart1:"Showing",NewsmanagementViewSearchBarInfoTextPart2:"out of",NewsmanagementViewSearchBarInfoTextPart3:"articles",NewsmanagementViewDeleteArticleAlert:{Title:"Delete Article?",Description:"Are you sure you would like to delete this article?",Button1Title:"Delete",Button2Title:"Cancel",},EventsViewTitleText:"Events",EventsmanagementViewTitleText:"Events management",EventsmanagementViewSearchFieldPlaceholderText:"Search",EventsmanagementViewSearchBarSearchButtonTitleText:"Search",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"New event"},EventeditorViewTitleText:"Event editor",EventeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},ChatViewContactsTitleBarText:"Chat",ChatViewContactsSearchBarText:"Search",ChatViewMessagesPlaceholderText:"Please choose a chat to begin or click the [+] sign to start a new chat",ChatViewMessagesTitleBarInfoPrefixText:"Last update",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"Last seen",ChatViewMessagesTitleBarInfoOnlineText:"Online",ChatViewDeleteMessageAlertTitle:"Delete recording?",ChatViewDeleteMessageAlertText:"Are you sure you would like to delete your recording?",ChatViewDeleteMessageAlertButton1:"Yes",ChatViewDeleteMessageAlertButton2:"No",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"Voice call",StartVideoCallButtonTitleText:"Video call",ShowChatDetailsButtonTitleText:"Chat details"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"Send photo",FileMenuItemTitle:"Send file"},ChatViewSystemMessages:{GroupCreated:"Chat created at",GroupPictureUpdated:"Group picture updated at",GroupNameUpdated:"Group name updated at",MemberLeft:"has left the group",MemberJoined:"has joined the group",},ChatViewChatEmptyChatGroupItemText:"No chat members or groups found...",ChatViewChatGroupItemGroupCreatedByText:"Chat started by",ChatViewChatGroupItemGroupPhotoUpdatedByText:"Chat photo updated by",ChatViewChatGroupItemGroupNameUpdatedByText:"Chat name updated by",ChatViewChatGroupItemMemberLeftText:"left the group",ChatViewChatGroupItemMemberJoinedText:"joind the group",ChatViewChatGroupItemGroupSentAFileText:"sent a file",ChatViewChatGroupItemGroupSentAnImageText:"sent an image",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"sent a recording",ChatViewChatGroupItemGroupMessageDeletedText:"deleted a message",ChatViewChatGroupItemGroupMessageReactionText:"reacted ___ to a message",ChatViewChatMessageItemForwardedText:"forwarded",ChatMessageItemDeletedMessage:"Message deleted",ChatMessageItemMissedVoiceCallText:"Missed voice call",ChatMessageItemMissedVideoCallText:"Missed video call",ChatMessageItemUnansweredVideoCallText:"Unanswered video call",ChatMessageItemUnansweredVoiceCallText:"Unanswered voice call",ChatMessageItemVoiceCallText:"Voice call",ChatMessageItemVideoCallText:"Video call",ChatMessageItemReactionTableTitleText:"Reactions:",ChatMessageItemTapToRemoveReactionText:"Tap to remove",NewchatViewTitleText:"New chat",NewchatViewCreateNewGroupButtonText:"Create new group",NewchatViewCreateExternalCallInviteButtonText:"Create exteral call link",NewchatViewCreateNewGroupOrText:"or select a contact",NewchatViewContactsTableTitle:"Contacts",NewchatViewMembersTableTitle:"Members",NewchatViewCreateNewGroupTitleText:"Create a new group",NewchatViewMembersTableSearchFieldPlaceholderText:"Search",NewchatViewCreateNewGroupTitleInputPlaceholderText:"Group title",NewchatViewCreateGroupButtonText:"Create group",NewchatViewTitleBarMenu:{SaveButtonTitleText:"Save",CloseButtonTitleText:"Close"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"Invalid title",NewchatViewCreateNewChatInvalidTitleAlertText:"Please enter title for the new group",NewchatViewCreateNewChatInvalidTitleAlertButton:"Ok",NewchatViewCreateNewChatNoMembersAlertTitle:"No members selected",NewchatViewCreateNewChatNoMembersAlertText:"Please select at least one member for the new group",NewchatViewCreateNewChatNoMembersAlertButton:"Ok",ChatdetailsViewTitleText:"Chat details",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"Change picture",ChangeGroupNameButtonTitleText:"Update name",AddMemberButtonTitleText:"Add members",DeleteGroupButtonTitleText:"Delete group",ExitGroupButtonTitleText:"Leave group",CloseButtonTitleText:"Close"},ChatdetailsViewExitGroupAlert:{Title:"Leave Group?",Description:"Are you sure you would like to leave this group, you will not have access to any messages or data from this group once you leave.",Button1Title:"Leave",Button2Title:"Cancel",},ChatdetailsViewDeleteGroupAlert:{Title:"Delete Group?",Description:"THIS ACTION AFFECTS ALL GROUP MEMBERS
Are you sure you would like to delete this group, this action can not be undone and you will loose all group messages, shared images and files.",Button1Title:"Delete",Button2Title:"Cancel",},ChatDetailsViewMembersTableTitle:"Members",ChatDetailsViewMembersTitle:"Members in group",ChatDetailsViewCreatedOnText:"Created on",ChatDetailsViewCreatedByText:"Created by",ChatDetailsGroupMediaTitleText:"Group media",ChatDetailsGroupMediaImagesButtonTitleText:"Images",ChatDetailsGroupMediaFilesButtonTitleText:"Files",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"Search",ChatDetailsViewMembersTableItemAdminTitle:"admin",ChatDetailsViewAdminMembersTableTitle:"Admins",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"Set as admin",UnsetAdminButtonTitleText:"Remove as admin",RemoveFromGroupButtonTitleText:"Remove from group",},CallViewTitleText:"Call",CallViewTitleBarMenu:{HangupButtonTitleText:"Hang up"},CallViewIncomingVoiceCallText:"Incoming voice call",CallViewIncomingVideoCallText:"Incoming video call",CallViewRemovePeerOnAnotherCallText:"is on another call",CallViewCallRejectedText:"Call was rejected",CallViewCallNotAnsweredText:"Call not answered",CallViewMissedCallText:"Missed call",CallViewCallEndedText:"Call ended",CallViewOutgoingCallText:"Calling",CallViewCallDurationText:"Duration",CallViewLowReceptionWarningText:"Low wifi or cellular reception, trying to reconnect...",CreateexternalcallinviteViewTitleText:"Create call invite",CreateexternalcallinviteViewEmailInputTitle:"Guest email",CreateexternalcallinviteViewEmailPlaceholder:"Enter email address...",CreateexternalcallinviteViewMeetingTimeTitle:"Meeting time",CreateexternalcallinviteViewCreateButtonText:"Generate invite link",CreateexternalcallinviteViewGeneratedLinkTitle:"Invite link",CreateexternalcallinviteViewCopyLinkButtonText:"Copy",CreateexternalcallinviteViewSendInviteButtonText:"Send invite to guest",CreateexternalcallinviteViewLinkCopiedToast:"Link copied to clipboard",CreateexternalcallinviteViewNoEmailAlert:"Please add a valid email address.",CreateexternalcallinviteViewSendEmailButtonText:"Send via Email",CreateexternalcallinviteViewEmailSuccessAlert:{Title:"Link sent",Description:"The invitation link has been successfully sent to the guest via email.",Button1:"OK"},CreateexternalcallinviteViewEmailFailAlert:{Title:"Error",Description:"Failed to send the email. Please try again or copy the link manually.",Button1:"Close"},CreateexternalcallinviteView:{CloseButtonTitleText:"Close"},CreateexternalcallinviteViewMissingEmailAlert:{Title:"Missing email",Description:"Please enter an email address for the recipient.",Button1:"Ok"},CreateexternalcallinviteViewInvalidDateAlert:{Title:"Invalid date",Description:"Please set the date to now or a future date.",Button1:"Ok"},CreateexternalcallinviteViewLinkCopiedAlert:{Title:"Link copied",Description:"The link has been copied to the clipboard.",Button1:"Ok"},CreateexternalcallinviteViewInfoText:"The link will be valid for an hour after the selected time and date.",TimetrackingViewTitleText:"Time tracking",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"New shift",NewAbsenceRequestText:"New absence request",PrintButtonTitleText:"Print",ExportButtonTitleText:"Export"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"Print",ExportButtonTitleText:"Export",CloseButtonTitleText:"Close"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"Today",Timesheets:"Timesheets",MyReport:"My Report",AbsenceRequests:"Absence"},TimeTrackingViewNoItemsFoundText:"No items found...",TimeTrackingViewNoActiveShiftsFoundText:"No shifts found...",TodaySheetStartTimeTitleText:"Start time",TodaySheetEndTimeTitleText:"End time",TodaySheetCurrentDurationTitleText:"Current duration",TodaySheetTotalDurationTitleText:"Total duration",TodaySheetStatusTitleText:"Status",TodaySheetStatusWorkingTitleText:"Working",TodaySheetStatusOnABreakTitleText:"On a break",TodaySheetStatusOffTitleText:"Off work",TodaySheetWorkingFromTitleText:"Working from",TodaySheetUnknownLocation:"Unknown location",TodayssheetStartedYesterdayText:"Started yesterday at",TodayssheetStartedTodayText:"Started today at",TodayssheetFinishedTodayText:"Finished today at",TodayssheetTotalShiftDurationText:"Total duration",TodayssheetCurrentShiftDurationText:"Current duration",TodayssheetFooterInfoHolder:{OnABreak:"On a break",Active:"Active",Shifts:"Shifts",Employees:"Employees"},TimeSheetSearchFieldPlaceholderText:"Search",TimeSheetSearchBarToText:"to",TimesheetInvalidDateAlertTitle:"Invalid dates selected",TimesheetInvalidDateAlertDatesSwitchedMessage:"Please make sure the start date is before the end date.",TimesheetInvalidDateButton:"OK",TimesheetSearchFieldInfoShowingText:"Showing",TimesheetsheetSearchFieldInfoResultsText:"results",TimesheetTableTitleItems:{Name:"Name",TotalHours:"Total hours",TotalShifts:"Total shifts",Days:"Days",Absence:"Absence",Issues:"Issues"},EmployeesheetSearchFieldInfoShowingText:"Showing",EmployeesheetSearchFieldInfoResultsText:"results",EmployeesheetInvalidDateAlertTitle:"Invalid dates selected",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"Please make sure the start date is before the end date.",EmployeesheetInvalidDateButton:"OK",EmployeesheetTableTitleItems:{Date:"Date",Position:"Position",StartTime:"Start time",EndTime:"End time",TotalTime:"Total time",BreakTime:"Break time",Issues:"Status"},EmployeesheetTableInfoTotalShiftsTitleText:"Total shifts",EmployeesheetTableInfoWorkedHoursTitleText:"Worked hours",EmployeesheetTableInfoBreakHoursTitleText:"Break hours",EmployeesheetTableInfoAbsenceTitleText:"Days absent",EmployeesheetTableInfoHasIssuesYes:"Pending",EmployeesheetTableInfoHasIssuesApproved:"Approved",EmployeesheetTableInfoHasIssuesRejected:"Rejected",EmployeesheetTableInfoHasIssuesNo:"No issues",AbsencerequestSearchFieldPlaceholderText:"Search",AbsencerequestSearchBarToText:"to",AbsencerequestSearchBarSearchButtonTitleText:"Search",AbsencerequestsTableTitleItems:{Name:"Name",Type:"Type",Dates:"Dates",RequestedOn:"Requested on",Status:"Status"},AbsencerequestsTableItemStatus:{Approved:"Approved",Rejected:"Denied",Pending:"Pending"},AbsencerequestFilterMenuItems:{All:"All",MyRequests:"My requests",EmployeeRequests:"Employee requests"},AbsencerequestsTableItemRejectedText:"Denied",AbsencerequestsInvalidDateAlertTitle:"Invalid dates selected",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"Please make sure the start date is before the end date.",AbsencerequestsInvalidDateButton:"OK",AbsencerequestsSearchFieldInfoShowingText:"Showing",AbsencerequestsSearchFieldInfoOutOfText:"of",AbsencerequestViewPendingMessageText:"Request is pending approval...",AbsencerequestViewApprovedMessageText:"Request has been approved!",AbsencerequestViewDeniedMessageText:"Request has been denied.",AbsencerequestViewTitleText:"Absence request",AbsencerequestViewFormTitleText:"Request for time off",AbsencerequestViewFormInfoText:"Please complete the following form and submit it for approval.",AbsencerequestViewFormEmployeeNameTitleText:"Employee name",AbsencerequestViewFormRequestTypeTitleText:"Request type",AbsencerequestViewFormStartDateTitleText:"Start date",AbsencerequestViewFormEndDateTitleText:"End date",AbsencerequestViewFormRequestNoteTitleText:"Reason for your request",AbsencerequestViewFormResponseNoteTitleText:"Managers response",AbsencerequestViewFormApprovedByTitleText:"Managers name",AbsencerequestViewFormApprovalDateTitleText:"Responded on",AbsencerequestViewFormRequiredDocumentsTitleText:"Required documents",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"No documents attached...",AbsencerequestViewFormApproveButtonTitleText:"Approve",AbsencerequestViewFormRejectButtonTitleText:"Deny",AbsencerequestViewFormSubmitButtonTitleText:"Submit",AbsenceReqestTypes:{TimeOff:"Time off",SickLeave:"Sick leave"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"Submit",NewButtonTitleText:"New",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},AbsencerequestViewDeleteRequestAlert:{TitleText:"Delete request?",MessageText:"Are you sure you would like to delete this request?",Button1Title:"Delete",Button2Title:"Cancel"},AbsencerequestViewFormNotFoundTitleText:"Form not found",AbsencerequestViewFormNotFoundInfoText:"The form you are looking for does not exist, it may have been deleted...",AbsencerequestViewFormValidationAlert:{TitleText:"Invalid dates selected",InfoTextDatesSwitchedMessage:"Please make sure the start date is before the end date.",InfoTextInvalidStartDateMessage:"The start date is invalid, please try again.",InfoTextInvalidEndDateMessage:"The end date is invalid, please try again.",Button1Title:"OK",},ShifteditorViewTitleText:"Shift editor",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},ShifteditorViewPendingMessageText:"Shift is pending approval...",ShifteditorViewApprovedMessageText:"Shift has been approved!",ShifteditorViewDeniedMessageText:"Shift has been rejected.",ShifteditorViewEmployeeNameTitleText:"Employee name",ShifteditorViewEmployeePositionTitleText:"Position",ShifteditorViewStartTimeTitleText:"Start time",ShifteditorViewEndTimeTitleText:"End time",ShifteditorViewLocationTitleText:"Location",ShifteditorViewLocationUnknownTitleText:"Unknown",ShifteditorViewBreaksTitleText:"Breaks",ShifteditorViewBreaksAddButtonText:"Add",ShifteditorViewIssuesTitleText:"Issues",ShifteditorViewDeleteShiftAlert:{Title:"Delete shift?",Description:"Are you sure you would like to delete this shift?",Button1Title:"Delete",Button2Title:"Cancel",},ShifteditorViewDeleteBreakAlert:{Title:"Delete break?",Description:"Are you sure you would like to delete this break?",Button1Title:"Delete",Button2Title:"Cancel",},ShifteditorViewFormIncompleteAlert:{Title:"Shift info incomplete",InfoTextInvalidStartTime:"The shift start time is invalid, please fill it properly and try again.",InfoTextInvalidEndTime:"The shift end time is invalid, please fill it properly and try again.",InfoTextInvalidBreakStartTime:"The break start time is invalid, please fill it properly and try again.",InfoTextInvalidBreakEndTime:"The break end time is invalid, please fill it properly and try again.",InfoTextInvalidNotesLength:"Your notes are too long, max length is 512 characters...",Button1Title:"OK",},ShifteditorViewNoBreakItemsFoundText:"No breaks found for this shift...",ShifteditorViewNoIssuesFoundText:"No issues found...",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"Shift started with no location shared.",ShiftEndedWithNoLocationData:"Shift ended with no location shared.",ShiftStartedOutsideOfLocation:"Shift started outside of employees defined locations.",ShiftEndedOutsideOfLocation:"Shift ended outside of employees defined location.",ShiftCreatedManually:"Shift created manually.",ShiftDataWasEdited:"Shift data was edited manually.",},ShifteditorViewManagerTitleText:"Manager",ShifteditorViewRespondedAtTitleText:"Responded on",ShifteditorViewNotesTitle:"Notes",ShifteditorViewManagerNotesTitle:"Manager notes",ShifteditorViewApproveButtonTitleText:"Approve",ShifteditorViewRejectButtonTitleText:"Reject",TimetrackingmanagementViewTitleText:"Time tracking",TimetrackingmanagementViewSearchFieldPlaceholderText:"Search",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"Search",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"New"},TasksViewTitleText:"Tasks",TasksViewTabBarMenuItemTitleText:{MyTasks:"Assigned to me",CreatedTasks:"Created by me"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"New Task"},TasksViewSearchBarGroupByTitleText:"Group by",TasksViewSearchBarFilterTitleText:"Show",TasksViewSearchBarFilterShowAllTitleText:"All",TasksViewSearchBarInfoTextPart1:"Showing",TasksViewSearchBarInfoTextPart2:"out of",TasksViewSearchBarInfoTextPart3:"tasks",TasksViewSearchBarGroupByOptions:{Priority:"Priority",Tags:"Tags"},TasksViewTaskPriorityList:{High_priority:"High priority",Medium_priority:"Medium priority",Low_priority:"Low priority",No_priority:"No priority"},TasksViewTaskStatusList:{All:"All",Open:"Open",In_progress:"In progress",On_hold:"On hold",Cancelled:"Cancelled",Done:"Done",Closed:"Closed"},TasksViewSearchFieldPlaceholderText:"Search",TasksViewTableTitle:{TaskTitle:"Title",TaskDescription:"Description",TaskCreationDate:"Creation Date",TaskStartDate:"Start date",TaskDueDate:"Due date",TaskStatus:"Status",TaskAsignees:"Assigned to"},TaskViewTitleText:"Task",TaskViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},TaskViewToolbarCreationTimeTitle:"Created",TaskViewToolbarStartedTimeTitle:"Started",TaskViewToolbarDueTimeTitle:"Due",TaskViewTaskInfoTitleText:"Title",TaskViewTaskInfoDescriptionTitleText:"Description",TaskViewTaskInfoAsigneeTitleText:"Assigned to",TaskViewTaskInfoOwnerTitleText:"Owner",FormsViewTitleText:"Forms",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"New form",CreateFormTemplateButtonTitleText:"New template"},FormsViewTabBarMenuItemTitleText:{MyForms:"My forms",SharedForms:"Shared with me",AssignedToMe:"Assigned to me",EmptyForms:"Form templates"},FormsViewSearchFieldPlaceholderText:"Search",FormsViewSearchBarFilterTitleText:"Show",FormsViewFormStatusList:{All:"All",Open:"Open",Completed:"Completed",Closed:"Closed",},FormsViewFormFilterList:{All:"All",MyForms:"My forms",SharedForms:"Shared forms",},FormsViewFormsTableTypeTitleText:"Form type",FormsViewFormTypes:{1:"Standard Form",2:"Survey",3:"Request to manager"},FormsViewSearchBarInfoTextPart1:"Showing",FormsViewSearchBarInfoTextPart2:"out of",FormsViewSearchBarInfoTextPart3:"forms",FormsViewFormsTableNameTitle:"Form name",FormsViewFormsTableTemplateNameTitle:"Template name",FormsViewFormsTableCreatorTitle:"Creator",FormsViewFormsTableAssignedToTitle:"Assigned to",FormsViewFormsTableAssignedByTitle:"Assigned by",FormsViewFormsTableCreationTimeTitle:"Creation time",FormsViewFormsTableLastModifiedTitle:"Last modified",FormsViewFormsTableDueTimeTitle:"Due time",FormsViewFormsTablePublishedTimeTitle:"Published on",FormsViewFormsTableCompletionTimeTitle:"Completion time",FormsViewFormsTableStatusTitle:"Status",FormsViewFormsTableTypeTitle:"Form type",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Create form",EditButtonTitleText:"Edit template",DuplicateButtonTitleText:"Duplicate template",DeleteButtonTitleText:"Delete template"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"Open form",EditButtonTitleText:"Edit Form",PublishButtonTitleText:"Publish form",UnpublishButtonTitleText:"Unpublish form",DeleteButtonTitleText:"Delete form"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"Open form",EditButtonTitleText:"Edit Form",PublishButtonTitleText:"Publish form",UnpublishButtonTitleText:"Unpublish form",DeleteButtonTitleText:"Delete form"},FormsViewDeleteFormTemplateAlert:{Title:"Delete form template?",Description:"Are you sure you would like to delete this form template, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},FormsViewDeleteFormAlert:{Title:"Delete form?",Description:"Are you sure you would like to delete this form, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},FormsViewPublishFormAlert:{Title:"Publish form?",Description:"Are you sure you would like to publish this form, once published all users assigned to the form and all users with review access will see the form.",Button1Title:"Publish",Button2Title:"Cancel",},FormsViewUnpublishFormAlert:{Title:"Unpublish form?",Description:"Are you sure you would like to unpublish this form, this will impact all users with review access and users assigned to the form.",Button1Title:"Unpublish",Button2Title:"Cancel",},FormsViewNoItemsFoundTableItemText:"No items found...",FormViewTitleText:"Form",FormViewTitleBarMenu:{SaveButtonTitleText:"Save",PublishButtonTitleText:"Publish form",UnpublishButtonTitleText:"Unpublish form",SubmitButtonTitleText:"Submit",DuplicateButtonTitleText:"Duplicate",PrintButtonTitleText:"Print",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},FormViewAlertPanel:{AlertNoNameTitleText:"Form name",AlertNoNameDescription:"Please enter a name for the form.",Button1Title:"Ok",},FormViewFormNamePlaceholderText:"Please enter a form name",FormViewSubmitButtonTitleText:"Submit",FormViewPublishButtonTitleText:"Publish",FormViewUnpublishButtonTitleText:"Unpublish",FormViewMenubarQuestionsButtonTitleText:"Form",FormViewMenubarResponsesButtonTitleText:"Responses",FormViewMenubarSettingsButtonTitleText:"Settings",FormViewResponsesDialogTitleText:"Responses:",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"Summery",Responses:"Responses"},FormViewResponsesDialogTitleCompletionRateText:"Completion rate:",FormViewResponsesDialogMembersListTitleText:"Completion status:",FormViewResponsesDialogMembersListCompletedBadgeText:"Completed",FormViewResponsesDialogNoResponsesMessageText:"No responses available, once assignees complete the form you will be able to review their responses and a full summery here...",FormViewResponsesDialogResponsesSummeryTitleText:"Responses summery:",FormViewFormNotValidAlert:{Title:"Form not submitted",Description:"The form is not complete, you have mandatory fields that have not been filled.",Button1Title:"OK",},FormreaderViewTitleText:"Form",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"Save draft",SubmitTitleText:"Submit",CloseButtonTitleText:"Close"},FormreaderViewSubmitButtonTitleText:"Submit",FormreaderViewFormCompletedInfoText:"This form has already been submitted.",FormreaderViewFormClosedInfoText:"This form has already been closed.",FormreaderViewFormNotFoundTitleText:"Form not found",FormreaderViewFormNotFoundInfoText:"The form you are looking for does not exist, it may have been deleted...",FormreaderViewFormNotValidAlert:{Title:"Form not submitted",Description:"The form is not complete, you have mandatory fields that have not been filled.",Button1Title:"OK",},FormreaderViewAnonymousFormInfoText:"This form is anonymous and will not present your presonal information.",SchedulingViewTitleText:"Scheduling",SchedulingmanagementViewTitleText:"Scheduling",SchedulingmanagementViewSearchFieldPlaceholderText:"Search",SchedulingmanagementViewSearchBarSearchButtonTitleText:"Search",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"New"},CalendarViewTitleText:"Calendar",CalendarViewLayoutPickerDayTitleText:"Day",CalendarViewLayoutPickerWeekTitleText:"Week",CalendarViewLayoutPickerMonthTitleText:"Month",CalendarViewAllDayRowTitleText:"All day",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"New event",CreateCalendarButtonTitleText:"New calendar"},CalendarViewMyCalendarsTitleText:"My calendars",CalendarViewSharedCalendarsTitleText:"Shared calendars",CalendarViewCalendarItemMenu:{CalendarSettingsButtonTitleText:"Settings",CalendarColorsTitleText:"Color"},CalendareditorViewTitleText:"Calendar editor",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},CalendareditorViewFormTitle:"Calendar details",CalendareditorViewCalendarTitleInputTitle:"Calendar title",CalendareditorViewSharingSectionTitle:"Sharing & Permissions",CalendareditorViewInviteTitleText:"Shared with",CalendareditorViewManageSharingTitle:"Manage Access",CalendareditorViewInviteButtonTitleText:"Edit Sharing",CalendareditorViewExpandInviteeButtonShowTitleText:"Show Details",CalendareditorViewExpandInviteeButtonHideTitleText:"Hide Details",CalendareditorViewInternalInviteUsersTitleText:"Shared Users",CalendareditorViewInternalInviteDepartmentsTitleText:"Shared Departments",CalendareditorViewInternalInviteTeamsTitleText:"Shared Teams",CalendareditorViewInternalInviteUsersTableEmptyTitleText:"Not shared with any users",CalendareditorViewInternalInviteDepartmentsTableEmptyTitleText:"Not shared with any departments",CalendareditorViewInternalInviteTeamsTableEmptyTitleText:"Not shared with any teams",CalendareditorViewDeleteAlert:{Title:"Delete Calendar",Body:"Are you sure you want to delete this calendar? This action cannot be undone.",Confirm:"Delete",Cancel:"Cancel"},CalendareditorViewCalendarDescriptionInputTitle:"Description",CalendareditorViewReadOnlyTitleText:"Read Only",CalendareditorViewExternalAvailableTitleText:"Externally Available",CalendareditorViewIsDefaultTitleText:"Default calendar",CalendareventeditorViewTitleText:"Event editor",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",RevertButtonTitleText:"Revert",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},CalendareventeditorViewFormTitle:"Event details",CalendareventeditorViewEventTitleInputTitle:"Event title",CalendareventeditorViewCalendarTitleInputTitle:"Calendar",CalendareventeditorViewEventStartTimeTitleText:"Start",CalendareventeditorViewEventEndTimeTitleText:"End",CalendareventeditorViewEventAllDayTitleText:"All day",CalendareventeditorViewEventDescriptionTitleText:"Description",CalendareventeditorViewRecurrenceTitleText:"Recurrence",CalendareventeditorViewRecurrenceDropdownRecurrenceNoneTitle:"None",CalendareventeditorViewRecurrenceDropdownRecurrenceDailyTitle:"Daily",CalendareventeditorViewRecurrenceDropdownRecurrenceWeeklyTitle:"Weekly",CalendareventeditorViewRecurrenceDropdownRecurrenceMonthlyTitle:"Monthly",CalendareventeditorViewRecurrenceWeeklyDaysSun:"S",CalendareventeditorViewRecurrenceWeeklyDaysMon:"M",CalendareventeditorViewRecurrenceWeeklyDaysTue:"T",CalendareventeditorViewRecurrenceWeeklyDaysWed:"W",CalendareventeditorViewRecurrenceWeeklyDaysThu:"T",CalendareventeditorViewRecurrenceWeeklyDaysFri:"F",CalendareventeditorViewRecurrenceWeeklyDaysSat:"S",CalendareventeditorViewRecurrenceEndDateTitleText:"Ends on",CalendareventeditorViewInviteTitleText:"Invitees",CalendareventeditorViewExpandInviteeButtonShowTitleText:"Show",CalendareventeditorViewExpandInviteeButtonHideTitleText:"Hide",CalendareventeditorViewInternalInviteTitleText:"Internal invitees",CalendareventeditorViewInternalInviteUsersTitleText:"Users",CalendareventeditorViewInternalInviteDepartmentsTitleText:"Departments",CalendareventeditorViewInternalInviteTeamsTitleText:"Teams",CalendareventeditorViewExternalInviteTitleText:"External invitees",CalendareventeditorViewInviteButtonTitleText:"Manage",CalendareventeditorViewExternalInviteEmailTitleText:"Enter email",CalendareventeditorViewInternalInviteUsersTableEmptyTitleText:"No users selected",CalendareventeditorViewInternalInviteDepartmentsTableEmptyTitleText:"No departments selected",CalendareventeditorViewInternalInviteTeamsTableEmptyTitleText:"No teams selected",CalendareventeditorViewEventLocationTitleText:"Location",CalendareventeditorViewRemindersTitleInputTitle:"Reminder",CalendareventeditorViewRemindersDropdownNone:"None",CalendareventeditorViewRemindersDropdown1Day:"1 Day before",CalendareventeditorViewRemindersDropdown1Hour:"1 Hour before",CalendareventeditorViewRemindersDropdown30Mins:"30 Minutes before",CalendareventeditorViewRemindersDropdown15Mins:"15 Minutes before",CalendareventeditorViewRemindersDropdown1Min:"1 Minute before",CalendareventeditorViewRecurrenceEditAlert:{Title:"Recurring Event",Body:"Edit only this instance or the entire series?",Button1Title:"Instance",Button2Title:"Series"},CalendareventeditorViewFormIncompleteAlert:{Title:"Event incomplete",InfoTextInvalidStartTime:"The start time is invalid, please fill it properly and try again.",InfoTextInvalidEndTime:"The end time is invalid, please fill it properly and try again.",InfoTextInvalidDateSequence:"The start date cannot be after the end date. Please check your timing.",InfoTextInvalidNotesLength:"Your description is too long, max length is 512 characters...",Button1Title:"OK",},CalendareventeditorViewSaveEventAlert:{Title:"Save Changes",Body:"Are you sure you want to save the changes to this event?",Button1Title:"Save",Button2Title:"Cancel",},CalendareventeditorViewRecurrenceSavePrompt:{Title:"Save Recurring Event",Body:"Do you want to apply these changes to this instance only or the entire series?",Button1Title:"This Instance",Button2Title:"Entire Series",},CalendareventeditorViewDeleteEventAlert:{Title:"Delete Event",Body:"Are you sure you want to delete this event? This action cannot be undone.",Button1Title:"Delete",Button2Title:"Cancel",},CalendareventeditorViewRecurrenceDeletePrompt:{Title:"Delete Recurring Event",Body:"Do you want to delete only this instance or the entire series?",Button1Title:"This Instance",Button2Title:"Entire Series",},CalendareventeditorViewRevertEventAlert:{Title:"Restore to Series",Body:"Are you sure you want to revert this instance? All custom changes to this specific date will be lost.",Button1Title:"Restore",Button2Title:"Cancel"},CalendareventViewTitleText:"Event",CalendareventViewInvitationHeaderText:"invited you to an event",CalendareventViewResponseGoing:"Going",CalendareventViewResponseMaybe:"Maybe",CalendareventViewResponseNotGoing:"Not Going",CalendareventViewTitleBarMenu:{NewButtonTitleText:"New",EditButtonTitleText:"Edit",DeleteButtonTitleText:"Delete",RejectButtonTitleText:"Reject",CloseButtonTitleText:"Close"},CalendareventViewCalendarTitleInputTitle:"Calendar",CalendareventViewEventDescriptionTitleText:"Description",CalendareventViewEventLocationTitleText:"Location",CalendareventViewRecurrenceTitleText:"Recurrence",CalendareventViewRecurrenceEndDateTitleText:"Ends on",CalendareventViewRecurrenceDropdownRecurrenceNoneTitle:"None",CalendareventViewRecurrenceDropdownRecurrenceDailyTitle:"Daily",CalendareventViewRecurrenceDropdownRecurrenceWeeklyTitle:"Weekly",CalendareventViewRecurrenceDropdownRecurrenceMonthlyTitle:"Monthly",CalendareventViewRecurrenceDailyText:"Every day",CalendareventViewRecurrenceWeeklyText:"Weekly on",CalendareventViewRecurrenceMonthlyText:"Monthly",CalendareventViewRecurrenceYearlyText:"Yearly",CalendareventViewRecurrenceUntilText:"until",CalendareventViewRecurrenceEveryText:"Every",CalendareventViewRecurrenceWeeklyDaysSun:"S",CalendareventViewRecurrenceWeeklyDaysMon:"M",CalendareventViewRecurrenceWeeklyDaysTue:"T",CalendareventViewRecurrenceWeeklyDaysWed:"W",CalendareventViewRecurrenceWeeklyDaysThu:"T",CalendareventViewRecurrenceWeeklyDaysFri:"F",CalendareventViewRecurrenceWeeklyDaysSat:"S",CalendareventViewLocationTitleText:"Location",CalendareventViewNavigateButtonText:"Navigate",CalendareventViewJoinButtonText:"Join",CalendareventViewStatusAccepted:"Accepted",CalendareventViewStatusTentative:"Tentative",CalendareventViewStatusDeclined:"Declined",CalendareventViewStatusPending:"Pending",CalendareventViewStatusOrganizer:"Organizer",CalendareventViewAttendeesTitleText:"Attendees",CalendareventViewExpandAttendeesButtonShowTitleText:"Show",CalendareventViewExpandAttendeesButtonHideTitleText:"Hide",CalendareventViewRemindersTitleInputTitle:"Reminder",CalendareventViewRemindersDropdownNone:"None",CalendareventViewRemindersDropdown1Day:"1 Day before",CalendareventViewRemindersDropdown1Hour:"1 Hour before",CalendareventViewRemindersDropdown30Mins:"30 Minutes before",CalendareventViewRemindersDropdown15Mins:"15 Minutes before",CalendareventViewRemindersDropdown1Min:"1 Minute before",CalendareventViewStatusUpdateAlert:{Title:"Update invitation status",Body:"Would you like to update the invitation status for the series or just this instance date?",Button1Title:"Instance",Button2Title:"Series",},CalendareventViewDeleteEventAlert:{Title:"Delete Event",Body:"Are you sure you want to delete this event? This action cannot be undone.",Button1Title:"Delete",Button2Title:"Cancel",},CalendareventViewRecurrenceDeletePrompt:{Title:"Delete Recurring Event",Body:"Do you want to delete only this instance or the entire series?",Button1Title:"This Instance",Button2Title:"Entire Series",},CalendareventViewRejectEventAlert:{Title:"Reject Invitation",Body:"Are you sure you want to reject this invitation? This action cannot be undone.",Button1Title:"Reject",Button2Title:"Cancel",},CalendareventViewRecurrenceRejectPrompt:{Title:"Reject Recurring Event",Body:"Do you want to reject only this instance or the entire series?",Button1Title:"This Instance",Button2Title:"Entire Series",},CalendareventViewReminderUpdateAlert:{Title:"Update Reminder",Body:"Would you like to update the reminder only for this instance or the entire series?",Button1Title:"This Instance",Button2Title:"Entire series"},MailboxViewTitleText:"Mail",MailboxViewNavigationBarInboxTitleText:"Inbox",MailboxViewComposeButtonTitle:"Compose email",MailboxViewTitleBarMenu:{NewButtonTitleText:"Compose email",EmptyTrashButtonTitle:"Empty trash"},MailboxViewTableItemMenu:{SendButtonTitleText:"Send",ReplyButtonTitleText:"Reply",ForwardButtonTitleText:"Forward",MoveButtonTitleText:"Move",MarkAsReadButtonTitleText:"Mark as read",MarkAsUnreadButtonTitleText:"Mark as unread",MarkAsSpamButtonTitleText:"Mark as spam",RemoveFromSpamButtonTitleText:"Remove from spam",DeleteButtonTitleText:"Delete",PermanentlyDeleteButtonTitleText:"Permanently Delete",RestoreButtonTitleText:"Restore"},MailboxViewEmptyTableItemText:"No items found...",MailboxViewNavigationBarInfoTextPart1:"Showing",MailboxViewNavigationBarInfoTextPart2:"out of",MailboxViewNavigationBarInfoTextPart3:"results",MailboxViewFolderListTitleText:"Folders",MailboxViewSystemMailboxNames:{INBOX:"Inbox",SENT:"Sent",DRAFTS:"Drafts",SPAM:"Spam",DELETED:"Deleted"},MailboxViewDeleteEmailAlert:{Title:"Delete email?",Title:"Delete email?",Description:"Are you sure you would like to delete this email?",DescriptionPermanentlyDelete:"Are you sure you would like to permanently delete this email? This can not be undone and you will loose all email data.",Button1Title:"Delete",Button2Title:"Cancel",},MailboxViewPermanentDeleteEmailAlert:{Title:"Permanent delete email?",Description:"Are you sure you would like to permanently delete this email? This action can not be undone and you will loose all email data.",Button1Title:"Delete",Button2Title:"Cancel",},MailboxViewRestoreEmailAlert:{Title:"Restore email?",Description:"Would you like to restore this email?",Button1Title:"Restore",Button2Title:"Cancel",},MailboxViewDeleteFolderAlert:{Title:"Delete folder?",Description:"Are you sure you would like to delete this folder?",Button1Title:"Delete",Button2Title:"Cancel",},MailboxViewEmptyDeletedItemslAlert:{Title:"Empty deleted items?",Description:"Would you like to empty deleted items? This action can not be undone and you will loose all emails and associated data in the deleted items folder!",Button1Title:"Empty",Button2Title:"Cancel",},MailboxViewFolderItemMenu:{RenameButtonTitleText:"Rename",DeleteButtonTitleText:"Delete",},EmailViewTitleText:"Email",EmailViewTitleBarMenu:{NewButtonTitleText:"New",ReplyButtonTitleText:"Reply",ForwardButtonTitleText:"Forward",DeleteButtonTitleText:"Delete",RestoreButtonTitleText:"Restore",PrintButtonTitleText:"Print",CloseButtonTitleText:"Close"},EmailViewToHeaderText:"To",EmailViewCcHeaderText:"Cc",EmailViewAttachmentMenu:{DownloadButtonTitleText:"Download",SaveToDriveButtonTitleText:"Save to drive",},EmailViewDeleteEmailAlert:{Title:"Delete email?",Description:"Are you sure you would like to delete this email?",Button1Title:"Delete",Button2Title:"Cancel",},EmailViewRestoreEmailAlert:{Title:"Restore email?",Description:"Would you like to restore this email?",Button1Title:"Restore",Button2Title:"Cancel",},EmailViewSaveEmailToCloudDriveAlert:{Title:"File saved",Description:"File has been successfully saved to your cloud drive.",Button1Title:"Open drive",Button2Title:"Close",},EmailViewOnRespondToEmailInviteSuccessAlert:{Title:"Response sent",Description:"Your response has been sent to the event organizer.",Button1Title:"Ok"},EmailViewCalendarInviteText:"Calendar Invitation",EmailViewCalendarReplyText:"Attendee Response",EmailViewCalendarAcceptedStatus:"Attendee has accepted this invitation.",EmailViewCalendarTentativeStatus:"Attendee has tentatively accepted.",EmailViewCalendarDeclinedStatus:"Attendee has declined this invitation.",EmailViewCalendarCancelStatusNote:"This event has been removed from your schedule.",EmailViewCalendarCancelText:"Cancelled",EmailViewCalendarAcceptButtonText:"Accept",EmailViewCalendarDeclineButtonText:"Decline",EmailViewCalendarMaybeButtonText:"Maybe",EmailViewCalendarRepeatText:"Repeat",EmailViewCalendarFromText:"from",EmailViewCalendarToText:"to",EmailViewCalendarGMTText:"GMT",EmailViewCalendarFreqDAILY:"Daily",EmailViewCalendarFreqWEEKLY:"Weekly",EmailViewCalendarFreqMONTHLY:"Monthly",EmailViewCalendarFreqYEARLY:"Yearly",EmailViewAttachementFooterTitle:"Attachments",EmaileditorViewTitleText:"Compose email",EmaileditorViewHeaderFromTitle:"From",EmaileditorViewHeaderToTitle:"To",EmaileditorViewHeaderCcTitle:"Cc",EmaileditorViewHeaderBccTitle:"Bcc",EmaileditorViewHeaderSubjectTitle:"Subject",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"Send",SaveButtonTitleText:"Save",NewButtonTitleText:"New",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},EmaileditorViewSendErrorAlert:{Title:"Could not send email",MaxSizeReachedDescription:"The attachment size and email content have exeeded the max size limit of 10MB. Please remove some of the content and try again.",Button1Title:"OK",},EmaileditorViewAlert:{NoRecipientTitleText:"No recipients",NoRecipientDescriptionText:"No recipient was selected, please enter at least one recipient.",Button1Title:"Ok",Button2Title:"Cancel"},EmaileditorViewDeleteEmailAlert:{Title:"Delete email?",Description:"Are you sure you would like to delete this email?",Button1Title:"Delete",Button2Title:"Cancel",},EmaileditorViewQuillLinkTitleText:"Link",EmaileditorViewQuillLinkSaveText:"Save",EmaileditorViewQuillLinkVisitURLText:"Visit",EmaileditorViewQuillLinkEditText:"Edit",EmaileditorViewQuillLinkRemoveText:"Remove",MailboxsettingsViewTitleText:"Mailbox settings",MailboxsettingsViewSearchFieldPlaceholderText:"Search",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"Create alias"},MailboxsettingseitorViewTitleText:"Mailbox settings editor",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},ClouddriveViewTitleText:"Cloud Drive",ClouddriveViewNavigationBarTitleText:"Drive",ClouddriveViewNavigationBarInfoText1:"Showing",ClouddriveViewNavigationBarInfoText2:"items",ClouddriveViewTotalFilesInfoText:"My files",ClouddriveViewTotalSizeInfoText:"Size",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"Search",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"New folder",UploadButtonTitleText:"Upload file",RenameFolderButtonTitleText:"Rename folder",DeleteFolderButtonTitleText:"Delete folder",UpdateFolderSettingsButtonTitleText:"Folder settings"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"Rename",DownloadButtonTitleText:"Download",MoveButtonTitleText:"Move",DeleteButtonTitleText:"Delete",StarButtonTitleText:"Star",UnstarButtonTitleText:"Unstar",SettingsButtonTitleText:"Settings"},ClouddriveViewDeleteFileAlert:{DeleteFolderTitle:"Delete folder?",DeleteFileTitle:"Delete file?",DeleteFolderBody:"Are you sure you would like to delete this folder? All content in this folder will be deleted. This action can not be undone!",DeleteFileBody:"Are you sure you would like to delete this file? This action can not be undone!",Button1Title:"Delete",Button2Title:"Cancel"},ClouddriveViewSidebarListItems:{MyFiles:"My files",SharedWithMe:"Shared with me",Starred:"Starred files"},PreviewViewTitleText:"Preview",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"Download",RenameFileButtonTitleText:"Rename file",PrintButtonTitleText:"Print",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},PreviewViewDeleteFileAlert:{DeleteTitle:"Delete file?",DeleteBody:"Are you sure you would like to delete this file? This action can not be undone!",Button1Title:"Delete",Button2Title:"Cancel"},PdfViewTitleText:"PDF Viewer",PdfViewTitleBarMenu:{DownloadButtonTitleText:"Download",CloseButtonTitleText:"Close"},DirectoryViewTitleText:"Directory",DirectoryViewContactsListTitle:"Contact list",DirectoryViewSearchFieldPlaceholderText:"Search",DirectoryViewStartChatText:"Send chat message",DirectoryViewPhoneText:"Phone",DirectoryViewEmailText:"Email",DirectoryViewStartVoiceCallText:"Start voice call",DirectoryViewStartVideoCallText:"Start video call",DirectoryViewContactsPlaceholderText:"Please select a contact",DirectoryViewContactsEmptyListItemTitleText:"No contacts found...",ProfileViewTitleText:"Profile",ProfileViewInfoText:"Your profile information",ProfileViewProfilePictureTitleText:"Your profile picture",ProfileViewProfilePictureText:"The recommended image size is 500 x 500px",ProfileViewProfilePictureUploadButtonTitleText:"Upload",ProfileViewProfilePictureDeleteButtonTitleText:"Delete",ProfileViewProfilePictureInfoText:"Help your team better interact with you by uploading a clear photo of yourself",ProfileViewFormFirstNameTitleText:"First name",ProfileViewFormLastNameTitleText:"Last name",ProfileViewFormPhoneNumberTitleText:"Phone number",ProfileViewFormEmailTitleText:"E-mail",ProfileViewUpdateButtonTitleText:"Update",ProfileViewSaveButtonTitleText:"Save",ProfileViewEmailInUseAlertTitle:"Email in use",ProfileViewEmailInUseAlertText:"The email address you entered is already in use by another user, please enter a different email address",ProfileViewEmailInUseAlertButtonText:"OK",ProfileViewPhoneNumberInUseAlertTitle:"Phone number in use",ProfileViewPhoneNumberInUseAlertText:"The phone number you entered is already in use by another user, please enter a different phone number",ProfileViewPhoneNumberInUseAlertButtonText:"OK",SettingsViewTitleText:"Settings",SettingsViewSearchFieldPlaceholderText:"Search",SettingsViewDetailsPlaceholderText:"Please select a category to begin...",UsersettingsViewTitleText:"Settings",UserSettingsViewUserSettingsTitleText:"User settings:",UserSettingsViewLanguageSettingsTitleText:"Language:",UserSettingsViewLanguageSettingsText:"Please choose your prefered language for the user interface:",SecurityViewTitleText:"Security",SecurityViewUserSettingsTitleText:"Security settings:",SecurityViewSecuritySettingsTitleText:"Password update:",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"New password:",SecurityViewSecuritySettingsPassword2TitleText:"Re-enter the new password:",SecurityViewSecuritySettingsSubmitButtonTitle:"Update",SecurityViewDefaultMessageText:"Please type in your new password:",SecurityViewMessageHolderTitleText:"Password must contain the following:",SecurityViewMessageHolderLowercaseTitleText:"• A lowercase letter",SecurityViewMessageHolderUppercaseTitleText:"• A uppercase letter",SecurityViewMessageHolderNumberTitleText:"• A number",SecurityViewMessageHolderLengthTitleText:"• Minimum 8 characters",SecurityViewPasswordMissmatchMessageText:"Passwords do not match",SecurityViewPasswordInvalidMessageText:"Invalid password, please try again",SecurityViewPasswordUpdateSucessAlert:{Title:"Password update",Description:"Your password was updated successfully.",Button1Title:"OK",},SecurityViewPasscodeSettingsTitleText:"Passcode update:",SecurityViewDefaultPasscodeMessageText:"Please enter a new passcode:",SecurityViewSecuritySettingsPasscodeTitleText:"New passcode:",SecurityViewPasscodeInvalidMessageText:"Invalid passcode, please try again",SecurityViewPasscodeUpdateSucessAlert:{Title:"Passcode update",Description:"Your passcode was updated successfully.",Button1Title:"OK",},NotificationsViewTitleText:"Notifications",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"Has assigned a form to be completed by you",EmployeeCheckedInOutsideOfLocationsTitleText:"Started their shift outside of their office location.",EmployeeCheckedOutOutsideOfLocationsTitleText:"Ended their shift outside of their office location.",EmployeeCheckedInWithNoLocationTitleText:"Started their shift with no location.",EmployeeCheckedOutWithNoLocationTitleText:"Ended their shift with no location.",EmployeeAbsenceRequestTitleText:"Has requested time off.",NewEmailTitleText:"Email",EmployeeAbsenceRequestInfoText:"Click here to review and approve or deny their request.",EmployeeAbsenceResponseApprovedTitleText:"Has approved your request for time off.",EmployeeAbsenceResponseRejectedTitleText:"Has denied your request for time off.",EmployeeAbsenceResponseInfoText:"Click here to review your request.",CalendarEventInvitedTitleText:"Has invited you to",CalendarEventUpdatedTitleText:"Has updated",CalendarEventCanceledTitleText:"Has canceled",CalendarEventAcceptedTitleText:"Has accepted your invitation for",CalendarEventTentativeTitleText:"Has tentatively accepted your invitation for",CalendarEventRejectedTitleText:"Has rejected your invitation for",CalendarEventFromText:"from",CalendarEventFreqDAILY:"Daily",CalendarEventFreqWEEKLY:"Weekly",CalendarEventFreqMONTHLY:"Monthly",CalendarEventFreqYEARLY:"Yearly",CalendarEventReminderTitleText:"Reminder",CalendarEventReminderStartsInText:"Starts in",CalendarEventReminderTomorrowAtText:"Tomorrow at",CalendarEventReminderMinutesText:"minutes",CalendarEventReminderHoursText:"hour",},NotificationsViewClearAllNotificationsButtonTitleText:"Clear all",NotificationsViewNotificationItemClearButtonTitleText:"Clear",NotificationsViewClearAllNotificationsAlert:{Title:"Clear all notifications?",Description:"Are you sure you would like to clear all your notifications?",Button1Title:"Clear",Button2Title:"Cancel",},NotificationsViewEmptyNotificationItem:"No new notifications...",UserAccountsTitleText:"User Accounts",UserAccountsViewFirstNameTitleText:"First name",UserAccountsViewLastNameTitleText:"Last name",UserAccountsViewJobTitleTitleText:"Title",UserAccountsViewEmailTitleText:"Email",UserAccountsViewPhoneNumberTitleText:"Phone number",UserAccountsViewAccountActiveTitleText:"Active",UserAccountsViewAccountBlockedTitleText:"Blocked",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"Add user"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"Edit",SendInviteButtonTitleText:"Send invite",ResetPasswordButtonTitleText:"Reset password",LogoutButtonTitleText:"Logout",BlockButtonTitleText:"Block user",UnblockButtonTitleText:"Unblock user",DeleteButtonTitleText:"Delete"},UserAccountsViewSearchBarInfoTextPart1:"Showing",UserAccountsViewSearchBarInfoTextPart2:"out of",UserAccountsViewSearchBarInfoTextPart3:"users",EdituserViewAddTitleText:"Add user",EdituserViewEditTitleText:"Edit user",EdituserViewTitleBarSaveButtonTitleText:"Save",EdituserViewTitleBarCancelButtonTitleText:"Cancel",EdituserViewFormFirstNameTitleText:"First name",EdituserViewFormLastNameTitleText:"Last name",EdituserViewFormUserNameTitleText:"User name",EdituserViewFormJobTitleTitleText:"Title",EdituserViewFormPhoneNumberTitleText:"Phone number",EdituserViewFormEmailTitleText:"E-mail",EdituserViewFormInmailEmailTitleText:"Internal email",EdituserViewFormInmailCheckboxTitleText:"Enable inmail",EdituserViewEmailInUseAlertTitle:"Email in use",EdituserViewEmailInUseAlertText:"The email address you entered is already in use by another user, please enter a different email address",EdituserViewEmailInUseAlertButtonText:"OK",EdituserViewPhoneNumberInUseAlertTitle:"Phone number in use",EdituserViewPhoneNumberInUseAlertText:"The phone number you entered is already in use by another user, please enter a different phone number",EdituserViewPhoneNumberInUseAlertButtonText:"OK",EdituserViewTimetrackingListTitleText:"Timetracking settings",EdituserViewLocationsListTitleText:"Location settings",EdituserViewPositionsListTitleText:"Employee roles",EdituserViewFeatureAccessListTitleText:"Feature access configuration",EdituserViewSettingsAccessListTitleText:"Settings access configuration",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"Requires approval",EdituserViewTimetrackingListReviewAccesslItemTitleText:"Review access",EdituserViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},EdituserViewDeleteUserAlert:{Title:"Delete user?",Description:"Are you sure you would like to delete this user, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},EdituserViewErrorAlert:{Title:"User account not complete",DescriptionNoPositionSelected:"Please select at least one role from the Employee roles list.",Button1Title:"OK",},GroupmanagementViewTitleText:"Group management",GroupmanagementViewSearchFieldPlaceholderText:"Search",GroupmanagementViewSearchBarSearchButtonTitleText:"Search",GroupmanagementViewDepartmentsTitleText:"Departments",GroupmanagementViewTeamsTitleText:"Teams",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"New department",CreateTeamTemplateButtonTitleText:"New team"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"Edit",DeleteButtonTitleText:"Delete"},GroupmanagementViewSearchBarInfoTextPart1:"Showing",GroupmanagementViewSearchBarInfoTextPart2:"out of",GroupmanagementViewSearchBarInfoTextPart3:"results",GroupmanagementViewDeleteTeamAlert:{Title:"Delete team?",Description:"Are you sure you would like to delete this team, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},GroupmanagementViewDeleteDepartmentAlert:{Title:"Delete department?",Description:"Are you sure you would like to delete this department, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},GroupeditorViewDepartmentIDText:"Department ID",GroupeditorViewTeamIDText:"Team ID",GroupeditorViewAddDepartmentTitleText:"Add Department",GroupeditorViewEditDepartmentTitleText:"Edit Department",GroupeditorViewAddTeamTitleText:"Add team",GroupeditorViewEditTeamTitleText:"Edit team",GroupeditorViewDepartmentTitleText:"Department title",GroupeditorViewDepartmentDescriptionText:"Department description",GroupeditorViewTeamTitleText:"Team title",GroupeditorViewTeamDescriptionText:"Team description",GroupeditorViewMembersTableTitle:"Members",GroupeditorViewManagersTableTitle:"Managers",GroupeditorViewAdminsTableTitle:"Admins",GroupeditorViewMembersTableSearchFieldPlaceholderText:"Search",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},GroupeditorViewDeleteTeamAlert:{Title:"Delete team?",Description:"Are you sure you would like to delete this team, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},GroupeditorViewDeleteDepartmentAlert:{Title:"Delete department?",Description:"Are you sure you would like to delete this department, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},PositionsmanagementViewTitleText:"Roles management",PositionsmanagementViewSearchFieldPlaceholderText:"Search",PositionsmanagementViewSearchBarSearchButtonTitleText:"Search",PositionsmanagementViewSearchBarInfoTextPart1:"Showing",PositionsmanagementViewSearchBarInfoTextPart2:"out of",PositionsmanagementViewSearchBarInfoTextPart3:"results",PositionsmanagementViewPositionsTitleText:"Roles",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"New role",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"Edit",DeleteButtonTitleText:"Delete"},PositionsmanagementViewEmptyTableItemText:"No items found...",PositionsmanagementViewDeletePositionAlert:{Title:"Delete Position?",Description:"Are you sure you would like to delete the position, this will affect all users with this position?",Button1Title:"Delete",Button2Title:"Cancel",},PositioneditorViewTitleText:"Role editor",PositioneditorViewPositionText:"Role ID",PositioneditorViewPositionTitleText:"Title",PositioneditorViewPositionDescriptionText:"Description",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},PositioneditorViewDeletePositionAlert:{Title:"Delete Position?",Description:"Are you sure you would like to delete the position, this will affect all users with this position?",Button1Title:"Delete",Button2Title:"Cancel",},LocationsmanagementViewTitleText:"Locations management",LocationsmanagementViewSearchFieldPlaceholderText:"Search",LocationsmanagementViewSearchBarSearchButtonTitleText:"Search",LocationsmanagementViewSearchBarInfoTextPart1:"Showing",LocationsmanagementViewSearchBarInfoTextPart2:"out of",LocationsmanagementViewSearchBarInfoTextPart3:"results",LocationsmanagementViewLocationsTitleText:"Locations",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"New location",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"Edit",DeleteButtonTitleText:"Delete"},LocationsmanagementViewEmptyTableItemText:"No items found...",LocationsmanagementViewDeleteLocationAlert:{Title:"Delete Location?",Description:"Are you sure you would like to delete the Location?",Button1Title:"Delete",Button2Title:"Cancel",},LocationeditorViewTitleText:"Location editor",LocationeditorViewLocationText:"Location ID",LocationeditorViewLocationTitleText:"Title",LocationeditorViewLocationAddressText:"Address",LocationeditorViewLocationLatitudeText:"Latitude",LocationeditorViewLocationLongitudeText:"Longitude",LocationeditorViewLocationDistanceText:"Acceptable distance (in meters)",LocationeditorViewSetCurrentLocationButtonTitleText:"Set current location",LocationeditorViewShowOnMapButtonTitleText:"Show on map",LocationeditorViewReloadMapButtonTitleText:"Reload map",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},LocationeditorViewDeleteLocationAlert:{Title:"Delete Location?",Description:"Are you sure you would like to delete the Location?",Button1Title:"Delete",Button2Title:"Cancel",},TasksmanagementViewTitleText:"Task management",TasksmanagementViewSearchFieldPlaceholderText:"Search",TasksmanagementViewSearchBarSearchButtonTitleText:"Search",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Create template"},TaskeditorViewTitleText:"Task editor",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},FormsmanagementViewTitleText:"Form management",FormsmanagementViewSearchFieldPlaceholderText:"Search",FormsmanagementViewSearchBarInfoTextPart1:"Showing",FormsmanagementViewSearchBarInfoTextPart2:"out of",FormsmanagementViewSearchBarInfoTextPart3:"forms",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"New template"},FormsmanagementViewFormsTableNameTitle:"Template name",FormsmanagementViewFormsTableCreatorTitle:"Creator",FormsmanagementViewFormsTableCreationTimeTitle:"Creation time",FormsmanagementViewFormsTableLastModifiedTitle:"Last modified",FormsmanagementViewFormsTableEmptyPlaceholderText:"No form templates found, please update your search or create a new template to begin...",FormsmanagementViewDeleteFormTemplateAlert:{Title:"Delete form template?",Description:"Are you sure you would like to delete this form template, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},FormeditorViewTitleText:"Form template editor",FormeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},FormeditorViewFormsTableNameTitle:"Form name",FormeditorViewFormsTableCreatorTitle:"Creator",FormeditorViewFormsTableCreationTimeTitle:"Creation time",FormeditorViewFormsTableLastModifiedTitle:"Last modified",FormeditorViewFormsDuplicateTitleText:"(Copy)",FormeditorViewShareSettingsShareButtonTitleText:"Settings",FormeditorViewDeleteFormTemplateAlert:{Title:"Delete form template?",Description:"Are you sure you would like to delete this form template, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},FormditorViewTemplateTypeTitleText:"Form type:",FormTypes:{1:"Standard Form",2:"Survey",3:"Request to manager"},FormtemplatesViewTitleText:"Form templates",FormtemplatesViewSearchFieldPlaceholderText:"Search",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"New template",CloseButtonTitleText:"Close"},FormtemplatesViewSearchBarInfoTextPart1:"Showing",FormtemplatesViewSearchBarInfoTextPart2:"out of",FormtemplatesViewSearchBarInfoTextPart3:"forms",FormtemplatesViewFormsTableNameTitle:"Form name",FormtemplatesViewFormsTableTemplateNameTitle:"Template name",FormtemplatesViewFormsTableCreatorTitle:"Creator",FormtemplatesViewFormsTableCreationTimeTitle:"Creation time",FormtemplatesViewFormsTableLastModifiedTitle:"Last modified",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Create form",EditButtonTitleText:"Edit template",DuplicateButtonTitleText:"Duplicate template",DeleteButtonTitleText:"Delete template"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"Delete form template?",Description:"Are you sure you would like to delete this form template, this action can not be undone.",Button1Title:"Delete",Button2Title:"Cancel",},FormtemplatesViewFormsTableEmptyPlaceholderText:"No form templates found, please update your search or create a new template to begin...",FormeditorViewFormNamePlaceholderText:"Form name",FormeditorViewFormTitlePlaceholderText:"Form title",FormeditorViewFormDescriptionPlaceholderText:"Form description",FormTextInputPlaceholderText:"Text input...",FormTextAreaPlaceholderText:"Text area...",FormRatingInputPlaceholderText:"Rating question...",FormRatingInputValidationErrorText:"* This is a mandatory field, please answer the question.",FormTextQuestionQuestionPlaceholderText:"Question...",FormTextQuestionAnswerPlaceholderText:"Answer...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormTextQuestionValidationErrorText:"* This is a mandatory field, please answer the question.",FormDatePickerInputPlaceholderText:"Date title text...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Date range",FormDatePickerInputValidationErrorText:"* This is a mandatory field, please enter a date value.",FormDatePickerInputValidationInvalidRangeErrorText:"* Invalid range, start date bigger than end date. Please update your input and try again.",FormTimePickerInputPlaceholderText:"Time title text...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Time range",FormTimePickerInputValidationErrorText:"* This is a mandatory field, please enter a time value.",FormTimePickerInputValidationInvalidRangeErrorText:"* Invalid range, start time bigger than end time. Please update your input and try again.",FormSingleSelectionInputPlaceholderText:"Single selection question...",FormSingleSelectionInputOptionPlaceholderText:"Option",FormSingleSelectionInputAddOptionButtonTitleText:"Add option",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormSingleSelectionInputValidationErrorText:"* This is a mandatory field, please select an option.",FormMultiSelectionInputPlaceholderText:"Multiple selection question...",FormMultiSelectionInputOptionPlaceholderText:"Option",FormMultiSelectionInputAddOptionButtonTitleText:"Add option",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormMultiSelectionInputValidationErrorText:"* This is a mandatory field, please select at least one option.",FormFileUploadInputPlaceholderText:"File upload request...",FormFileUploadInputResetButtonTitleText:"Reset",FormFileUploadInputUploadButtonTitleText:"Upload file",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormFileUploadInputValidationErrorText:"* This is a mandatory field, please select a file.",FormPhotoUploadInputPlaceholderText:"Photo upload request...",FormPhotoUploadInputResetButtonTitleText:"Reset",FormPhotoUploadInputUploadButtonTitleText:"Upload photo",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormPhotoUploadInputValidationErrorText:"* This is a mandatory field, please select a photo.",FormSignatureInputPlaceholderText:"Signature request...",FormSignatureInputSignatureText:"Signature",FormSignatureInputResetButtonTitleText:"Reset",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"Mandatory field",FormSignatureInputValidationErrorText:"* This is a mandatory field, please sign the form.",KiosksmanagementViewTitleText:"Kiosk management",KiosksmanagementViewSearchFieldPlaceholderText:"Search",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"New Kiosk"},KiosksmanagementViewKiosksTableTitleText:"Kiosks",KiosksmanagementViewSearchBarInfoTextPart1:"Showing",KiosksmanagementViewSearchBarInfoTextPart2:"out of",KiosksmanagementViewSearchBarInfoTextPart3:"results",KioskmanagementViewTableItemStatusOnline:"Online",KioskmanagementViewTableItemStatusOffline:"Offline",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"Edit",DeleteButtonTitleText:"Delete"},KioskmanagementViewDeleteKioskAlert:{Title:"Delete Kiosk?",Description:"Are you sure you would like to delete the Kiosk?",Button1Title:"Delete",Button2Title:"Cancel",},KioskManagementViewEmptyTableItemText:"No items found...",KioskeditorViewTitleText:"Kiosk editor",KioskeditorViewKioskText:"Kiosk",KioskeditorViewKioskTitleText:"Title",KioskeditorViewKioskDescriptionText:"Description",KioskeditorViewKioskLocationTitleText:"Kiosk location",KioskeditorViewKioskTypeTitleText:"Kiosk type",KioskeditorViewKioskAccessSettingsTitleText:"Kiosk insights access",KioskeditorViewKioskAccessSettingsButtonText:"Set access",KioskeditorViewKioskUsernameText:"Username",KioskeditorViewKioskPasswordText:"Password",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"New",SaveButtonTitleText:"Save",DuplicateButtonTitleText:"Duplicate",DeleteButtonTitleText:"Delete",CloseButtonTitleText:"Close"},KioskeditorViewKioskTypes:{TimeTracking:"Time tracking",CustomerSurvey:"Customer Survey"},KioskeditorViewDeleteKioskAlert:{Title:"Delete Kiosk?",Description:"Are you sure you would like to delete the Kiosk?",Button1Title:"Delete",Button2Title:"Cancel",},FormItemsMenu:{FormTextInput:"Text input",FormTextArea:"Text area",FormTextQuestion:"Text question",FormSingleSelectionInput:"Single selection",FormMultiSelectionInput:"Multi selection",FormTimePickerInput:"Time input",FormDatePickerInput:"Date input",FormRatingInput:"Star rating",FormSignatureInput:"Signature",FormPhotoUploadInput:"Photo upload",FormFileUploadInput:"File upload"},TimePickerMenuEnterTimeText:"Enter time:",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"OK",TimePickerMenuCancelButtonTitleText:"Cancel",ImageGalleryTitleText:"Image gallery",FileExplorerTitleText:"Media browser",FileExplorerMenuItemImagesTitleText:"Images",FileExplorerMenuItemFilesTitleText:"Files",FileExplorerFileListEmptyListItemTitleText:"No files where found in this chat",FileExplorerImageGridEmptyListItemTitleText:"No images where found in this chat",ChatGroupNameEditorTitleText:"Enter group name",ChatGroupNameEditorButton1TitleText:"Save",ChatGroupNameEditorButton2TitleText:"Cancel",FilenameEditorTitleText:"Enter a name",FilenameEditorButton1TitleText:"Save",FilenameEditorButton2TitleText:"Cancel",FilePickerChooseFolderTitleText:"Choose folder",FilePickerChooseFileTitleText:"Choose file",FilePickerButton1TitleText:"Save",FilePickerButton2TitleText:"Cancel",FolderPickerChooseFolderTitleText:"Choose a folder",FolderPickerCancelButtonTitleText:"Cancel",FolderPickerInboxFolderTitleText:"Inbox",ChatGroupPickerDialogTableTitle:"Groups",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"Search",ChatGroupPickerDialogTitleText:"Select chat groups",ChatGroupPickerDialogEmptyListItemTitleText:"No groups found",ChatGroupPickerDialogSelectButtonTitleText:"Select",ChatGroupPickerDialogCancelButtonTitleText:"Cancel",UserPickerDialogTitleText:"Add members",UserPickerDialogEmptyListItemTitleText:"No users found",UserPickerDialogAddButtonTitleText:"Add",UserPickerDialogCancelButtonTitleText:"Cancel",SharePickerDialogTitleText:"Share",SharePickerDialogTableSearchFieldPlaceholderText:"Search",SharePickerDialogUsersTableTitleText:"Users",SharePickerDialogDepartmentsTableTitleText:"Departments",SharePickerDialogTeamsTableTitleText:"Teams",SharePickerDialogAddButtonTitleText:"Add",SharePickerDialogCancelButtonTitleText:"Cancel",SharePickerDialogEmptyListItemTitleText:"No items found",ShareSettingsDialogTitleBarText:"Share",ShareSettingsDialogTitleText:"Share settings",ShareSettingsDialogCloseButtonTitle:"Close",ShareSettingsDialogOwnerTableTitle:"Owner",ShareSettingsDialogUsersTableTitle:"Users",ShareSettingsDialogDepartmentsTableTitle:"Departments",ShareSettingsDialogTeamsTableTitle:"Teams",ShareSettingsDialogAddButtonTitle:"Add",ShareSettingsDialogUsersTableEmptyTitleText:"No users selected",ShareSettingsDialogDepartmentsTableEmptyTitleText:"No departments selected",ShareSettingsDialogTeamsTableEmptyTitleText:"No teams selected",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"Template",ReviewAccess:"Reviewers",Assignees:"Assignees"},AccessDialogAccessSettingsTemplateInfoText:"Template access:
Select users, departments and teams that will have access to this form template.",AccessDialogAccessSettingsReviewTemplateInfoText:"Reviewer access:
Select users, departments and teams that will have access to review results in forms created by this template. This can also be done manually later while creating a form from this template.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"Form assignees:
Select users, departments and teams that will be automatically assigned to forms created by this template. This can also be done manually later while creating a form from this template.",AccessDialogAccessSettingsReviewInfoText:"Reviewer access:
Select users, departments and teams that will have access to review the results of this form.",AccessDialogAccessSettingsAssigneesInfoText:"Form assignees:
Select users, departments and teams that will be assigned to this form.",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"Form assignees:
The selected form type \"Request to manager\" will automatically add the employees manager as the form assignee.",AccessDialogAccessSettingsTitleText:"Access settings:",AccessDialogAccessSettingsCloseButtonTitle:"Close",AccessDialogAccessSettingsAddButtonTitleText:"Add",AccessDialogAccessSettingsPeopleTableTitleText:"Users with access:",AccessDialogAccessSettingsDepartmentsTableTitleText:"Department with access:",AccessDialogAccessSettingsTeamsTableTitleText:"Teams with access:",AccessDialogAccessSettingsManagerAssignedTableTitleText:"Managers assigned:",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"Users assigned:",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"Department assigned:",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"Teams assigned:",AccessDialogAccessSettingsCreatorTagText:"Creator",AccessDialogAccessSettingsUsersTableEmptyTitleText:"No users selected",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"No departments selected",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"No teams selected",AccessDialogAccessSettingsSingleResponderRequiredText:"Single responder required.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"Readonly: Single responder required.",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"Anonymous responses:",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"If selected all forms created from this template will have anonymous responses.",AccessDialogAccessSettingsAnonymousResponsesText:"Set anonymous responses.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"Readonly: This value can only be set in the template.",AccessDialogAccessSettingsAnonymousUserNameText:"Anonymous user",AccessDialogResponsesEmptyResponseText:"No user input",AccessDialogResponsesNoFileAttachedResponseText:"No file attached",AccessDialogMaxAssigneesAlert:{TitleText:"Max assignees reached",DesciptionText:"This form type allows only one assignee, please remove other assignees if you would like to change the assignee.",Button1Title:"OK"},WidgetsGenericLoadinMessageText:"Loading...",PhoneWidgetTitleText:"Calls",PhoneWidgetSearchFieldPlaceholderText:"Search",PhoneWidgetCallLogButtonTitleText:"Call log",PhoneWidgetContactsButtonTitleText:"Contacts",PhoneWidgetNoIntemsFound:"No items found...",ShiftButtonWidgetTitleText:"Shift clock",ShiftButtonWidgetStartTimeText:"Shift started on",ShiftButtonWidgetStartTimeAtText:"at",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"Current shift",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"Current break",ShiftButtonWidgetStartBreakButtonText:"Start break",ShiftButtonWidgetEndBreakButtonText:"End break",EmailWidgetTitleText:"Emails",EmailWidgetSearchFieldPlaceholderText:"Search",EmailWidgetNoIntemsFound:"No items found...",EmailWidgetTableFooterText:"See all messages...",CalendarWidgetTitleText:"Calendar",CalendarWidgetNoItemsFoundTableItemText:"No events today...",CalendarWidgetAllDayEventTitleText:"All day",OpenFormsWidgetTitleText:"Open forms",BookmarkedFormsWidgetTitleText:"Form templates",NewsWidgetTitleText:"Latest news",CalculatorWidgetTitleText:"Calculator",WeatherWidgetTitleText:"Weather",WeatherWidgetWaitingForLocationText:"Waiting for location...",WeatherWidgetWindSpeedUnits:"km/h",KioskCustomerSurveyWidgetTitleText:"Customer survey",KioskCustomerSurveyWidgetTotalText:"Total submissions",KioskCustomerSurveyWidgetThisMonthText:"Submissions",KioskCustomerSurveyWidgetAllTimeAverageText:"All time average",KioskCustomerSurveyWidgetThisMonthAverageText:"This months average",AdminViewTitleText:"Admin Console",SQLStatsViewTitleText:"SQL Server Stats",WebStatsViewTitleText:"Web Server Stats",CookiemanagementViewTitleText:"Cookie Management",LanguagemanagementViewTitleText:"Language management",LocationAutocompleteInputPlaceholderText:"Enter a location...",ShiftToggleSwitchStartText:"Start shift",ShiftToggleSwitchStopText:"End shift",ShiftToggleSwitchAlertStartShiftTitle:"Start new shift",ShiftToggleSwitchAlertStartShiftAlertText:"Ready to start your shift?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"Please choose a position:",ShiftToggleSwitchAlertStartShiftButton1Title:"Yes",ShiftToggleSwitchAlertStartShiftButton2Title:"No",ShiftToggleSwitchAlertStopShiftTitle:"End Shift?",ShiftToggleSwitchAlertStopShiftAlertText:"Are you sure you would like to end your shift?",ShiftToggleSwitchAlertStopShiftAlertButton1:"Yes",ShiftToggleSwitchAlertStopShiftAlertButton2:"No"} if(typeof Strings=='undefined'){Strings={};} var ES={Language:"Español",LocalLanguage:"Español",initials:"ES",Direction:"ltr",FlagIcon:'/assets/images/flags/flag_es.png',LanguageMenuTitle:"Menú de Idiomas",EmojiTitleStrings:{Recent:"Artículos Recientes",People:"Emojis y Personas",Nature:"Animales y Naturaleza",Food:"Comida y Bebida",Activities:"Actividad",Travel:"Viajes y Lugares",Objects:"Objetos",Symbols:"Símbolos",Flags:"Banderas"},MonthsOfYear:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],DaysOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],DaysOfWeekShortHand:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],DateAndTimeYesterday:"Ayer",DateAndTimeToday:"Hoy",DateAndTimeTomorrow:"Mañana",DateAndTimeByText:"por",DateAndTimeLastText:"Último",HourSymbol:"h",MinuteSymbol:"m",ApplicationEnableNotificationsAlert:{Title:"Habilitar notificaciones",Description:"Por favor, permita que dailyreport le envíe notificaciones.",Button1Title:"Aceptar",},TitleBarLoginButtonText:"Iniciar sesión",NavigationMenuTitle:"Menú principal",MenuItemTitles:{Dashboard:"Panel",Insights:"Análisis",News:"Noticias",Events:"Eventos",Timetracking:"Control de tiempo",Tasks:"Tareas",Forms:"Formularios",Scheduling:"Planificación",Calendar:"Calendario",Directory:"Directorio",Chat:"Chat",Mailbox:"Correo",Clouddrive:"Nube",Profile:"Perfil",Settings:"Ajustes",Admin:"Admin",Logout:"Cerrar sesión"},MenuWelcomeText:"Hola",SettingsMenuItemTitles:{UserPreferences:"Preferencias de usuario",Profile:"Perfil",UserSettings:"Ajustes",Security:"Seguridad",UserManagement:"Gestión de usuarios",UserAccounts:"Usuarios",GroupManagement:"Grupos",PositionsManagement:"Roles",LocationsManagement:"Ubicaciones",TimetrackingAndSchedulingManagement:"Gestión de tiempo",TimetrackingManagement:"Control de tiempo",SchedulingManagement:"Planificación",ContentManagement:"Gestión de contenidos",NewsManagement:"Noticias",EventsManagement:"Eventos",TaskManagement:"Gestión de tareas",TasksManagement:"Tareas",FormsManagement:"Formularios",KioskManagement:"Gestión de quiosco",Kiosks:"Quioscos",Admin:"Admin",WebServer:"Servidor Web",SQLServer:"Servidor SQL",CookieManagement:"Gestión de cookies",LanguageManagement:"Gestión de idiomas",Info:"Info de la aplicación",About:"Acerca de",License:"Licencia, ToS y RGPD"},HomeViewHeaderText:"Próximamente",HomeViewSecondaryHeaderText:"Algo asombroso se está cocinando aquí...
Vuelva a consultarnos en un par de semanas.",HomeViewLoginButtonText:"Iniciar sesión para comenzar",AboutViewTitleText:"Acerca de",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"Información de la aplicación",AboutViewApplicationVersionTitleText:"Versión",AboutViewApplicationBuildTitleText:"Build",AboutViewApplicationCommitTitleText:"Commit",AboutViewApplicationBuildDateTitleText:"Fecha de creación",AboutViewApplicationQRCodeTitleText:"Código QR",AboutViewApplicationQRCodeInfoText:"Escanee para iniciar la aplicación móvil",AboutViewApplicationDownloadNativeAndroid:"Descargar aplicación Android",AboutViewApplicationDownloadNativeiOS:"Descargar aplicación iOS",EulaViewTitleText:"Contrato de licencia",EulaViewInfoTitleText:"Contrato de licencia de software",EulaViewTocTitleText:"Tabla de contenidos",LoginViewLoginTitleText:"Iniciar sesión",LoginViewDefaultMessageText:"Iniciemos sesión para poder empezar...",LoginViewUsernamePlaceHolderText:"Correo o número de teléfono",LoginViewPasswordPlaceHolderText:"Contraseña",LoginViewLoginButtonText:"Iniciar sesión",LoginViewResetPasswordButtonText:"¿Olvidó su contraseña? Haga clic aquí",LoginViewLoginError1MessageText:"Correo o teléfono inválido, intente de nuevo",LoginViewLoginError2MessageText:"Contraseña inválida, la contraseña debe tener al menos 6 caracteres",LoginViewLoginError3MessageText:"Credenciales inválidas, intente de nuevo",ResetpasswordViewTitleText:"Restablecer contraseña",ResetpasswordViewDefaultResetMessageText:"Ingrese sus credenciales para restablecer su contraseña",ResetpasswordViewUsernamePlaceHolderText:"Correo o número de teléfono",ResetpasswordViewResetButtonText:"Enviar enlace",ResetpasswordViewLoginButtonText:"¿Ya tiene una cuenta? Haga clic aquí",ResetpasswordViewInvalidUsernameErrorMessageText:"Correo o número de teléfono inválido, intente de nuevo",UpdatepasswordViewTitleText:"Actualizar contraseña",UpdatepasswordViewDefaultUpdateMessageText:"Ingrese su nueva contraseña",UpdatepasswordViewPasswordPlaceHolderText:"Nueva contraseña",UpdatepasswordViewUpdateButtonText:"Actualizar contraseña",UpdatepasswordViewLoginButtonText:"¿Ya tiene una cuenta? Haga clic aquí",UpdatepasswordViewInvalidUsernameErrorMessageText:"Contraseña inválida, intente de nuevo",RegisterViewTitleText:"Registrarse",RegisterViewDefaultMessageText:"Vamos a registrarte...",RegisterViewPasswordPlaceHolderText:"Por favor, ingrese una nueva contraseña",RegisterViewPassword2PlaceHolderText:"Por favor, reingrese su contraseña",RegisterViewMessageHolderTitleText:"La contraseña debe contener lo siguiente:",RegisterViewMessageHolderLowercaseTitleText:"• Una letra minúscula",RegisterViewMessageHolderUppercaseTitleText:"• Una letra mayúscula",RegisterViewMessageHolderNumberTitleText:"• Un número",RegisterViewMessageHolderLengthTitleText:"• Mínimo 8 caracteres",RegisterViewPasswordMissmatchMessageText:"Las contraseñas no coinciden",RegisterViewPasswordInvalidMessageText:"Contraseña inválida, intente de nuevo",RegisterViewRegisterButtonText:"Registrarse",DashboardViewTitleText:"Panel",DashboardViewTitleMenuResetButtonText:"Restablecer diseño",DashboardViewTitleMenuSetBackgroundButtonText:"Establecer imagen de fondo",InsightsViewTitleText:"Análisis",InsightsViewTitleMenuResetButtonText:"Restablecer diseño",InsightsViewTitleMenuSetBackgroundButtonText:"Establecer imagen de fondo",NewsViewTitleText:"Noticias",NewsViewNewsArticlePublishedTitleText:"Publicado el ",NewsViewNoItemsFoundTableItemText:"No se encontraron artículos de noticias...",NewseditorViewTitleText:"Editor de Noticias",NewseditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},NewseditorViewDeleteArticleAlert:{Title:"¿Eliminar artículo?",Description:"¿Está seguro de que desea eliminar este artículo?",Button1Title:"Eliminar",Button2Title:"Cancelar",},NewsmanagementViewTitleText:"Gestión de noticias",NewsmanagementViewSearchFieldPlaceholderText:"Buscar",NewsmanagementViewSearchBarSearchButtonTitleText:"Buscar",NewsmanagementViewNewsArticlePublishedTitleText:"Publicado el ",NewsmanagementViewNewsArticleUnPublishedTitleText:"No publicado",NewsmanagementViewNoItemsFoundTableItemText:"No se encontraron artículos de noticias...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"Nuevo artículo"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"Editar",DuplicateButtonTitleText:"Duplicar",PublishButtonTitleText:"Publicar",UnPublishButtonTitleText:"Despublicar",DeleteButtonTitleText:"Eliminar"},NewsmanagementViewSearchBarInfoTextPart1:"Mostrando",NewsmanagementViewSearchBarInfoTextPart2:"de",NewsmanagementViewSearchBarInfoTextPart3:"artículos",NewsmanagementViewDeleteArticleAlert:{Title:"¿Eliminar artículo?",Description:"¿Está seguro de que desea eliminar este artículo?",Button1Title:"Eliminar",Button2Title:"Cancelar",},EventsViewTitleText:"Eventos",EventsmanagementViewTitleText:"Gestión de eventos",EventsmanagementViewSearchFieldPlaceholderText:"Buscar",EventsmanagementViewSearchBarSearchButtonTitleText:"Buscar",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Nuevo evento"},EventeditorViewTitleText:"Editor de eventos",EventeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},ChatViewContactsTitleBarText:"Chat",ChatViewContactsSearchBarText:"Buscar",ChatViewMessagesPlaceholderText:"Por favor, elija un chat para comenzar o haga clic en el signo [+] para iniciar un nuevo chat",ChatViewMessagesTitleBarInfoPrefixText:"Última actualización",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"Última vez visto",ChatViewMessagesTitleBarInfoOnlineText:"En línea",ChatViewDeleteMessageAlertTitle:"¿Eliminar grabación?",ChatViewDeleteMessageAlertText:"¿Está seguro de que desea eliminar su grabación?",ChatViewDeleteMessageAlertButton1:"Sí",ChatViewDeleteMessageAlertButton2:"No",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"Llamada de voz",StartVideoCallButtonTitleText:"Videollamada",ShowChatDetailsButtonTitleText:"Detalles del chat"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"Enviar foto",FileMenuItemTitle:"Enviar archivo"},ChatViewSystemMessages:{GroupCreated:"Chat creado en",GroupPictureUpdated:"Imagen de grupo actualizada en",GroupNameUpdated:"Nombre de grupo actualizado en",MemberLeft:"ha dejado el grupo",MemberJoined:"se ha unido al grupo",},ChatViewChatEmptyChatGroupItemText:"No se encontraron miembros o grupos...",ChatViewChatGroupItemGroupCreatedByText:"Chat iniciado por",ChatViewChatGroupItemGroupPhotoUpdatedByText:"Foto de chat actualizada por",ChatViewChatGroupItemGroupNameUpdatedByText:"Nombre de chat actualizado por",ChatViewChatGroupItemMemberLeftText:"dejó el grupo",ChatViewChatGroupItemMemberJoinedText:"se unió al grupo",ChatViewChatGroupItemGroupSentAFileText:"envió un archivo",ChatViewChatGroupItemGroupSentAnImageText:"envió una imagen",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"envió una grabación",ChatViewChatGroupItemGroupMessageDeletedText:"eliminó un mensaje",ChatViewChatGroupItemGroupMessageReactionText:"reaccionó ___ a un mensaje",ChatViewChatMessageItemForwardedText:"reenviado",ChatMessageItemDeletedMessage:"Mensaje eliminado",ChatMessageItemMissedVoiceCallText:"Llamada de voz perdida",ChatMessageItemMissedVideoCallText:"Videollamada perdida",ChatMessageItemUnansweredVideoCallText:"Videollamada no contestada",ChatMessageItemUnansweredVoiceCallText:"Llamada de voz no contestada",ChatMessageItemVoiceCallText:"Llamada de voz",ChatMessageItemVideoCallText:"Videollamada",ChatMessageItemReactionTableTitleText:"Reacciones:",ChatMessageItemTapToRemoveReactionText:"Toca para eliminar",NewchatViewTitleText:"Nuevo chat",NewchatViewCreateNewGroupButtonText:"Crear nuevo grupo",NewchatViewCreateNewGroupOrText:"o seleccione un contacto",NewchatViewContactsTableTitle:"Contactos",NewchatViewMembersTableTitle:"Miembros",NewchatViewCreateNewGroupTitleText:"Crear un nuevo grupo",NewchatViewMembersTableSearchFieldPlaceholderText:"Buscar",NewchatViewCreateNewGroupTitleInputPlaceholderText:"Título del grupo",NewchatViewCreateGroupButtonText:"Crear grupo",NewchatViewTitleBarMenu:{SaveButtonTitleText:"Guardar",CloseButtonTitleText:"Cerrar"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"Título inválido",NewchatViewCreateNewChatInvalidTitleAlertText:"Por favor, ingrese un título para el nuevo grupo",NewchatViewCreateNewChatInvalidTitleAlertButton:"Aceptar",NewchatViewCreateNewChatNoMembersAlertTitle:"Sin miembros seleccionados",NewchatViewCreateNewChatNoMembersAlertText:"Por favor, seleccione al menos un miembro para el nuevo grupo",NewchatViewCreateNewChatNoMembersAlertButton:"Aceptar",ChatdetailsViewTitleText:"Detalles del chat",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"Cambiar imagen",ChangeGroupNameButtonTitleText:"Actualizar nombre",AddMemberButtonTitleText:"Añadir miembros",DeleteGroupButtonTitleText:"Eliminar grupo",ExitGroupButtonTitleText:"Dejar grupo",CloseButtonTitleText:"Cerrar"},ChatdetailsViewExitGroupAlert:{Title:"¿Dejar el grupo?",Description:"¿Está seguro de que desea dejar este grupo? No tendrá acceso a ningún mensaje o dato de este grupo una vez que salga.",Button1Title:"Salir",Button2Title:"Cancelar",},ChatdetailsViewDeleteGroupAlert:{Title:"¿Eliminar grupo?",Description:"ESTA ACCIÓN AFECTA A TODOS LOS MIEMBROS DEL GRUPO
¿Está seguro de que desea eliminar este grupo? Esta acción no se puede deshacer y perderá todos los mensajes del grupo, imágenes compartidas y archivos.",Button1Title:"Eliminar",Button2Title:"Cancelar",},ChatDetailsViewMembersTableTitle:"Miembros",ChatDetailsViewMembersTitle:"Miembros en el grupo",ChatDetailsViewCreatedOnText:"Creado el",ChatDetailsViewCreatedByText:"Creado por",ChatDetailsGroupMediaTitleText:"Archivos multimedia del grupo",ChatDetailsGroupMediaImagesButtonTitleText:"Imágenes",ChatDetailsGroupMediaFilesButtonTitleText:"Archivos",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"Buscar",ChatDetailsViewMembersTableItemAdminTitle:"admin",ChatDetailsViewAdminMembersTableTitle:"Administradores",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"Hacer administrador",UnsetAdminButtonTitleText:"Quitar como administrador",RemoveFromGroupButtonTitleText:"Quitar del grupo",},CallViewTitleText:"Llamada",CallViewTitleBarMenu:{HangupButtonTitleText:"Colgar"},CallViewIncomingVoiceCallText:"Llamada de voz entrante",CallViewIncomingVideoCallText:"Videollamada entrante",CallViewRemovePeerOnAnotherCallText:"está en otra llamada",CallViewCallRejectedText:"La llamada fue rechazada",CallViewCallNotAnsweredText:"Llamada no contestada",CallViewMissedCallText:"Llamada perdida",CallViewCallEndedText:"Llamada terminada",CallViewOutgoingCallText:"Llamando",CallViewCallDurationText:"Duración",CallViewLowReceptionWarningText:"Baja recepción wifi o celular, intentando reconectar...",TimetrackingViewTitleText:"Control de tiempo",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"Nuevo turno",NewAbsenceRequestText:"Nueva solicitud de ausencia",PrintButtonTitleText:"Imprimir",ExportButtonTitleText:"Exportar"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"Imprimir",ExportButtonTitleText:"Exportar",CloseButtonTitleText:"Cerrar"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"Hoy",Timesheets:"Partes de horas",MyReport:"Mi informe",AbsenceRequests:"Ausencias"},TimeTrackingViewNoItemsFoundText:"No se encontraron artículos...",TimeTrackingViewNoActiveShiftsFoundText:"No se encontraron turnos...",TodaySheetStartTimeTitleText:"Hora de inicio",TodaySheetEndTimeTitleText:"Hora de fin",TodaySheetCurrentDurationTitleText:"Duración actual",TodaySheetTotalDurationTitleText:"Duración total",TodaySheetStatusTitleText:"Estado",TodaySheetStatusWorkingTitleText:"Trabajando",TodaySheetStatusOnABreakTitleText:"En un descanso",TodaySheetStatusOffTitleText:"Fuera del trabajo",TodaySheetWorkingFromTitleText:"Trabajando desde",TodaySheetUnknownLocation:"Ubicación desconocida",TodayssheetStartedYesterdayText:"Empezó ayer a las",TodayssheetStartedTodayText:"Empezó hoy a las",TodayssheetFinishedTodayText:"Terminó hoy a las",TodayssheetTotalShiftDurationText:"Duración total",TodayssheetCurrentShiftDurationText:"Duración actual",TodayssheetFooterInfoHolder:{OnABreak:"En descanso",Active:"Activo",Shifts:"Turnos",Employees:"Empleados"},TimeSheetSearchFieldPlaceholderText:"Buscar",TimeSheetSearchBarToText:"a",TimesheetInvalidDateAlertTitle:"Fechas seleccionadas inválidas",TimesheetInvalidDateAlertDatesSwitchedMessage:"Por favor, asegúrese de que la fecha de inicio sea anterior a la fecha de fin.",TimesheetInvalidDateButton:"Aceptar",TimesheetSearchFieldInfoShowingText:"Mostrando",TimesheetsheetSearchFieldInfoResultsText:"resultados",TimesheetTableTitleItems:{Name:"Nombre",TotalHours:"Horas totales",TotalShifts:"Turnos totales",Days:"Días",Absence:"Ausencia",Issues:"Problemas"},EmployeesheetSearchFieldInfoShowingText:"Mostrando",EmployeesheetSearchFieldInfoResultsText:"resultados",EmployeesheetInvalidDateAlertTitle:"Fechas seleccionadas inválidas",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"Por favor, asegúrese de que la fecha de inicio sea anterior a la fecha de fin.",EmployeesheetInvalidDateButton:"Aceptar",EmployeesheetTableTitleItems:{Date:"Fecha",Position:"Puesto",StartTime:"Hora de inicio",EndTime:"Hora de fin",TotalTime:"Tiempo total",BreakTime:"Tiempo de descanso",Issues:"Estado"},EmployeesheetTableInfoTotalShiftsTitleText:"Turnos totales",EmployeesheetTableInfoWorkedHoursTitleText:"Horas trabajadas",EmployeesheetTableInfoBreakHoursTitleText:"Horas de descanso",EmployeesheetTableInfoAbsenceTitleText:"Días de ausencia",EmployeesheetTableInfoHasIssuesYes:"Pendiente",EmployeesheetTableInfoHasIssuesApproved:"Aprobado",EmployeesheetTableInfoHasIssuesRejected:"Rechazado",EmployeesheetTableInfoHasIssuesNo:"Sin problemas",AbsencerequestSearchFieldPlaceholderText:"Buscar",AbsencerequestSearchBarToText:"a",AbsencerequestSearchBarSearchButtonTitleText:"Buscar",AbsencerequestsTableTitleItems:{Name:"Nombre",Type:"Tipo",Dates:"Fechas",RequestedOn:"Solicitado el",Status:"Estado"},AbsencerequestsTableItemStatus:{Approved:"Aprobado",Rejected:"Denegado",Pending:"Pendiente"},AbsencerequestFilterMenuItems:{All:"Todo",MyRequests:"Mis solicitudes",EmployeeRequests:"Solicitudes de empleados"},AbsencerequestsTableItemRejectedText:"Denegado",AbsencerequestsInvalidDateAlertTitle:"Fechas seleccionadas inválidas",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"Por favor, asegúrese de que la fecha de inicio sea anterior a la fecha de fin.",AbsencerequestsInvalidDateButton:"Aceptar",AbsencerequestsSearchFieldInfoShowingText:"Mostrando",AbsencerequestsSearchFieldInfoOutOfText:"de",AbsencerequestViewPendingMessageText:"La solicitud está pendiente de aprobación...",AbsencerequestViewApprovedMessageText:"¡La solicitud ha sido aprobada!",AbsencerequestViewDeniedMessageText:"La solicitud ha sido denegada.",AbsencerequestViewTitleText:"Solicitud de ausencia",AbsencerequestViewFormTitleText:"Solicitud de tiempo libre",AbsencerequestViewFormInfoText:"Por favor, complete el siguiente formulario y envíelo para su aprobación.",AbsencerequestViewFormEmployeeNameTitleText:"Nombre del empleado",AbsencerequestViewFormRequestTypeTitleText:"Tipo de solicitud",AbsencerequestViewFormStartDateTitleText:"Fecha de inicio",AbsencerequestViewFormEndDateTitleText:"Fecha de fin",AbsencerequestViewFormRequestNoteTitleText:"Razón de su solicitud",AbsencerequestViewFormResponseNoteTitleText:"Respuesta del gerente",AbsencerequestViewFormApprovedByTitleText:"Nombre del gerente",AbsencerequestViewFormApprovalDateTitleText:"Respondido el",AbsencerequestViewFormRequiredDocumentsTitleText:"Documentos requeridos",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"No hay documentos adjuntos...",AbsencerequestViewFormApproveButtonTitleText:"Aprobar",AbsencerequestViewFormRejectButtonTitleText:"Denegar",AbsencerequestViewFormSubmitButtonTitleText:"Enviar",AbsenceReqestTypes:{TimeOff:"Tiempo libre",SickLeave:"Baja médica"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"Enviar",NewButtonTitleText:"Nuevo",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},AbsencerequestViewDeleteRequestAlert:{TitleText:"¿Eliminar solicitud?",MessageText:"¿Está seguro de que desea eliminar esta solicitud?",Button1Title:"Eliminar",Button2Title:"Cancelar"},AbsencerequestViewFormNotFoundTitleText:"Formulario no encontrado",AbsencerequestViewFormNotFoundInfoText:"El formulario que busca no existe, es posible que haya sido eliminado...",AbsencerequestViewFormValidationAlert:{TitleText:"Fechas seleccionadas inválidas",InfoTextDatesSwitchedMessage:"Por favor, asegúrese de que la fecha de inicio sea anterior a la fecha de fin.",InfoTextInvalidStartDateMessage:"La fecha de inicio es inválida, por favor intente de nuevo.",InfoTextInvalidEndDateMessage:"La fecha de fin es inválida, por favor intente de nuevo.",Button1Title:"Aceptar",},ShifteditorViewTitleText:"Editor de turnos",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},ShifteditorViewPendingMessageText:"El turno está pendiente de aprobación...",ShifteditorViewApprovedMessageText:"¡El turno ha sido aprobado!",ShifteditorViewDeniedMessageText:"El turno ha sido rechazado.",ShifteditorViewEmployeeNameTitleText:"Nombre del empleado",ShifteditorViewEmployeePositionTitleText:"Puesto",ShifteditorViewStartTimeTitleText:"Hora de inicio",ShifteditorViewEndTimeTitleText:"Hora de fin",ShifteditorViewLocationTitleText:"Ubicación",ShifteditorViewLocationUnknownTitleText:"Desconocida",ShifteditorViewBreaksTitleText:"Descansos",ShifteditorViewBreaksAddButtonText:"Añadir",ShifteditorViewIssuesTitleText:"Problemas",ShifteditorViewDeleteShiftAlert:{Title:"¿Eliminar turno?",Description:"¿Está seguro de que desea eliminar este turno?",Button1Title:"Eliminar",Button2Title:"Cancelar",},ShifteditorViewDeleteBreakAlert:{Title:"¿Eliminar descanso?",Description:"¿Está seguro de que desea eliminar este descanso?",Button1Title:"Eliminar",Button2Title:"Cancelar",},ShifteditorViewFormIncompleteAlert:{Title:"Información de turno incompleta",InfoTextInvalidStartTime:"La hora de inicio del turno es inválida, por favor llénela correctamente e intente de nuevo.",InfoTextInvalidEndTime:"La hora de fin del turno es inválida, por favor llénela correctamente e intente de nuevo.",InfoTextInvalidBreakStartTime:"La hora de inicio del descanso es inválida, por favor llénela correctamente e intente de nuevo.",InfoTextInvalidBreakEndTime:"La hora de fin del descanso es inválida, por favor llénela correctamente e intente de nuevo.",InfoTextInvalidNotesLength:"Sus notas son demasiado largas, la longitud máxima es de 512 caracteres...",Button1Title:"Aceptar",},ShifteditorViewNoBreakItemsFoundText:"No se encontraron descansos para este turno...",ShifteditorViewNoIssuesFoundText:"No se encontraron problemas...",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"Turno iniciado sin compartir ubicación.",ShiftEndedWithNoLocationData:"Turno finalizado sin compartir ubicación.",ShiftStartedOutsideOfLocation:"Turno iniciado fuera de las ubicaciones definidas del empleado.",ShiftEndedOutsideOfLocation:"Turno finalizado fuera de la ubicación definida del empleado.",ShiftCreatedManually:"Turno creado manualmente.",ShiftDataWasEdited:"Los datos del turno fueron editados manualmente.",},ShifteditorViewManagerTitleText:"Gerente",ShifteditorViewRespondedAtTitleText:"Respondido el",ShifteditorViewNotesTitle:"Notas",ShifteditorViewManagerNotesTitle:"Notas del gerente",ShifteditorViewApproveButtonTitleText:"Aprobar",ShifteditorViewRejectButtonTitleText:"Rechazar",TimetrackingmanagementViewTitleText:"Control de tiempo",TimetrackingmanagementViewSearchFieldPlaceholderText:"Buscar",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"Buscar",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nuevo"},TasksViewTitleText:"Tareas",TasksViewTabBarMenuItemTitleText:{MyTasks:"Asignadas a mí",CreatedTasks:"Creadas por mí"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"Nueva tarea"},TasksViewSearchBarGroupByTitleText:"Agrupar por",TasksViewSearchBarFilterTitleText:"Mostrar",TasksViewSearchBarFilterShowAllTitleText:"Todo",TasksViewSearchBarInfoTextPart1:"Mostrando",TasksViewSearchBarInfoTextPart2:"de",TasksViewSearchBarInfoTextPart3:"tareas",TasksViewSearchBarGroupByOptions:{Priority:"Prioridad",Tags:"Etiquetas"},TasksViewTaskPriorityList:{High_priority:"Prioridad alta",Medium_priority:"Prioridad media",Low_priority:"Prioridad baja",No_priority:"Sin prioridad"},TasksViewTaskStatusList:{All:"Todo",Open:"Abierto",In_progress:"En progreso",On_hold:"En espera",Cancelled:"Cancelado",Done:"Hecho",Closed:"Cerrado"},TasksViewSearchFieldPlaceholderText:"Buscar",TasksViewTableTitle:{TaskTitle:"Título",TaskDescription:"Descripción",TaskCreationDate:"Fecha de creación",TaskStartDate:"Fecha de inicio",TaskDueDate:"Fecha de vencimiento",TaskStatus:"Estado",TaskAsignees:"Asignado a"},TaskViewTitleText:"Tarea",TaskViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},TaskViewToolbarCreationTimeTitle:"Creado",TaskViewToolbarStartedTimeTitle:"Iniciado",TaskViewToolbarDueTimeTitle:"Vence",TaskViewTaskInfoTitleText:"Título",TaskViewTaskInfoDescriptionTitleText:"Descripción",TaskViewTaskInfoAsigneeTitleText:"Asignado a",TaskViewTaskInfoOwnerTitleText:"Propietario",FormsViewTitleText:"Formularios",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"Nuevo formulario",CreateFormTemplateButtonTitleText:"Nueva plantilla"},FormsViewTabBarMenuItemTitleText:{MyForms:"Mis formularios",SharedForms:"Compartidos conmigo",AssignedToMe:"Asignados a mí",EmptyForms:"Plantillas de formulario"},FormsViewSearchFieldPlaceholderText:"Buscar",FormsViewSearchBarFilterTitleText:"Mostrar",FormsViewFormStatusList:{All:"Todo",Open:"Abierto",Completed:"Completado",Closed:"Cerrado",},FormsViewFormFilterList:{All:"Todo",MyForms:"Mis formularios",SharedForms:"Formularios compartidos",},FormsViewFormsTableTypeTitleText:"Tipo de formulario",FormsViewFormTypes:{1:"Formulario estándar",2:"Encuesta",3:"Solicitud al gerente"},FormsViewSearchBarInfoTextPart1:"Mostrando",FormsViewSearchBarInfoTextPart2:"de",FormsViewSearchBarInfoTextPart3:"formularios",FormsViewFormsTableNameTitle:"Nombre del formulario",FormsViewFormsTableTemplateNameTitle:"Nombre de la plantilla",FormsViewFormsTableCreatorTitle:"Creador",FormsViewFormsTableAssignedToTitle:"Asignado a",FormsViewFormsTableAssignedByTitle:"Asignado por",FormsViewFormsTableCreationTimeTitle:"Hora de creación",FormsViewFormsTableLastModifiedTitle:"Última modificación",FormsViewFormsTableDueTimeTitle:"Fecha de vencimiento",FormsViewFormsTablePublishedTimeTitle:"Publicado el",FormsViewFormsTableCompletionTimeTitle:"Hora de completado",FormsViewFormsTableStatusTitle:"Estado",FormsViewFormsTableTypeTitle:"Tipo de formulario",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Crear formulario",EditButtonTitleText:"Editar plantilla",DuplicateButtonTitleText:"Duplicar plantilla",DeleteButtonTitleText:"Eliminar plantilla"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"Abrir formulario",EditButtonTitleText:"Editar formulario",PublishButtonTitleText:"Publicar formulario",UnpublishButtonTitleText:"Despublicar formulario",DeleteButtonTitleText:"Eliminar formulario"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"Abrir formulario",EditButtonTitleText:"Editar formulario",PublishButtonTitleText:"Publicar formulario",UnpublishButtonTitleText:"Despublicar formulario",DeleteButtonTitleText:"Eliminar formulario"},FormsViewDeleteFormTemplateAlert:{Title:"¿Eliminar plantilla de formulario?",Description:"¿Está seguro de que desea eliminar esta plantilla de formulario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormsViewDeleteFormAlert:{Title:"¿Eliminar formulario?",Description:"¿Está seguro de que desea eliminar este formulario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormsViewPublishFormAlert:{Title:"¿Publicar formulario?",Description:"¿Está seguro de que desea publicar este formulario? Una vez publicado, todos los usuarios asignados al formulario y todos los usuarios con acceso de revisión verán el formulario.",Button1Title:"Publicar",Button2Title:"Cancelar",},FormsViewUnpublishFormAlert:{Title:"¿Despublicar formulario?",Description:"¿Está seguro de que desea despublicar este formulario? Esto afectará a todos los usuarios con acceso de revisión y a los usuarios asignados al formulario.",Button1Title:"Despublicar",Button2Title:"Cancelar",},FormsViewNoItemsFoundTableItemText:"No se encontraron artículos...",FormViewTitleText:"Formulario",FormViewTitleBarMenu:{SaveButtonTitleText:"Guardar",PublishButtonTitleText:"Publicar formulario",UnpublishButtonTitleText:"Despublicar formulario",SubmitButtonTitleText:"Enviar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},FormViewAlertPanel:{AlertNoNameTitleText:"Nombre del formulario",AlertNoNameDescription:"Por favor, ingrese un nombre para el formulario",Button1Title:"Aceptar",},FormViewFormNamePlaceholderText:"Por favor, ingrese un nombre de formulario",FormViewSubmitButtonTitleText:"Enviar",FormViewPublishButtonTitleText:"Publicar",FormViewUnpublishButtonTitleText:"Despublicar",FormViewMenubarQuestionsButtonTitleText:"Formulario",FormViewMenubarResponsesButtonTitleText:"Respuestas",FormViewMenubarSettingsButtonTitleText:"Ajustes",FormViewResponsesDialogTitleText:"Respuestas:",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"Resumen",Responses:"Respuestas"},FormViewResponsesDialogTitleCompletionRateText:"Tasa de completado:",FormViewResponsesDialogMembersListTitleText:"Estado de completado:",FormViewResponsesDialogMembersListCompletedBadgeText:"Completado",FormViewResponsesDialogNoResponsesMessageText:"No hay respuestas disponibles, una vez que los asignados completen el formulario podrá revisar sus respuestas y un resumen completo aquí...",FormViewResponsesDialogResponsesSummeryTitleText:"Resumen de respuestas:",FormViewFormNotValidAlert:{Title:"Formulario no enviado",Description:"El formulario no está completo, tiene campos obligatorios que no han sido llenados.",Button1Title:"Aceptar",},FormreaderViewTitleText:"Formulario",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"Guardar borrador",SubmitTitleText:"Enviar",CloseButtonTitleText:"Cerrar"},FormreaderViewSubmitButtonTitleText:"Enviar",FormreaderViewFormCompletedInfoText:"Este formulario ya ha sido enviado.",FormreaderViewFormClosedInfoText:"Este formulario ya ha sido cerrado.",FormreaderViewFormNotFoundTitleText:"Formulario no encontrado",FormreaderViewFormNotFoundInfoText:"El formulario que busca no existe, es posible que haya sido eliminado...",FormreaderViewFormNotValidAlert:{Title:"Formulario no enviado",Description:"El formulario no está completo, tiene campos obligatorios que no han sido llenados.",Button1Title:"Aceptar",},FormreaderViewAnonymousFormInfoText:"Este formulario es anónimo y no presentará su información personal.",SchedulingViewTitleText:"Planificación",SchedulingmanagementViewTitleText:"Planificación",SchedulingmanagementViewSearchFieldPlaceholderText:"Buscar",SchedulingmanagementViewSearchBarSearchButtonTitleText:"Buscar",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nuevo"},CalendarViewTitleText:"Calendario",CalendarViewLayoutPickerDayTitleText:"Día",CalendarViewLayoutPickerWeekTitleText:"Semana",CalendarViewLayoutPickerMonthTitleText:"Mes",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"Nuevo evento",CreateCalendarButtonTitleText:"Nuevo calendario"},CalendarViewMyCalendarsTitleText:"Mis calendarios",CalendarViewSharedCalendarsTitleText:"Calendarios compartidos",CalendareditorViewTitleText:"Editor de calendario",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},CalendareventeditorViewTitleText:"Editor de eventos",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},MailboxViewTitleText:"Correo",MailboxViewNavigationBarInboxTitleText:"Bandeja de entrada",MailboxViewComposeButtonTitle:"Componer",MailboxViewTitleBarMenu:{NewButtonTitleText:"Nuevo",},MailboxViewTableItemMenu:{ReplyButtonTitleText:"Responder",ForwardButtonTitleText:"Reenviar",DeleteButtonTitleText:"Eliminar"},MailboxViewEmptyTableItemText:"No se encontraron artículos...",MailboxViewNavigationBarInfoTextPart1:"Mostrando",MailboxViewNavigationBarInfoTextPart2:"de",MailboxViewNavigationBarInfoTextPart3:"resultados",MailboxViewFolderListTitleText:"Carpetas",MailboxViewSystemMailboxNames:{INBOX:"Bandeja de entrada",SENT:"Enviados",DRAFTS:"Borradores",SPAM:"Spam",DELETED:"Eliminados"},EmailViewTitleText:"Correo electrónico",EmailViewTitleBarMenu:{NewButtonTitleText:"Nuevo",ReplyButtonTitleText:"Responder",ForwardButtonTitleText:"Reenviar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},EmailViewAttachementFooterTitle:"Adjuntos",EmailViewAttachmentMenu:{DownloadButtonTitleText:"Descargar",SaveToDriveButtonTitleText:"Guardar en Drive",},EmaileditorViewTitleText:"Redactar correo",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"Enviar",SaveButtonTitleText:"Guardar",NewButtonTitleText:"Nuevo",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},MailboxsettingsViewTitleText:"Configuración del buzón",MailboxsettingsViewSearchFieldPlaceholderText:"Buscar",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"Crear alias"},MailboxsettingseitorViewTitleText:"Editor de configuración del buzón",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},ClouddriveViewTitleText:"Nube",ClouddriveViewNavigationBarTitleText:"Unidad",ClouddriveViewNavigationBarInfoText1:"Mostrando",ClouddriveViewNavigationBarInfoText2:"artículos",ClouddriveViewTotalFilesInfoText:"Mis archivos",ClouddriveViewTotalSizeInfoText:"Tamaño",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"Buscar",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"Nueva carpeta",UploadButtonTitleText:"Subir archivo",RenameFolderButtonTitleText:"Renombrar carpeta",DeleteFolderButtonTitleText:"Eliminar carpeta",UpdateFolderSettingsButtonTitleText:"Ajustes de carpeta"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"Renombrar",DownloadButtonTitleText:"Descargar",MoveButtonTitleText:"Mover",StarButtonTitleText:"Destacar",UnstarButtonTitleText:"Quitar de destacados",DeleteButtonTitleText:"Eliminar",SettingsButtonTitleText:"Ajustes"},ClouddriveViewDeleteFileAlert:{DeleteTitle:"¿Eliminar artículo?",DeleteBody:"¿Está seguro de que desea eliminar este artículo? Si es una carpeta, se eliminará todo el contenido. ¡Esta acción no se puede deshacer!",Button1Title:"Eliminar",Button2Title:"Cancelar"},ClouddriveViewSidebarListItems:{MyFiles:"Mis archivos",SharedWithMe:"Compartido conmigo",Starred:"Archivos destacados"},PreviewViewTitleText:"Previsualizar",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"Descargar",RenameFileButtonTitleText:"Renombrar archivo",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},PreviewViewDeleteFileAlert:{DeleteTitle:"¿Eliminar artículo?",DeleteBody:"¿Está seguro de que desea eliminar este artículo? Si es una carpeta, se eliminará todo el contenido. ¡Esta acción no se puede deshacer!",Button1Title:"Eliminar",Button2Title:"Cancelar"},DirectoryViewTitleText:"Directorio",DirectoryViewContactsListTitle:"Lista de contactos",DirectoryViewSearchFieldPlaceholderText:"Buscar",DirectoryViewStartChatText:"Enviar mensaje de chat",DirectoryViewPhoneText:"Teléfono",DirectoryViewEmailText:"Correo",DirectoryViewStartVoiceCallText:"Iniciar llamada de voz",DirectoryViewStartVideoCallText:"Iniciar videollamada",DirectoryViewContactsPlaceholderText:"Por favor, seleccione un contacto",DirectoryViewContactsEmptyListItemTitleText:"No se encontraron contactos...",ProfileViewTitleText:"Perfil",ProfileViewInfoText:"Información de su perfil",ProfileViewProfilePictureTitleText:"Su foto de perfil",ProfileViewProfilePictureText:"El tamaño de imagen recomendado es 500 x 500px",ProfileViewProfilePictureUploadButtonTitleText:"Subir",ProfileViewProfilePictureDeleteButtonTitleText:"Eliminar",ProfileViewProfilePictureInfoText:"Ayude a su equipo a interactuar mejor con usted subiendo una foto clara de sí mismo",ProfileViewFormFirstNameTitleText:"Nombre",ProfileViewFormLastNameTitleText:"Apellido",ProfileViewFormPhoneNumberTitleText:"Número de teléfono",ProfileViewFormEmailTitleText:"E-mail",ProfileViewUpdateButtonTitleText:"Actualizar",ProfileViewSaveButtonTitleText:"Guardar",ProfileViewEmailInUseAlertTitle:"Correo en uso",ProfileViewEmailInUseAlertText:"La dirección de correo electrónico que ingresó ya está en uso por otro usuario, por favor ingrese una dirección de correo diferente",ProfileViewEmailInUseAlertButtonText:"Aceptar",ProfileViewPhoneNumberInUseAlertTitle:"Número de teléfono en uso",ProfileViewPhoneNumberInUseAlertText:"El número de teléfono que ingresó ya está en uso por otro usuario, por favor ingrese un número de teléfono diferente",ProfileViewPhoneNumberInUseAlertButtonText:"Aceptar",SettingsViewTitleText:"Ajustes",SettingsViewSearchFieldPlaceholderText:"Buscar",SettingsViewDetailsPlaceholderText:"Por favor, seleccione una categoría para empezar...",UsersettingsViewTitleText:"Ajustes",UserSettingsViewUserSettingsTitleText:"Ajustes de usuario:",UserSettingsViewLanguageSettingsTitleText:"Idioma:",UserSettingsViewLanguageSettingsText:"Por favor, elija su idioma preferido para la interfaz de usuario:",SecurityViewTitleText:"Seguridad",SecurityViewUserSettingsTitleText:"Ajustes de seguridad:",SecurityViewSecuritySettingsTitleText:"Actualización de contraseña:",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"Nueva contraseña:",SecurityViewSecuritySettingsPassword2TitleText:"Reingrese la nueva contraseña:",SecurityViewSecuritySettingsSubmitButtonTitle:"Actualizar",SecurityViewDefaultMessageText:"Por favor, escriba su nueva contraseña:",SecurityViewMessageHolderTitleText:"La contraseña debe contener lo siguiente:",SecurityViewMessageHolderLowercaseTitleText:"• Una letra minúscula",SecurityViewMessageHolderUppercaseTitleText:"• Una letra mayúscula",SecurityViewMessageHolderNumberTitleText:"• Un número",SecurityViewMessageHolderLengthTitleText:"• Mínimo 8 caracteres",SecurityViewPasswordMissmatchMessageText:"Las contraseñas no coinciden",SecurityViewPasswordInvalidMessageText:"Contraseña inválida, por favor intente de nuevo",SecurityViewPasswordUpdateSucessAlert:{Title:"Actualización de contraseña",Description:"Su contraseña se actualizó correctamente.",Button1Title:"Aceptar",},SecurityViewPasscodeSettingsTitleText:"Actualización de código:",SecurityViewDefaultPasscodeMessageText:"Por favor, ingrese un nuevo código:",SecurityViewSecuritySettingsPasswordTitleText:"Nuevo código:",SecurityViewPasscodeInvalidMessageText:"Código inválido, por favor intente de nuevo",SecurityViewPasscodeUpdateSucessAlert:{Title:"Actualización de código",Description:"Su código se actualizó correctamente.",Button1Title:"Aceptar",},NotificationsViewTitleText:"Notificaciones",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"Le ha asignado un formulario para completar",EmployeeCheckedInOutsideOfLocationsTitleText:"Inició su turno fuera de su ubicación de oficina.",EmployeeCheckedOutOutsideOfLocationsTitleText:"Terminó su turno fuera de su ubicación de oficina.",EmployeeCheckedInWithNoLocationTitleText:"Inició su turno sin ubicación.",EmployeeCheckedOutWithNoLocationTitleText:"Terminó su turno sin ubicación.",EmployeeAbsenceRequestTitleText:"Ha solicitado tiempo libre.",NewEmailTitleText:"Correo electrónico",EmployeeAbsenceRequestInfoText:"Haga clic aquí para revisar y aprobar o denegar su solicitud.",EmployeeAbsenceResponseApprovedTitleText:"Ha aprobado su solicitud de tiempo libre.",EmployeeAbsenceResponseRejectedTitleText:"Ha denegado su solicitud de tiempo libre.",EmployeeAbsenceResponseInfoText:"Haga clic aquí para revisar su solicitud.",},NotificationsViewClearAllNotificationsButtonTitleText:"Limpiar todo",NotificationsViewNotificationItemClearButtonTitleText:"Limpiar",NotificationsViewClearAllNotificationsAlert:{Title:"¿Limpiar todas las notificaciones?",Description:"¿Está seguro de que desea limpiar todas sus notificaciones?",Button1Title:"Limpiar",Button2Title:"Cancelar",},NotificationsViewEmptyNotificationItem:"No hay notificaciones nuevas...",UserAccountsTitleText:"Cuentas de usuario",UserAccountsViewFirstNameTitleText:"Nombre",UserAccountsViewLastNameTitleText:"Apellido",UserAccountsViewJobTitleTitleText:"Título",UserAccountsViewEmailTitleText:"Correo",UserAccountsViewPhoneNumberTitleText:"Número de teléfono",UserAccountsViewAccountActiveTitleText:"Activo",UserAccountsViewAccountBlockedTitleText:"Bloqueado",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"Añadir usuario"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"Editar",SendInviteButtonTitleText:"Enviar invitación",ResetPasswordButtonTitleText:"Restablecer contraseña",LogoutButtonTitleText:"Cerrar sesión",BlockButtonTitleText:"Bloquear usuario",UnblockButtonTitleText:"Desbloquear usuario",DeleteButtonTitleText:"Eliminar"},UserAccountsViewSearchBarInfoTextPart1:"Mostrando",UserAccountsViewSearchBarInfoTextPart2:"de",UserAccountsViewSearchBarInfoTextPart3:"usuarios",EdituserViewAddTitleText:"Añadir usuario",EdituserViewEditTitleText:"Editar usuario",EdituserViewTitleBarSaveButtonTitleText:"Guardar",EdituserViewTitleBarCancelButtonTitleText:"Cancelar",EdituserViewFormFirstNameTitleText:"Nombre",EdituserViewFormLastNameTitleText:"Apellido",EdituserViewFormUserNameTitleText:"Nombre de usuario",EdituserViewFormJobTitleTitleText:"Título",EdituserViewFormPhoneNumberTitleText:"Número de teléfono",EdituserViewFormEmailTitleText:"E-mail",EdituserViewFormInmailEmailTitleText:"Correo electrónico interno",EdituserViewFormInmailCheckboxTitleText:"Habilitar inmail",EdituserViewEmailInUseAlertTitle:"Correo en uso",EdituserViewEmailInUseAlertText:"La dirección de correo electrónico que ingresó ya está en uso por otro usuario, por favor ingrese una dirección de correo diferente",EdituserViewEmailInUseAlertButtonText:"Aceptar",EdituserViewPhoneNumberInUseAlertTitle:"Número de teléfono en uso",EdituserViewPhoneNumberInUseAlertText:"El número de teléfono que ingresó ya está en uso por otro usuario, por favor ingrese un número de teléfono diferente",EdituserViewPhoneNumberInUseAlertButtonText:"Aceptar",EdituserViewTimetrackingListTitleText:"Ajustes de control de tiempo",EdituserViewLocationsListTitleText:"Ajustes de ubicación",EdituserViewPositionsListTitleText:"Roles de empleado",EdituserViewFeatureAccessListTitleText:"Configuración de acceso a funciones",EdituserViewSettingsAccessListTitleText:"Configuración de acceso a ajustes",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"Requiere aprobación",EdituserViewTimetrackingListReviewAccesslItemTitleText:"Acceso de revisión",EdituserViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},EdituserViewDeleteUserAlert:{Title:"¿Eliminar usuario?",Description:"¿Está seguro de que desea eliminar a este usuario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},EdituserViewErrorAlert:{Title:"Cuenta de usuario incompleta",DescriptionNoPositionSelected:"Por favor, seleccione al menos un rol de la lista de Roles de empleado.",Button1Title:"Aceptar",},GroupmanagementViewTitleText:"Gestión de grupos",GroupmanagementViewSearchFieldPlaceholderText:"Buscar",GroupmanagementViewSearchBarSearchButtonTitleText:"Buscar",GroupmanagementViewDepartmentsTitleText:"Departamentos",GroupmanagementViewTeamsTitleText:"Equipos",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"Nuevo departamento",CreateTeamTemplateButtonTitleText:"Nuevo equipo"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"Editar",DeleteButtonTitleText:"Eliminar"},GroupmanagementViewSearchBarInfoTextPart1:"Mostrando",GroupmanagementViewSearchBarInfoTextPart2:"de",GroupmanagementViewSearchBarInfoTextPart3:"resultados",GroupmanagementViewDeleteTeamAlert:{Title:"¿Eliminar equipo?",Description:"¿Está seguro de que desea eliminar este equipo? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},GroupmanagementViewDeleteDepartmentAlert:{Title:"¿Eliminar departamento?",Description:"¿Está seguro de que desea eliminar este departamento? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},GroupeditorViewDepartmentIDText:"ID de Departamento",GroupeditorViewTeamIDText:"ID de Equipo",GroupeditorViewAddDepartmentTitleText:"Añadir Departamento",GroupeditorViewEditDepartmentTitleText:"Editar Departamento",GroupeditorViewAddTeamTitleText:"Añadir equipo",GroupeditorViewEditTeamTitleText:"Editar equipo",GroupeditorViewDepartmentTitleText:"Título del departamento",GroupeditorViewDepartmentDescriptionText:"Descripción del departamento",GroupeditorViewTeamTitleText:"Título del equipo",GroupeditorViewTeamDescriptionText:"Descripción del equipo",GroupeditorViewMembersTableTitle:"Miembros",GroupeditorViewManagersTableTitle:"Gerentes",GroupeditorViewAdminsTableTitle:"Administradores",GroupeditorViewMembersTableSearchFieldPlaceholderText:"Buscar",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},GroupeditorViewDeleteTeamAlert:{Title:"¿Eliminar equipo?",Description:"¿Está seguro de que desea eliminar este equipo? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},GroupeditorViewDeleteDepartmentAlert:{Title:"¿Eliminar departamento?",Description:"¿Está seguro de que desea eliminar este departamento? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},PositionsmanagementViewTitleText:"Gestión de roles",PositionsmanagementViewSearchFieldPlaceholderText:"Buscar",PositionsmanagementViewSearchBarSearchButtonTitleText:"Buscar",PositionsmanagementViewSearchBarInfoTextPart1:"Mostrando",PositionsmanagementViewSearchBarInfoTextPart2:"de",PositionsmanagementViewSearchBarInfoTextPart3:"resultados",PositionsmanagementViewPositionsTitleText:"Roles",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"Nuevo rol",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"Editar",DeleteButtonTitleText:"Eliminar"},PositionsmanagementViewEmptyTableItemText:"No se encontraron artículos...",PositionsmanagementViewDeletePositionAlert:{Title:"¿Eliminar Rol?",Description:"¿Está seguro de que desea eliminar el rol? Esto afectará a todos los usuarios con este rol.",Button1Title:"Eliminar",Button2Title:"Cancelar",},PositioneditorViewTitleText:"Editor de rol",PositioneditorViewPositionText:"ID de Rol",PositioneditorViewPositionTitleText:"Título",PositioneditorViewPositionDescriptionText:"Descripción",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},PositioneditorViewDeletePositionAlert:{Title:"¿Eliminar Rol?",Description:"¿Está seguro de que desea eliminar el rol? Esto afectará a todos los usuarios con este rol.",Button1Title:"Eliminar",Button2Title:"Cancelar",},LocationsmanagementViewTitleText:"Gestión de ubicaciones",LocationsmanagementViewSearchFieldPlaceholderText:"Buscar",LocationsmanagementViewSearchBarSearchButtonTitleText:"Buscar",LocationsmanagementViewSearchBarInfoTextPart1:"Mostrando",LocationsmanagementViewSearchBarInfoTextPart2:"de",LocationsmanagementViewSearchBarInfoTextPart3:"resultados",LocationsmanagementViewLocationsTitleText:"Ubicaciones",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"Nueva ubicación",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"Editar",DeleteButtonTitleText:"Eliminar"},LocationsmanagementViewEmptyTableItemText:"No se encontraron artículos...",LocationsmanagementViewDeleteLocationAlert:{Title:"¿Eliminar Ubicación?",Description:"¿Está seguro de que desea eliminar la ubicación?",Button1Title:"Eliminar",Button2Title:"Cancelar",},LocationeditorViewTitleText:"Editor de ubicación",LocationeditorViewLocationText:"ID de Ubicación",LocationeditorViewLocationTitleText:"Título",LocationeditorViewLocationAddressText:"Dirección",LocationeditorViewLocationLatitudeText:"Latitud",LocationeditorViewLocationLongitudeText:"Longitud",LocationeditorViewLocationDistanceText:"Distancia aceptable (en metros)",LocationeditorViewSetCurrentLocationButtonTitleText:"Establecer ubicación actual",LocationeditorViewShowOnMapButtonTitleText:"Mostrar en el mapa",LocationeditorViewReloadMapButtonTitleText:"Recargar mapa",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},LocationeditorViewDeleteLocationAlert:{Title:"¿Eliminar Ubicación?",Description:"¿Está seguro de que desea eliminar la ubicación?",Button1Title:"Eliminar",Button2Title:"Cancelar",},TasksmanagementViewTitleText:"Gestión de tareas",TasksmanagementViewSearchFieldPlaceholderText:"Buscar",TasksmanagementViewSearchBarSearchButtonTitleText:"Buscar",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Crear plantilla"},TaskeditorViewTitleText:"Editor de tareas",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},FormsmanagementViewTitleText:"Gestión de formularios",FormsmanagementViewSearchFieldPlaceholderText:"Buscar",FormsmanagementViewSearchBarInfoTextPart1:"Mostrando",FormsmanagementViewSearchBarInfoTextPart2:"de",FormsmanagementViewSearchBarInfoTextPart3:"formularios",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"Nueva plantilla"},FormsmanagementViewFormsTableNameTitle:"Nombre de la plantilla",FormsmanagementViewFormsTableCreatorTitle:"Creador",FormsmanagementViewFormsTableCreationTimeTitle:"Hora de creación",FormsmanagementViewFormsTableLastModifiedTitle:"Última modificación",FormsmanagementViewFormsTableEmptyPlaceholderText:"No se encontraron plantillas de formulario, por favor actualice su búsqueda o cree una nueva plantilla para empezar...",FormsmanagementViewDeleteFormTemplateAlert:{Title:"¿Eliminar plantilla de formulario?",Description:"¿Está seguro de que desea eliminar esta plantilla de formulario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormeditorViewTitleText:"Editor de plantillas de formulario",FormeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},FormeditorViewFormsTableNameTitle:"Nombre del formulario",FormeditorViewFormsTableCreatorTitle:"Creador",FormeditorViewFormsTableCreationTimeTitle:"Hora de creación",FormeditorViewFormsTableLastModifiedTitle:"Última modificación",FormeditorViewFormsDuplicateTitleText:"(Copia)",FormeditorViewShareSettingsShareButtonTitleText:"Ajustes",FormeditorViewDeleteFormTemplateAlert:{Title:"¿Eliminar plantilla de formulario?",Description:"¿Está seguro de que desea eliminar esta plantilla de formulario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormditorViewTemplateTypeTitleText:"Tipo de formulario:",FormTypes:{1:"Formulario estándar",2:"Encuesta",3:"Solicitud al gerente"},FormtemplatesViewTitleText:"Plantillas de formulario",FormtemplatesViewSearchFieldPlaceholderText:"Buscar",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"Nueva plantilla",CloseButtonTitleText:"Cerrar"},FormtemplatesViewSearchBarInfoTextPart1:"Mostrando",FormtemplatesViewSearchBarInfoTextPart2:"de",FormtemplatesViewSearchBarInfoTextPart3:"formularios",FormtemplatesViewFormsTableNameTitle:"Nombre del formulario",FormtemplatesViewFormsTableTemplateNameTitle:"Nombre de la plantilla",FormtemplatesViewFormsTableCreatorTitle:"Creador",FormtemplatesViewFormsTableCreationTimeTitle:"Hora de creación",FormtemplatesViewFormsTableLastModifiedTitle:"Última modificación",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Crear formulario",EditButtonTitleText:"Editar plantilla",DuplicateButtonTitleText:"Duplicar plantilla",DeleteButtonTitleText:"Eliminar plantilla"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"¿Eliminar plantilla de formulario?",Description:"¿Está seguro de que desea eliminar esta plantilla de formulario? Esta acción no se puede deshacer.",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormtemplatesViewFormsTableEmptyPlaceholderText:"No se encontraron plantillas de formulario, por favor actualice su búsqueda o cree una nueva plantilla para empezar...",FormeditorViewFormNamePlaceholderText:"Nombre del formulario",FormeditorViewFormTitlePlaceholderText:"Título del formulario",FormeditorViewFormDescriptionPlaceholderText:"Descripción del formulario",FormTextInputPlaceholderText:"Entrada de texto...",FormTextAreaPlaceholderText:"Área de texto...",FormRatingInputPlaceholderText:"Pregunta de valoración...",FormRatingInputValidationErrorText:"* Este es un campo obligatorio, por favor responda la pregunta.",FormTextQuestionQuestionPlaceholderText:"Pregunta...",FormTextQuestionAnswerPlaceholderText:"Respuesta...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormTextQuestionValidationErrorText:"* Este es un campo obligatorio, por favor responda la pregunta.",FormDatePickerInputPlaceholderText:"Texto de título de fecha...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Rango de fechas",FormDatePickerInputValidationErrorText:"* Este es un campo obligatorio, por favor ingrese un valor de fecha.",FormDatePickerInputValidationInvalidRangeErrorText:"* Rango inválido, la fecha de inicio es mayor que la fecha de fin. Por favor actualice su entrada e intente de nuevo.",FormTimePickerInputPlaceholderText:"Texto de título de hora...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Rango de tiempo",FormTimePickerInputValidationErrorText:"* Este es un campo obligatorio, por favor ingrese un valor de tiempo.",FormTimePickerInputValidationInvalidRangeErrorText:"* Rango inválido, la hora de inicio es mayor que la hora de fin. Por favor actualice su entrada e intente de nuevo.",FormSingleSelectionInputPlaceholderText:"Pregunta de selección única...",FormSingleSelectionInputOptionPlaceholderText:"Opción",FormSingleSelectionInputAddOptionButtonTitleText:"Añadir opción",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormSingleSelectionInputValidationErrorText:"* Este es un campo obligatorio, por favor seleccione una opción.",FormMultiSelectionInputPlaceholderText:"Pregunta de selección múltiple...",FormMultiSelectionInputOptionPlaceholderText:"Opción",FormMultiSelectionInputAddOptionButtonTitleText:"Añadir opción",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormMultiSelectionInputValidationErrorText:"* Este es un campo obligatorio, por favor seleccione al menos una opción.",FormFileUploadInputPlaceholderText:"Solicitud de subida de archivo...",FormFileUploadInputResetButtonTitleText:"Restablecer",FormFileUploadInputUploadButtonTitleText:"Subir archivo",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormFileUploadInputValidationErrorText:"* Este es un campo obligatorio, por favor seleccione un archivo.",FormPhotoUploadInputPlaceholderText:"Solicitud de subida de foto...",FormPhotoUploadInputResetButtonTitleText:"Restablecer",FormPhotoUploadInputUploadButtonTitleText:"Subir foto",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormPhotoUploadInputValidationErrorText:"* Este es un campo obligatorio, por favor seleccione una foto.",FormSignatureInputPlaceholderText:"Solicitud de firma...",FormSignatureInputSignatureText:"Firma",FormSignatureInputResetButtonTitleText:"Restablecer",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obligatorio",FormSignatureInputValidationErrorText:"* Este es un campo obligatorio, por favor firme el formulario.",KiosksmanagementViewTitleText:"Gestión de quiosco",KiosksmanagementViewSearchFieldPlaceholderText:"Buscar",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"Nuevo Quiosco"},KiosksmanagementViewKiosksTableTitleText:"Quioscos",KiosksmanagementViewSearchBarInfoTextPart1:"Mostrando",KiosksmanagementViewSearchBarInfoTextPart2:"de",KiosksmanagementViewSearchBarInfoTextPart3:"resultados",KioskmanagementViewTableItemStatusOnline:"En línea",KioskmanagementViewTableItemStatusOffline:"Fuera de línea",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"Editar",DeleteButtonTitleText:"Eliminar"},KioskmanagementViewDeleteKioskAlert:{Title:"¿Eliminar Quiosco?",Description:"¿Está seguro de que desea eliminar el Quiosco?",Button1Title:"Eliminar",Button2Title:"Cancelar",},KioskManagementViewEmptyTableItemText:"No se encontraron artículos...",KioskeditorViewTitleText:"Editor de Quiosco",KioskeditorViewKioskText:"Quiosco",KioskeditorViewKioskTitleText:"Título",KioskeditorViewKioskDescriptionText:"Descripción",KioskeditorViewKioskLocationTitleText:"Ubicación del quiosco",KioskeditorViewKioskTypeTitleText:"Tipo de quiosco",KioskeditorViewKioskAccessSettingsTitleText:"Acceso a analíticas del quiosco",KioskeditorViewKioskAccessSettingsButtonText:"Configurar acceso",KioskeditorViewKioskUsernameText:"Nombre de usuario",KioskeditorViewKioskPasswordText:"Contraseña",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"Nuevo",SaveButtonTitleText:"Guardar",DuplicateButtonTitleText:"Duplicar",DeleteButtonTitleText:"Eliminar",CloseButtonTitleText:"Cerrar"},KioskeditorViewKioskTypes:{TimeTracking:"Control de tiempo",CustomerSurvey:"Encuesta a clientes"},KioskeditorViewDeleteKioskAlert:{Title:"¿Eliminar Quiosco?",Description:"¿Está seguro de que desea eliminar el Quiosco?",Button1Title:"Eliminar",Button2Title:"Cancelar",},FormItemsMenu:{FormTextInput:"Entrada de texto",FormTextArea:"Área de texto",FormTextQuestion:"Pregunta de texto",FormSingleSelectionInput:"Selección única",FormMultiSelectionInput:"Selección múltiple",FormTimePickerInput:"Entrada de hora",FormDatePickerInput:"Entrada de fecha",FormRatingInput:"Valoración con estrellas",FormSignatureInput:"Firma",FormPhotoUploadInput:"Subida de foto",FormFileUploadInput:"Subida de archivo"},TimePickerMenuEnterTimeText:"Ingrese la hora:",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"Aceptar",TimePickerMenuCancelButtonTitleText:"Cancelar",ImageGalleryTitleText:"Galería de imágenes",FileExplorerTitleText:"Navegador de medios",FileExplorerMenuItemImagesTitleText:"Imágenes",FileExplorerMenuItemFilesTitleText:"Archivos",FileExplorerFileListEmptyListItemTitleText:"No se encontraron archivos en este chat",FileExplorerImageGridEmptyListItemTitleText:"No se encontraron imágenes en este chat",ChatGroupNameEditorTitleText:"Ingrese nombre del grupo",ChatGroupNameEditorButton1TitleText:"Guardar",ChatGroupNameEditorButton2TitleText:"Cancelar",FilenameEditorTitleText:"Ingrese un nombre",FilenameEditorButton1TitleText:"Guardar",FilenameEditorButton2TitleText:"Cancelar",FilePickerChooseFolderTitleText:"Elegir carpeta",FilePickerChooseFileTitleText:"Elegir archivo",FilePickerButton1TitleText:"Guardar",FilePickerButton2TitleText:"Cancelar",ChatGroupPickerDialogTableTitle:"Grupos",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"Buscar",ChatGroupPickerDialogTitleText:"Seleccionar grupos de chat",ChatGroupPickerDialogEmptyListItemTitleText:"No se encontraron grupos",ChatGroupPickerDialogSelectButtonTitleText:"Seleccionar",ChatGroupPickerDialogCancelButtonTitleText:"Cancelar",UserPickerDialogTitleText:"Añadir miembros",UserPickerDialogEmptyListItemTitleText:"No se encontraron usuarios",UserPickerDialogAddButtonTitleText:"Añadir",UserPickerDialogCancelButtonTitleText:"Cancelar",SharePickerDialogTitleText:"Compartir",SharePickerDialogTableSearchFieldPlaceholderText:"Buscar",SharePickerDialogUsersTableTitleText:"Usuarios",SharePickerDialogDepartmentsTableTitleText:"Departamentos",SharePickerDialogTeamsTableTitleText:"Equipos",SharePickerDialogAddButtonTitleText:"Añadir",SharePickerDialogCancelButtonTitleText:"Cancelar",SharePickerDialogEmptyListItemTitleText:"No se encontraron artículos",ShareSettingsDialogTitleBarText:"Compartir",ShareSettingsDialogTitleText:"Ajustes de compartido",ShareSettingsDialogCloseButtonTitle:"Cerrar",ShareSettingsDialogOwnerTableTitle:"Propietario",ShareSettingsDialogUsersTableTitle:"Usuarios",ShareSettingsDialogDepartmentsTableTitle:"Departamentos",ShareSettingsDialogTeamsTableTitle:"Equipos",ShareSettingsDialogAddButtonTitle:"Añadir",ShareSettingsDialogUsersTableEmptyTitleText:"No hay usuarios seleccionados",ShareSettingsDialogDepartmentsTableEmptyTitleText:"No hay departamentos seleccionados",ShareSettingsDialogTeamsTableEmptyTitleText:"No hay equipos seleccionados",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"Plantilla",ReviewAccess:"Revisores",Assignees:"Asignados"},AccessDialogAccessSettingsTemplateInfoText:"Acceso a plantilla:
Seleccione los usuarios, departamentos y equipos que tendrán acceso a esta plantilla de formulario.",AccessDialogAccessSettingsReviewTemplateInfoText:"Acceso de revisor:
Seleccione los usuarios, departamentos y equipos que tendrán acceso a revisar los resultados en los formularios creados por esta plantilla. Esto también se puede hacer manualmente más tarde al crear un formulario a partir de esta plantilla.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"Asignados del formulario:
Seleccione los usuarios, departamentos y equipos que se asignarán automáticamente a los formularios creados por esta plantilla. Esto también se puede hacer manualmente más tarde al crear un formulario a partir de esta plantilla.",AccessDialogAccessSettingsReviewInfoText:"Acceso de revisor:
Seleccione los usuarios, departamentos y equipos que tendrán acceso a revisar los resultados de este formulario.",AccessDialogAccessSettingsAssigneesInfoText:"Asignados del formulario:
Seleccione los usuarios, departamentos y equipos que se asignarán a este formulario.",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"Asignados del formulario:
El tipo de formulario seleccionado \"Solicitud al gerente\" añadirá automáticamente al gerente del empleado como el asignado del formulario.",AccessDialogAccessSettingsTitleText:"Ajustes de acceso:",AccessDialogAccessSettingsCloseButtonTitle:"Cerrar",AccessDialogAccessSettingsAddButtonTitleText:"Añadir",AccessDialogAccessSettingsPeopleTableTitleText:"Usuarios con acceso:",AccessDialogAccessSettingsDepartmentsTableTitleText:"Departamentos con acceso:",AccessDialogAccessSettingsTeamsTableTitleText:"Equipos con acceso:",AccessDialogAccessSettingsManagerAssignedTableTitleText:"Gerentes asignados:",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"Usuarios asignados:",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"Departamentos asignados:",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"Equipos asignados:",AccessDialogAccessSettingsCreatorTagText:"Creador",AccessDialogAccessSettingsUsersTableEmptyTitleText:"No hay usuarios seleccionados",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"No hay departamentos seleccionados",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"No hay equipos seleccionados",AccessDialogAccessSettingsSingleResponderRequiredText:"Se requiere un único respondedor.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"Solo lectura: Se requiere un único respondedor.",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"Respuestas anónimas:",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"Si se selecciona, todos los formularios creados a partir de esta plantilla tendrán respuestas anónimas.",AccessDialogAccessSettingsAnonymousResponsesText:"Establecer respuestas anónimas.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"Solo lectura: Este valor solo se puede establecer en la plantilla.",AccessDialogAccessSettingsAnonymousUserNameText:"Usuario anónimo",AccessDialogResponsesEmptyResponseText:"Sin entrada del usuario",AccessDialogResponsesNoFileAttachedResponseText:"Ningún archivo adjunto",AccessDialogMaxAssigneesAlert:{TitleText:"Máximo de asignados alcanzado",DesciptionText:"Este tipo de formulario permite solo un asignado, por favor quite otros asignados si desea cambiar el asignado.",Button1Title:"Aceptar"},WidgetsGenericLoadinMessageText:"Cargando...",PhoneWidgetTitleText:"Llamadas",PhoneWidgetSearchFieldPlaceholderText:"Buscar",PhoneWidgetCallLogButtonTitleText:"Registro de llamadas",PhoneWidgetContactsButtonTitleText:"Contactos",PhoneWidgetNoIntemsFound:"No se encontraron artículos...",ShiftButtonWidgetTitleText:"Reloj de turno",ShiftButtonWidgetStartTimeText:"Turno iniciado el",ShiftButtonWidgetStartTimeAtText:"a las",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"Turno actual",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"Descanso actual",ShiftButtonWidgetStartBreakButtonText:"Iniciar descanso",ShiftButtonWidgetEndBreakButtonText:"Terminar descanso",EmailWidgetTitleText:"Correos electrónicos",EmailWidgetSearchFieldPlaceholderText:"Buscar",EmailWidgetNoIntemsFound:"No se encontraron elementos...",OpenFormsWidgetTitleText:"Formularios abiertos",BookmarkedFormsWidgetTitleText:"Plantillas de formulario",NewsWidgetTitleText:"Últimas noticias",CalculatorWidgetTitleText:"Calculadora",WeatherWidgetTitleText:"Clima",WeatherWidgetWaitingForLocationText:"Esperando ubicación...",WeatherWidgetWindSpeedUnits:"km/h",KioskCustomerSurveyWidgetTitleText:"Encuesta de clientes",KioskCustomerSurveyWidgetTotalText:"Total de envíos",KioskCustomerSurveyWidgetThisMonthText:"Este mes",KioskCustomerSurveyWidgetAllTimeAverageText:"Promedio histórico",KioskCustomerSurveyWidgetThisMonthAverageText:"Promedio de este mes",AdminViewTitleText:"Consola de Administración",SQLStatsViewTitleText:"Estadísticas de SQL Server",WebStatsViewTitleText:"Estadísticas del Servidor Web",CookiemanagementViewTitleText:"Gestión de Cookies",LanguagemanagementViewTitleText:"Gestión de Idiomas",ShiftToggleSwitchStartText:"Iniciar turno",ShiftToggleSwitchStopText:"Terminar turno",ShiftToggleSwitchAlertStartShiftTitle:"Iniciar nuevo turno",ShiftToggleSwitchAlertStartShiftAlertText:"¿Listo para empezar su turno?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"Por favor elija un puesto:",ShiftToggleSwitchAlertStartShiftButton1Title:"Sí",ShiftToggleSwitchAlertStartShiftButton2Title:"No",ShiftToggleSwitchAlertStopShiftTitle:"¿Terminar Turno?",ShiftToggleSwitchAlertStopShiftAlertText:"¿Está seguro de que desea terminar su turno?",ShiftToggleSwitchAlertStopShiftAlertButton1:"Sí",ShiftToggleSwitchAlertStopShiftAlertButton2:"No"} if(typeof Strings=='undefined'){Strings={};} var FR={Language:"French",LocalLanguage:"Français",initials:"FR",Direction:"ltr",FlagIcon:'/assets/images/flags/flag_fr.png',LanguageMenuTitle:"Menu des langues",EmojiTitleStrings:{Recent:"Articles récents",People:"Smileys et personnes",Nature:"Animaux et nature",Food:"Nourriture et boissons",Activities:"Activité",Travel:"Voyages et lieux",Objects:"Objets",Symbols:"Symboles",Flags:"Drapeaux"},MonthsOfYear:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],DaysOfWeek:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samdi"],DaysOfWeekShortHand:["Dim","Lun","Mar","Mer","Jue","Ven","Sam"],DateAndTimeYesterday:"Hier",DateAndTimeToday:"Aujourd'hui",DateAndTimeTomorrow:"Demain",DateAndTimeByText:"par",DateAndTimeAtText:"a",DateAndTimeLastText:"Dernière",HourSymbol:"h",MinuteSymbol:"m",ApplicationEnableNotificationsAlert:{Title:"Activer les notifications",Description:"Autoriser dailyreport à vous envoyer des notifications.",Button1Title:"OK",},TitleBarLoginButtonText:"Connexion",NavigationMenuTitle:"Menu principal",MenuItemTitles:{Dashboard:"Tableau de bord",Insights:"Analyses",News:"Actualités",Events:"Événements",Timetracking:"Temps",Tasks:"Tâches",Forms:"Formulaires",Scheduling:"Planning",Calendar:"Agenda",Directory:"Annuaire",Chat:"Chat",Mailbox:"E-mail",Clouddrive:"Cloud",Profile:"Profil",Settings:"Paramètres",Admin:"Admin",Logout:"Déconnexion"},MenuWelcomeText:"Bonjour",SettingsMenuItemTitles:{UserPreferences:"Préférences",Profile:"Profil",UserSettings:"Paramètres",Security:"Sécurité",UserManagement:"Gestion utilisateurs",UserAccounts:"Utilisateurs",GroupManagement:"Groupes",PositionsManagement:"Rôles",LocationsManagement:"Lieux",TimetrackingAndSchedulingManagement:"Gestion temps",TimetrackingManagement:"Suivi temps",SchedulingManagement:"Planning",ContentManagement:"Contenu",NewsManagement:"Actualités",EventsManagement:"Événements",TaskManagement:"Gestion tâches",TasksManagement:"Tâches",FormsManagement:"Formulaires",EmailManagament:"E-mail",MailboxSettings:"Mailbox",KioskManagement:"Gestion kiosques",Kiosks:"Kiosques",Admin:"Admin",WebServer:"Serveur Web",SQLServer:"Serveur SQL",CookieManagement:"Cookies",LanguageManagement:"Langues",Info:"Infos appli",About:"À propos",License:"Licence, CdU & RGPD"},HomeViewHeaderText:"À venir",HomeViewSecondaryHeaderText:"Quelque chose de génial se prépare ici...
veuillez revenir avec nous dans quelques semaines.",HomeViewLoginButtonText:"Se connecter",AboutViewTitleText:"À propos",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"Infos application",AboutViewApplicationVersionTitleText:"Version",AboutViewApplicationBuildTitleText:"Build",AboutViewApplicationCommitTitleText:"Commit",AboutViewApplicationBuildDateTitleText:"Date de build",AboutViewApplicationQRCodeTitleText:"Code QR",AboutViewApplicationQRCodeInfoText:"Scanner pour l'app mobile",AboutViewApplicationDownloadNativeAndroid:"App Android",AboutViewApplicationDownloadNativeiOS:"App iOS",EulaViewTitleText:"Licence",EulaViewInfoTitleText:"Contrat de licence",EulaViewTocTitleText:"Sommaire",LoginViewLoginTitleText:"Connexion",LoginViewDefaultMessageText:"Connectez-vous pour commencer...",LoginViewUsernamePlaceHolderText:"E-mail ou téléphone",LoginViewPasswordPlaceHolderText:"Mot de passe",LoginViewLoginButtonText:"Connexion",LoginViewResetPasswordButtonText:"Oublié ? Cliquez ici",LoginViewLoginError1MessageText:"Identifiant invalide, réessayez",LoginViewLoginError2MessageText:"Mot de passe trop court (min 6 car.)",LoginViewLoginError3MessageText:"Identifiants invalides",ResetpasswordViewTitleText:"Réinitialiser",ResetpasswordViewDefaultResetMessageText:"Entrez vos identifiants pour réinitialiser",ResetpasswordViewUsernamePlaceHolderText:"E-mail ou téléphone",ResetpasswordViewResetButtonText:"Envoyer le lien",ResetpasswordViewLoginButtonText:"Déjà un compte ? Cliquez ici",ResetpasswordViewInvalidUsernameErrorMessageText:"E-mail ou téléphone invalide",UpdatepasswordViewTitleText:"Mettre à jour le mot de passe",UpdatepasswordViewDefaultUpdateMessageText:"Entrez votre nouveau mot de passe",UpdatepasswordViewPasswordPlaceHolderText:"Nouveau mot de passe",UpdatepasswordViewUpdateButtonText:"Modifier",UpdatepasswordViewLoginButtonText:"Déjà un compte ? Cliquez ici",UpdatepasswordViewInvalidUsernameErrorMessageText:"Mot de passe invalide",RegisterViewTitleText:"S'inscrire",RegisterViewDefaultMessageText:"Inscription en cours...",RegisterViewPasswordPlaceHolderText:"Nouveau mot de passe",RegisterViewPassword2PlaceHolderText:"Confirmez le mot de passe",RegisterViewMessageHolderTitleText:"Le mot de passe doit contenir :",RegisterViewMessageHolderLowercaseTitleText:"• Une minuscule",RegisterViewMessageHolderUppercaseTitleText:"• Une majuscule",RegisterViewMessageHolderNumberTitleText:"• Un chiffre",RegisterViewMessageHolderLengthTitleText:"• Min. 8 caractères",RegisterViewPasswordMissmatchMessageText:"Écart entre les mots de passe",RegisterViewPasswordInvalidMessageText:"Mot de passe invalide",RegisterViewRegisterButtonText:"S'inscrire",DashboardViewTitleText:"Tableau de bord",DashboardViewTitleMenuResetButtonText:"Réinitialiser",DashboardViewTitleMenuSetBackgroundButtonText:"Arrière-plan",InsightsViewTitleText:"Analyses",InsightsViewTitleMenuResetButtonText:"Réinitialiser",InsightsViewTitleMenuSetBackgroundButtonText:"Arrière-plan",NewsViewTitleText:"Actualités",NewsViewNewsArticlePublishedTitleText:"Publié le ",NewsViewNoItemsFoundTableItemText:"Aucun article trouvé...",NewseditorViewTitleText:"Éditeur d'actualités",NewseditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},NewseditorViewDeleteArticleAlert:{Title:"Supprimer l'article ?",Description:"Voulez-vous supprimer cet article ?",Button1Title:"Supprimer",Button2Title:"Annuler",},NewsmanagementViewTitleText:"Gestion Actualités",NewsmanagementViewSearchFieldPlaceholderText:"Rechercher",NewsmanagementViewSearchBarSearchButtonTitleText:"OK",NewsmanagementViewNewsArticlePublishedTitleText:"Publié le ",NewsmanagementViewNewsArticleUnPublishedTitleText:"Non publié",NewsmanagementViewNoItemsFoundTableItemText:"Aucun article trouvé...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"Nouvel article"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"Modifier",DuplicateButtonTitleText:"Double",PublishButtonTitleText:"Publier",UnPublishButtonTitleText:"Dépublier",DeleteButtonTitleText:"Supprimer"},NewsmanagementViewSearchBarInfoTextPart1:"Affichage de",NewsmanagementViewSearchBarInfoTextPart2:"sur",NewsmanagementViewSearchBarInfoTextPart3:"articles",NewsmanagementViewDeleteArticleAlert:{Title:"Supprimer l'article ?",Description:"Voulez-vous supprimer cet article ?",Button1Title:"Supprimer",Button2Title:"Annuler",},EventsViewTitleText:"Événements",EventsmanagementViewTitleText:"Gestion Événements",EventsmanagementViewSearchFieldPlaceholderText:"Rechercher",EventsmanagementViewSearchBarSearchButtonTitleText:"OK",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Nouvel événement"},EventeditorViewTitleText:"Éditeur d'événements",EventeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},ChatViewContactsTitleBarText:"Chat",ChatViewContactsSearchBarText:"Rechercher",ChatViewMessagesPlaceholderText:"Choisissez un chat ou cliquez sur [+] pour commencer",ChatViewMessagesTitleBarInfoPrefixText:"Mis à jour",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"Vu le",ChatViewMessagesTitleBarInfoOnlineText:"En ligne",ChatViewDeleteMessageAlertTitle:"Supprimer ?",ChatViewDeleteMessageAlertText:"Voulez-vous supprimer votre enregistrement ?",ChatViewDeleteMessageAlertButton1:"Oui",ChatViewDeleteMessageAlertButton2:"Non",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"Appel vocal",StartVideoCallButtonTitleText:"Appel vidéo",ShowChatDetailsButtonTitleText:"Détails"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"Envoyer photo",FileMenuItemTitle:"Envoyer fichier"},ChatViewSystemMessages:{GroupCreated:"Chat créé à",GroupPictureUpdated:"Photo mise à jour à",GroupNameUpdated:"Nom mis à jour à",MemberLeft:"a quitté le groupe",MemberJoined:"a rejoint le groupe",},ChatViewChatEmptyChatGroupItemText:"Aucun membre ou groupe...",ChatViewChatGroupItemGroupCreatedByText:"Démarré par",ChatViewChatGroupItemGroupPhotoUpdatedByText:"Photo modifiée par",ChatViewChatGroupItemGroupNameUpdatedByText:"Nom modifié par",ChatViewChatGroupItemMemberLeftText:"a quitté le groupe",ChatViewChatGroupItemMemberJoinedText:"a rejoint",ChatViewChatGroupItemGroupSentAFileText:"a envoyé un fichier",ChatViewChatGroupItemGroupSentAnImageText:"a envoyé une image",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"a envoyé un vocal",ChatViewChatGroupItemGroupMessageDeletedText:"a supprimé un message",ChatViewChatGroupItemGroupMessageReactionText:"a réagi ___ à un message",ChatViewChatMessageItemForwardedText:"transféré",ChatMessageItemDeletedMessage:"Message supprimé",ChatMessageItemMissedVoiceCallText:"Appel vocal manqué",ChatMessageItemMissedVideoCallText:"Appel vidéo manqué",ChatMessageItemUnansweredVideoCallText:"Sans réponse (vidéo)",ChatMessageItemUnansweredVoiceCallText:"Sans réponse (vocal)",ChatMessageItemVoiceCallText:"Appel vocal",ChatMessageItemVideoCallText:"Appel vidéo",ChatMessageItemReactionTableTitleText:"Réactions :",ChatMessageItemTapToRemoveReactionText:"Appuyez pour retirer",NewchatViewTitleText:"Nouveau chat",NewchatViewCreateNewGroupButtonText:"Nouveau groupe",NewchatViewCreateExternalCallInviteButtonText:"Créer le lien d'appel externe",NewchatViewCreateNewGroupOrText:"ou sélectionnez un contact",NewchatViewContactsTableTitle:"Contacts",NewchatViewMembersTableTitle:"Membres",NewchatViewCreateNewGroupTitleText:"Nouveau groupe",NewchatViewMembersTableSearchFieldPlaceholderText:"Rechercher",NewchatViewCreateNewGroupTitleInputPlaceholderText:"Titre du groupe",NewchatViewCreateGroupButtonText:"Créer",NewchatViewTitleBarMenu:{SaveButtonTitleText:"Enregistrer",CloseButtonTitleText:"Fermer"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"Titre invalide",NewchatViewCreateNewChatInvalidTitleAlertText:"Saisissez un titre pour le groupe",NewchatViewCreateNewChatInvalidTitleAlertButton:"OK",NewchatViewCreateNewChatNoMembersAlertTitle:"Aucun membre",NewchatViewCreateNewChatNoMembersAlertText:"Sélectionnez au moins un membre",NewchatViewCreateNewChatNoMembersAlertButton:"OK",ChatdetailsViewTitleText:"Détails",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"Changer photo",ChangeGroupNameButtonTitleText:"Changer nom",AddMemberButtonTitleText:"Ajouter membres",DeleteGroupButtonTitleText:"Supprimer groupe",ExitGroupButtonTitleText:"Quitter groupe",CloseButtonTitleText:"Fermer"},ChatdetailsViewExitGroupAlert:{Title:"Quitter le groupe ?",Description:"Voulez-vous quitter ce groupe ? Vous n'aurez plus accès aux données.",Button1Title:"Quitter",Button2Title:"Annuler",},ChatdetailsViewDeleteGroupAlert:{Title:"Supprimer le groupe ?",Description:"ACTION IRRÉVERSIBLE POUR TOUS
Voulez-vous supprimer ce groupe et tous ses médias ?",Button1Title:"Supprimer",Button2Title:"Annuler",},ChatDetailsViewMembersTableTitle:"Membres",ChatDetailsViewMembersTitle:"Membres du groupe",ChatDetailsViewCreatedOnText:"Créé le",ChatDetailsViewCreatedByText:"Par",ChatDetailsGroupMediaTitleText:"Médias",ChatDetailsGroupMediaImagesButtonTitleText:"Images",ChatDetailsGroupMediaFilesButtonTitleText:"Fichiers",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"Rechercher",ChatDetailsViewMembersTableItemAdminTitle:"admin",ChatDetailsViewAdminMembersTableTitle:"Admins",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"Définir admin",UnsetAdminButtonTitleText:"Retirer admin",RemoveFromGroupButtonTitleText:"Retirer du groupe",},CallViewTitleText:"Appel",CallViewTitleBarMenu:{HangupButtonTitleText:"Raccrocher"},CallViewIncomingVoiceCallText:"Appel vocal entrant",CallViewIncomingVideoCallText:"Appel vidéo entrant",CallViewRemovePeerOnAnotherCallText:"est en ligne",CallViewCallRejectedText:"Appel rejeté",CallViewCallNotAnsweredText:"Sans réponse",CallViewMissedCallText:"Appel manqué",CallViewCallEndedText:"Appel terminé",CallViewOutgoingCallText:"Appel en cours",CallViewCallDurationText:"Durée",CallViewLowReceptionWarningText:"Signal faible, reconnexion...",CreateexternalcallinviteViewTitleText:"Créer une invitation",CreateexternalcallinviteViewEmailInputTitle:"Email de l'invité",CreateexternalcallinviteViewEmailPlaceholder:"Entrez l'adresse email...",CreateexternalcallinviteViewMeetingTimeTitle:"Heure du rendez-vous",CreateexternalcallinviteViewCreateButtonText:"Générer le lien d'invitation",CreateexternalcallinviteViewGeneratedLinkTitle:"Lien d'invitation",CreateexternalcallinviteViewCopyLinkButtonText:"Copier",CreateexternalcallinviteViewSendInviteButtonText:"Envoyer l'invitation à l'invité",CreateexternalcallinviteViewLinkCopiedToast:"Lien copié dans le presse-papiers",CreateexternalcallinviteViewNoEmailAlert:"Veuillez ajouter une adresse email valide.",CreateexternalcallinviteViewSendEmailButtonText:"Envoyer par e-mail",CreateexternalcallinviteViewEmailSuccessAlert:{Title:"Lien envoyé",Description:"Le lien d'invitation a été envoyé avec succès à l'invité par e-mail.",Button1:"OK"},CreateexternalcallinviteViewEmailFailAlert:{Title:"Erreur",Description:"Échec de l'envoi de l'e-mail. Veuillez réessayer ou copier le lien manuellement.",Button1:"Fermer"},CreateexternalcallinviteView:{CloseButtonTitleText:"Fermer"},CreateexternalcallinviteViewMissingEmailAlert:{Title:"Email manquant",Description:"Veuillez saisir une adresse e-mail pour le destinataire",Button1:"Ok"},CreateexternalcallinviteViewInvalidDateAlert:{Title:"Date invalide",Description:"Veuillez définir la date à maintenant ou à une date future",Button1:"Ok"},CreateexternalcallinviteViewLinkCopiedAlert:{Title:"Lien copié",Description:"Le lien a été copié dans le presse-papiers",Button1:"Ok"},CreateexternalcallinviteViewInfoText:"Le lien sera valide pendant une heure après l'heure et la date sélectionnées.",TimetrackingViewTitleText:"Temps",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"Nouveau quart",NewAbsenceRequestText:"Demande absence",PrintButtonTitleText:"Imprimer",ExportButtonTitleText:"Exporter"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"Imprimer",ExportButtonTitleText:"Exporter",CloseButtonTitleText:"Fermer"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"Aujourd'hui",Timesheets:"Feuilles",MyReport:"Rapport",AbsenceRequests:"Absences"},TimeTrackingViewNoItemsFoundText:"Aucun élément...",TimeTrackingViewNoActiveShiftsFoundText:"Aucun quart trouvé...",TodaySheetStartTimeTitleText:"Début",TodaySheetEndTimeTitleText:"Fin",TodaySheetCurrentDurationTitleText:"Durée actuelle",TodaySheetTotalDurationTitleText:"Durée totale",TodaySheetStatusTitleText:"Statut",TodaySheetStatusWorkingTitleText:"En poste",TodaySheetStatusOnABreakTitleText:"En pause",TodaySheetStatusOffTitleText:"Hors poste",TodaySheetWorkingFromTitleText:"Lieu",TodaySheetUnknownLocation:"Lieu inconnu",TodayssheetStartedYesterdayText:"Débuté hier à",TodayssheetStartedTodayText:"Débuté aujourd'hui à",TodayssheetFinishedTodayText:"Fini aujourd'hui à",TodayssheetTotalShiftDurationText:"Durée totale",TodayssheetCurrentShiftDurationText:"Durée actuelle",TodayssheetFooterInfoHolder:{OnABreak:"En pause",Active:"Actif",Shifts:"Quarts",Employees:"Employés"},TimeSheetSearchFieldPlaceholderText:"Rechercher",TimeSheetSearchBarToText:"à",TimesheetInvalidDateAlertTitle:"Dates invalides",TimesheetInvalidDateAlertDatesSwitchedMessage:"La date de début doit être avant la fin.",TimesheetInvalidDateButton:"OK",TimesheetSearchFieldInfoShowingText:"Affichage",TimesheetsheetSearchFieldInfoResultsText:"résultats",TimesheetTableTitleItems:{Name:"Nom",TotalHours:"Heures",TotalShifts:"Quarts",Days:"Jours",Absence:"Absence",Issues:"Alertes"},EmployeesheetSearchFieldInfoShowingText:"Affichage",EmployeesheetSearchFieldInfoResultsText:"résultats",EmployeesheetInvalidDateAlertTitle:"Dates invalides",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"Vérifiez l'ordre des dates.",EmployeesheetInvalidDateButton:"OK",EmployeesheetTableTitleItems:{Date:"Date",Position:"Rôle",StartTime:"Début",EndTime:"Fin",TotalTime:"Total",BreakTime:"Pause",Issues:"Statut"},EmployeesheetTableInfoTotalShiftsTitleText:"Quarts",EmployeesheetTableInfoWorkedHoursTitleText:"Travaillées",EmployeesheetTableInfoBreakHoursTitleText:"Pauses",EmployeesheetTableInfoAbsenceTitleText:"Absences",EmployeesheetTableInfoHasIssuesYes:"Attente",EmployeesheetTableInfoHasIssuesApproved:"Approuvé",EmployeesheetTableInfoHasIssuesRejected:"Rejeté",EmployeesheetTableInfoHasIssuesNo:"OK",AbsencerequestSearchFieldPlaceholderText:"Rechercher",AbsencerequestSearchBarToText:"à",AbsencerequestSearchBarSearchButtonTitleText:"OK",AbsencerequestsTableTitleItems:{Name:"Nom",Type:"Type",Dates:"Dates",RequestedOn:"Demandé le",Status:"Statut"},AbsencerequestsTableItemStatus:{Approved:"Approuvé",Rejected:"Refusé",Pending:"Attente"},AbsencerequestFilterMenuItems:{All:"Tout",MyRequests:"Mes demandes",EmployeeRequests:"Employés"},AbsencerequestsTableItemRejectedText:"Refusé",AbsencerequestsInvalidDateAlertTitle:"Dates invalides",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"Ordre des dates incorrect.",AbsencerequestsInvalidDateButton:"OK",AbsencerequestsSearchFieldInfoShowingText:"Affichage",AbsencerequestsSearchFieldInfoOutOfText:"/",AbsencerequestViewPendingMessageText:"En attente d'approbation...",AbsencerequestViewApprovedMessageText:"Approuvée !",AbsencerequestViewDeniedMessageText:"Refusée.",AbsencerequestViewTitleText:"Demande absence",AbsencerequestViewFormTitleText:"Demande de congé",AbsencerequestViewFormInfoText:"Veuillez soumettre ce formulaire pour approbation.",AbsencerequestViewFormEmployeeNameTitleText:"Employé",AbsencerequestViewFormRequestTypeTitleText:"Type",AbsencerequestViewFormStartDateTitleText:"Début",AbsencerequestViewFormEndDateTitleText:"Fin",AbsencerequestViewFormRequestNoteTitleText:"Raison",AbsencerequestViewFormResponseNoteTitleText:"Réponse manager",AbsencerequestViewFormApprovedByTitleText:"Nom manager",AbsencerequestViewFormApprovalDateTitleText:"Répondu le",AbsencerequestViewFormRequiredDocumentsTitleText:"Justificatifs",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"Aucun fichier...",AbsencerequestViewFormApproveButtonTitleText:"Approuver",AbsencerequestViewFormRejectButtonTitleText:"Refuser",AbsencerequestViewFormSubmitButtonTitleText:"Soumettre",AbsenceReqestTypes:{TimeOff:"Congé",SickLeave:"Maladie"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"Soumettre",NewButtonTitleText:"Nouveau",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},AbsencerequestViewDeleteRequestAlert:{TitleText:"Supprimer ?",MessageText:"Voulez-vous supprimer cette demande ?",Button1Title:"Supprimer",Button2Title:"Annuler"},AbsencerequestViewFormNotFoundTitleText:"Introuvable",AbsencerequestViewFormNotFoundInfoText:"Ce formulaire n'existe plus.",AbsencerequestViewFormValidationAlert:{TitleText:"Dates invalides",InfoTextDatesSwitchedMessage:"La date de début doit précéder la fin.",InfoTextInvalidStartDateMessage:"Date de début invalide.",InfoTextInvalidEndDateMessage:"Date de fin invalide.",Button1Title:"OK",},ShifteditorViewTitleText:"Éditeur de quarts",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},ShifteditorViewPendingMessageText:"Quart en attente d'approbation...",ShifteditorViewApprovedMessageText:"Quart approuvé.",ShifteditorViewDeniedMessageText:"Quart rejeté.",ShifteditorViewEmployeeNameTitleText:"Employé",ShifteditorViewEmployeePositionTitleText:"Rôle",ShifteditorViewStartTimeTitleText:"Début",ShifteditorViewEndTimeTitleText:"Fin",ShifteditorViewLocationTitleText:"Lieu",ShifteditorViewLocationUnknownTitleText:"Inconnu",ShifteditorViewBreaksTitleText:"Pauses",ShifteditorViewBreaksAddButtonText:"Ajouter",ShifteditorViewIssuesTitleText:"Alertes",ShifteditorViewDeleteShiftAlert:{Title:"Supprimer le quart ?",Description:"Voulez-vous supprimer ce quart ?",Button1Title:"Supprimer",Button2Title:"Annuler",},ShifteditorViewDeleteBreakAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer cette pause ?",Button1Title:"Supprimer",Button2Title:"Annuler",},ShifteditorViewFormIncompleteAlert:{Title:"Infos incomplètes",InfoTextInvalidStartTime:"Heure de début invalide.",InfoTextInvalidEndTime:"Heure de fin invalide.",InfoTextInvalidBreakStartTime:"Heure début pause invalide.",InfoTextInvalidBreakEndTime:"Heure fin pause invalide.",InfoTextInvalidNotesLength:"Notes trop longues (max 512 car.).",Button1Title:"OK",},ShifteditorViewNoBreakItemsFoundText:"Aucune pause.",ShifteditorViewNoIssuesFoundText:"Aucune alerte.",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"Début sans lieu partagé.",ShiftEndedWithNoLocationData:"Fin sans lieu partagé.",ShiftStartedOutsideOfLocation:"Début hors zone autorisée.",ShiftEndedOutsideOfLocation:"Fin hors zone autorisée.",ShiftCreatedManually:"Créé manuellement.",ShiftDataWasEdited:"Modifié manuellement.",},ShifteditorViewManagerTitleText:"Manager",ShifteditorViewRespondedAtTitleText:"Répondu le",ShifteditorViewNotesTitle:"Notes",ShifteditorViewManagerNotesTitle:"Notes manager",ShifteditorViewApproveButtonTitleText:"Approuver",ShifteditorViewRejectButtonTitleText:"Rejeter",TimetrackingmanagementViewTitleText:"Suivi temps",TimetrackingmanagementViewSearchFieldPlaceholderText:"Rechercher",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"OK",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nouveau"},TasksViewTitleText:"Tâches",TasksViewTabBarMenuItemTitleText:{MyTasks:"Mes tâches",CreatedTasks:"Mes créations"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"Nouvelle tâche"},TasksViewSearchBarGroupByTitleText:"Grouper par",TasksViewSearchBarFilterTitleText:"Afficher",TasksViewSearchBarFilterShowAllTitleText:"Tout",TasksViewSearchBarInfoTextPart1:"Affichage de",TasksViewSearchBarInfoTextPart2:"sur",TasksViewSearchBarInfoTextPart3:"tâches",TasksViewSearchBarGroupByOptions:{Priority:"Priorité",Tags:"Tags"},TasksViewTaskPriorityList:{High_priority:"Haute",Medium_priority:"Moyenne",Low_priority:"Faible",No_priority:"Aucune"},TasksViewTaskStatusList:{All:"Tout",Open:"Ouverte",In_progress:"En cours",On_hold:"Attente",Cancelled:"Annulée",Done:"Fait",Closed:"Fermée"},TasksViewTableTitle:{TaskTitle:"Titre",TaskDescription:"Description",TaskCreationDate:"Création",TaskStartDate:"Début",TaskDueDate:"Échéance",TaskStatus:"Statut",TaskAsignees:"Assigné à"},TasksViewSearchFieldPlaceholderText:"Rechercher",TaskViewTitleText:"Tâche",TaskViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},TaskViewToolbarCreationTimeTitle:"Création",TaskViewToolbarStartedTimeTitle:"Début",TaskViewToolbarDueTimeTitle:"Échéance",TaskViewTaskInfoTitleText:"Titre",TaskViewTaskInfoDescriptionTitleText:"Description",TaskViewTaskInfoAsigneeTitleText:"Assigné à",TaskViewTaskInfoOwnerTitleText:"Propriétaire",FormsViewTitleText:"Formulaires",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"Nouveau",CreateFormTemplateButtonTitleText:"Modèle"},FormsViewTabBarMenuItemTitleText:{MyForms:"Mes formulaires",SharedForms:"Partagés",AssignedToMe:"Assignés",EmptyForms:"Modèles"},FormsViewSearchFieldPlaceholderText:"Rechercher",FormsViewSearchBarFilterTitleText:"Afficher",FormsViewFormStatusList:{All:"Tout",Open:"Ouvert",Completed:"Terminé",Closed:"Fermé",},FormsViewFormFilterList:{All:"Tout",MyForms:"Les miens",SharedForms:"Partagés",},FormsViewFormsTableTypeTitleText:"Type",FormsViewFormTypes:{1:"Standard",2:"Enquête",3:"Demande manager"},FormsViewSearchBarInfoTextPart1:"Affichage de",FormsViewSearchBarInfoTextPart2:"sur",FormsViewSearchBarInfoTextPart3:"formulaires",FormsViewFormsTableNameTitle:"Nom",FormsViewFormsTableTemplateNameTitle:"Modèle",FormsViewFormsTableCreatorTitle:"Créateur",FormsViewFormsTableAssignedToTitle:"Assigné à",FormsViewFormsTableAssignedByTitle:"Assigné par",FormsViewFormsTableCreationTimeTitle:"Création",FormsViewFormsTableLastModifiedTitle:"Modifié",FormsViewFormsTableDueTimeTitle:"Échéance",FormsViewFormsTablePublishedTimeTitle:"Publié le",FormsViewFormsTableCompletionTimeTitle:"Terminé le",FormsViewFormsTableStatusTitle:"Statut",FormsViewFormsTableTypeTitle:"Type",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Créer",EditButtonTitleText:"Modifier",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"Ouvrir",EditButtonTitleText:"Modifier",PublishButtonTitleText:"Publier",UnpublishButtonTitleText:"Dépublier",DeleteButtonTitleText:"Supprimer"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"Ouvrir",EditButtonTitleText:"Modifier",PublishButtonTitleText:"Publier",UnpublishButtonTitleText:"Dépublier",DeleteButtonTitleText:"Supprimer"},FormsViewDeleteFormTemplateAlert:{Title:"Supprimer le modèle ?",Description:"Voulez-vous supprimer ce modèle ? Cette action est irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},FormsViewDeleteFormAlert:{Title:"Supprimer le formulaire ?",Description:"Voulez-vous supprimer ce formulaire ? Cette action est irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},FormsViewPublishFormAlert:{Title:"Publier le formulaire ?",Description:"Une fois publié, les utilisateurs assignés verront le formulaire.",Button1Title:"Publier",Button2Title:"Annuler",},FormsViewUnpublishFormAlert:{Title:"Dépublier le formulaire ?",Description:"Dépublier ce formulaire impactera tous les utilisateurs assignés.",Button1Title:"Dépublier",Button2Title:"Annuler",},FormsViewNoItemsFoundTableItemText:"Aucun formulaire.",FormViewTitleText:"Formulaire",FormViewTitleBarMenu:{SaveButtonTitleText:"Enregistrer",PublishButtonTitleText:"Publier",UnpublishButtonTitleText:"Dépublier",SubmitButtonTitleText:"Envoyer",DuplicateButtonTitleText:"Double",PrintButtonTitleText:"Imprimer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},FormViewAlertPanel:{AlertNoNameTitleText:"Nom absent",AlertNoNameDescription:"Saisissez un nom pour le formulaire.",Button1Title:"OK",},FormViewFormNamePlaceholderText:"Nom du formulaire",FormViewSubmitButtonTitleText:"Soumettre",FormViewPublishButtonTitleText:"Publier",FormViewUnpublishButtonTitleText:"Dépublier",FormViewMenubarQuestionsButtonTitleText:"Formulaire",FormViewMenubarResponsesButtonTitleText:"Réponses",FormViewMenubarSettingsButtonTitleText:"Paramètres",FormViewResponsesDialogTitleText:"Réponses :",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"Résumé",Responses:"Réponses"},FormViewResponsesDialogTitleCompletionRateText:"Taux de complétion :",FormViewResponsesDialogMembersListTitleText:"Statut :",FormViewResponsesDialogMembersListCompletedBadgeText:"Terminé",FormViewResponsesDialogNoResponsesMessageText:"Aucune réponse. Elles apparaîtront ici dès que les assignés auront rempli le formulaire.",FormViewResponsesDialogResponsesSummeryTitleText:"Résumé des réponses :",FormViewFormNotValidAlert:{Title:"Erreur de soumission",Description:"Champs obligatoires manquants.",Button1Title:"OK",},FormreaderViewTitleText:"Formulaire",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"Brouillon",SubmitTitleText:"Envoyer",CloseButtonTitleText:"Fermer"},FormreaderViewSubmitButtonTitleText:"Soumettre",FormreaderViewFormCompletedInfoText:"Formulaire déjà soumis.",FormreaderViewFormClosedInfoText:"Formulaire fermé.",FormreaderViewFormNotFoundTitleText:"Introuvable",FormreaderViewFormNotFoundInfoText:"Ce formulaire n'existe plus ou a été supprimé.",FormreaderViewFormNotValidAlert:{Title:"Formulaire incomplet",Description:"Certains champs obligatoires sont vides.",Button1Title:"OK",},FormreaderViewAnonymousFormInfoText:"Ce formulaire est anonyme.",SchedulingViewTitleText:"Planning",SchedulingmanagementViewTitleText:"Gestion planning",SchedulingmanagementViewSearchFieldPlaceholderText:"Rechercher",SchedulingmanagementViewSearchBarSearchButtonTitleText:"OK",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nouveau"},CalendarViewTitleText:"Agenda",CalendarViewLayoutPickerDayTitleText:"Jour",CalendarViewLayoutPickerWeekTitleText:"Semaine",CalendarViewLayoutPickerMonthTitleText:"Mois",CalendarViewAllDayRowTitleText:"Journée entière",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"Nouvel événement",CreateCalendarButtonTitleText:"Nouvel agenda"},CalendarViewMyCalendarsTitleText:"Mes agendas",CalendarViewSharedCalendarsTitleText:"Partagés",CalendarViewCalendarItemMenu:{CalendarSettingsButtonTitleText:"Paramètres",CalendarColorsTitleText:"Couleur"},CalendareditorViewTitleText:"Éditeur de calendrier",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Dupliquer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},CalendareditorViewFormTitle:"Détails du calendrier",CalendareditorViewCalendarTitleInputTitle:"Titre du calendrier",CalendareditorViewSharingSectionTitle:"Partage et autorisations",CalendareditorViewInviteTitleText:"Partagé avec",CalendareditorViewManageSharingTitle:"Gérer l'accès",CalendareditorViewInviteButtonTitleText:"Modifier le partage",CalendareditorViewExpandInviteeButtonShowTitleText:"Afficher les détails",CalendareditorViewExpandInviteeButtonHideTitleText:"Masquer les détails",CalendareditorViewInternalInviteUsersTitleText:"Utilisateurs partagés",CalendareditorViewInternalInviteDepartmentsTitleText:"Départements partagés",CalendareditorViewInternalInviteTeamsTitleText:"Équipes partagées",CalendareditorViewInternalInviteUsersTableEmptyTitleText:"Partagé avec aucun utilisateur",CalendareditorViewInternalInviteDepartmentsTableEmptyTitleText:"Partagé avec aucun département",CalendareditorViewInternalInviteTeamsTableEmptyTitleText:"Partagé avec aucune équipe",CalendareditorViewDeleteAlert:{Title:"Supprimer le calendrier",Body:"Voulez-vous vraiment supprimer ce calendrier ? Cette action est irréversible.",Confirm:"Supprimer",Cancel:"Annuler"},CalendareditorViewCalendarDescriptionInputTitle:"Description",CalendareditorViewReadOnlyTitleText:"Lecture seule",CalendareditorViewExternalAvailableTitleText:"Disponible à l'extérieur",CalendareditorViewIsDefaultTitleText:"Calendrier par défaut",CalendareventeditorViewTitleText:"Éditeur d'événement",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",RevertButtonTitleText:"Rétablir",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},CalendareventeditorViewEventTitleInputTitle:"Titre de l'événement",CalendareventeditorViewCalendarTitleInputTitle:"Agenda",CalendareventeditorViewEventStartTimeTitleText:"Début",CalendareventeditorViewEventEndTimeTitleText:"Fin",CalendareventeditorViewEventAllDayTitleText:"Journée entière",CalendareventeditorViewEventDescriptionTitleText:"Description",CalendareventeditorViewRecurrenceTitleText:"Récurrence",CalendareventeditorViewRecurrenceDropdownRecurrenceNoneTitle:"Aucune",CalendareventeditorViewRecurrenceDropdownRecurrenceDailyTitle:"Quotidienne",CalendareventeditorViewRecurrenceDropdownRecurrenceWeeklyTitle:"Hebdomadaire",CalendareventeditorViewRecurrenceDropdownRecurrenceMonthlyTitle:"Mensuelle",CalendareventeditorViewRecurrenceWeeklyDaysSun:"D",CalendareventeditorViewRecurrenceWeeklyDaysMon:"L",CalendareventeditorViewRecurrenceWeeklyDaysTue:"M",CalendareventeditorViewRecurrenceWeeklyDaysWed:"M",CalendareventeditorViewRecurrenceWeeklyDaysThu:"J",CalendareventeditorViewRecurrenceWeeklyDaysFri:"V",CalendareventeditorViewRecurrenceWeeklyDaysSat:"S",CalendareventeditorViewRecurrenceEndDateTitleText:"Se termine le",CalendareventeditorViewInviteTitleText:"Participants",CalendareventeditorViewExpandInviteeButtonShowTitleText:"Afficher",CalendareventeditorViewExpandInviteeButtonHideTitleText:"Masquer",CalendareventeditorViewInternalInviteTitleText:"Invités internes",CalendareventeditorViewInternalInviteUsersTitleText:"Utilisateurs",CalendareventeditorViewInternalInviteDepartmentsTitleText:"Départements",CalendareventeditorViewInternalInviteTeamsTitleText:"Équipes",CalendareventeditorViewExternalInviteTitleText:"Invités externes",CalendareventeditorViewInviteButtonTitleText:"Gérer",CalendareventeditorViewExternalInviteEmailTitleText:"Saisir l'e-mail",CalendareventeditorViewInternalInviteUsersTableEmptyTitleText:"Aucun utilisateur",CalendareventeditorViewInternalInviteDepartmentsTableEmptyTitleText:"Aucun département",CalendareventeditorViewInternalInviteTeamsTableEmptyTitleText:"Aucune équipe",CalendareventeditorViewEventLocationTitleText:"Lieu",CalendareventeditorViewRemindersTitleInputTitle:"Rappel",CalendareventeditorViewRemindersDropdownNone:"Aucun",CalendareventeditorViewRemindersDropdown1Day:"1 jour avant",CalendareventeditorViewRemindersDropdown1Hour:"1 heure avant",CalendareventeditorViewRemindersDropdown30Mins:"30 minutes avant",CalendareventeditorViewRemindersDropdown15Mins:"15 minutes avant",CalendareventeditorViewRemindersDropdown1Min:"1 minute avant",CalendareventeditorViewRecurrenceEditAlert:{Title:"Événement récurrent",Body:"Modifier uniquement cette occurrence ou toute la série ?",Button1Title:"Occurrence",Button2Title:"Série"},CalendareventeditorViewFormIncompleteAlert:{Title:"Événement incomplet",InfoTextInvalidStartTime:"L'heure de début est invalide. Veuillez la corriger.",InfoTextInvalidEndTime:"L'heure de fin est invalide. Veuillez la corriger.",InfoTextInvalidDateSequence:"La date de début ne peut pas être après la date de fin.",InfoTextInvalidNotesLength:"Description trop longue (max. 512 caractères).",Button1Title:"OK",},CalendareventeditorViewSaveEventAlert:{Title:"Enregistrer les modifications",Body:"Voulez-vous vraiment enregistrer les modifications de cet événement ?",Button1Title:"Enregistrer",Button2Title:"Annuler",},CalendareventeditorViewRecurrenceSavePrompt:{Title:"Enregistrer l'événement récurrent",Body:"Voulez-vous appliquer les modifications à cette occurrence uniquement ou à toute la série ?",Button1Title:"Cette occurrence",Button2Title:"Toute la série",},CalendareventeditorViewDeleteEventAlert:{Title:"Supprimer l'événement",Body:"Voulez-vous vraiment supprimer cet événement ? Cette action est irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},CalendareventeditorViewRecurrenceDeletePrompt:{Title:"Supprimer l'événement récurrent",Body:"Voulez-vous supprimer cette occurrence uniquement ou toute la série ?",Button1Title:"Cette occurrence",Button2Title:"Toute la série",},CalendareventeditorViewRevertEventAlert:{Title:"Rétablir la série",Body:"Voulez-vous vraiment rétablir cette instance ? Toutes les modifications apportées à cette date seront perdues.",Button1Title:"Rétablir",Button2Title:"Annuler"},CalendareventViewTitleText:"Événement",CalendareventViewInvitationHeaderText:"vous a invité à un événement",CalendareventViewResponseGoing:"J'y vais",CalendareventViewResponseMaybe:"Peut-être",CalendareventViewResponseNotGoing:"Pas intéressé",CalendareventViewTitleBarMenu:{NewButtonTitleText:"Nouveau",EditButtonTitleText:"Modifier",DeleteButtonTitleText:"Supprimer",RejectButtonTitleText:"Refuser",CloseButtonTitleText:"Fermer"},CalendareventViewFormTitle:"Détails de l'événement",CalendareventViewCalendarTitleInputTitle:"Calendrier",CalendareventViewEventDescriptionTitleText:"Description",CalendareventViewEventLocationTitleText:"Lieu",CalendareventViewRecurrenceTitleText:"Récurrence",CalendareventViewRecurrenceEndDateTitleText:"Se termine le",CalendareventViewRecurrenceDropdownRecurrenceNoneTitle:"Aucune",CalendareventViewRecurrenceDropdownRecurrenceDailyTitle:"Quotidienne",CalendareventViewRecurrenceDropdownRecurrenceWeeklyTitle:"Hebdomadaire",CalendareventViewRecurrenceDropdownRecurrenceMonthlyTitle:"Mensuelle",CalendareventViewRecurrenceDailyText:"Tous les jours",CalendareventViewRecurrenceWeeklyText:"Chaque semaine le",CalendareventViewRecurrenceMonthlyText:"Mensuel",CalendareventViewRecurrenceYearlyText:"Annuel",CalendareventViewRecurrenceUntilText:"jusqu'au",CalendareventViewRecurrenceEveryText:"Tous les",CalendareventViewRecurrenceWeeklyDaysSun:"D",CalendareventViewRecurrenceWeeklyDaysMon:"L",CalendareventViewRecurrenceWeeklyDaysTue:"M",CalendareventViewRecurrenceWeeklyDaysWed:"M",CalendareventViewRecurrenceWeeklyDaysThu:"J",CalendareventViewRecurrenceWeeklyDaysFri:"V",CalendareventViewRecurrenceWeeklyDaysSat:"S",CalendareventViewLocationTitleText:"Lieu",CalendareventViewNavigateButtonText:"Naviguer",CalendareventViewJoinButtonText:"Participer",CalendareventViewStatusAccepted:"Accepté",CalendareventViewStatusTentative:"Provisoire",CalendareventViewStatusDeclined:"Refusé",CalendareventViewStatusPending:"En attente",CalendareventViewStatusOrganizer:"Organisateur",CalendareventViewAttendeesTitleText:"Participants",CalendareventViewExpandAttendeesButtonShowTitleText:"Afficher",CalendareventViewExpandAttendeesButtonHideTitleText:"Masquer",CalendareventViewRemindersTitleInputTitle:"Rappel",CalendareventViewRemindersDropdownNone:"Aucun",CalendareventViewRemindersDropdown1Day:"1 jour avant",CalendareventViewRemindersDropdown1Hour:"1 heure avant",CalendareventViewRemindersDropdown30Mins:"30 minutes avant",CalendareventViewRemindersDropdown15Mins:"15 minutes avant",CalendareventViewRemindersDropdown1Min:"1 minute avant",CalendareventViewStatusUpdateAlert:{Title:"Mettre à jour le statut de l'invitation",Body:"Souhaitez-vous mettre à jour le statut pour toute la série ou uniquement pour cette date précise ?",Button1Title:"Occurrence",Button2Title:"Série",},CalendareventViewDeleteEventAlert:{Title:"Supprimer l'événement",Body:"Voulez-vous vraiment supprimer cet événement ? Cette action est irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},CalendareventViewRecurrenceDeletePrompt:{Title:"Supprimer l'événement récurrent",Body:"Voulez-vous supprimer cette occurrence uniquement ou toute la série ?",Button1Title:"Cette occurrence",Button2Title:"Toute la série",},CalendareventViewRejectEventAlert:{Title:"Refuser l'invitation",Body:"Voulez-vous vraiment refuser cette invitation ? Cette action est irréversible.",Button1Title:"Refuser",Button2Title:"Annuler",},CalendareventViewRecurrenceRejectPrompt:{Title:"Refuser l'événement récurrent",Body:"Voulez-vous refuser cette occurrence uniquement ou toute la série ?",Button1Title:"Cette occurrence",Button2Title:"Toute la série",},CalendareventViewReminderUpdateAlert:{Title:"Mettre à jour le rappel",Body:"Souhaitez-vous mettre à jour le rappel uniquement pour cette instance ou pour toute la série ?",Button1Title:"Cette instance",Button2Title:"Toute la série"},MailboxViewTitleText:"E-mail",MailboxViewNavigationBarInboxTitleText:"Réception",MailboxViewComposeButtonTitle:"Rédiger",MailboxViewTitleBarMenu:{NewButtonTitleText:"Nouveau message",EmptyTrashButtonTitle:"Vider corbeille"},MailboxViewTableItemMenu:{SendButtonTitleText:"Envoyer",ReplyButtonTitleText:"Répondre",ForwardButtonTitleText:"Transférer",MoveButtonTitleText:"Déplacer",MarkAsReadButtonTitleText:"Lu",MarkAsUnreadButtonTitleText:"Non lu",MarkAsSpamButtonTitleText:"Spam",RemoveFromSpamButtonTitleText:"Pas un spam",DeleteButtonTitleText:"Supprimer",PermanentlyDeleteButtonTitleText:"Supprimer déf.",RestoreButtonTitleText:"Restaurer"},MailboxViewEmptyTableItemText:"Aucun e-mail.",MailboxViewNavigationBarInfoTextPart1:"Affichage",MailboxViewNavigationBarInfoTextPart2:"/",MailboxViewNavigationBarInfoTextPart3:"e-mails",MailboxViewFolderListTitleText:"Dossiers",MailboxViewSystemMailboxNames:{INBOX:"Réception",SENT:"Envoyés",DRAFTS:"Brouillons",SPAM:"Indésirables",DELETED:"Corbeille"},MailboxViewDeleteEmailAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer cet e-mail ?",Button1Title:"Supprimer",Button2Title:"Annuler",},MailboxViewPermanentDeleteEmailAlert:{Title:"Supprimer définitivement ?",Description:"Cette action est irréversible. Toutes les données seront perdues.",Button1Title:"Supprimer",Button2Title:"Annuler",},MailboxViewRestoreEmailAlert:{Title:"Restaurer ?",Description:"Voulez-vous restaurer cet e-mail ?",Button1Title:"Restaurer",Button2Title:"Annuler",},MailboxViewDeleteFolderAlert:{Title:"Supprimer le dossier ?",Description:"Voulez-vous vraiment supprimer ce dossier ?",Button1Title:"Supprimer",Button2Title:"Annuler",},MailboxViewEmptyDeletedItemslAlert:{Title:"Vider la corbeille ?",Description:"Souhaitez-vous tout supprimer ? Cette action est irréversible.",Button1Title:"Vider",Button2Title:"Annuler",},MailboxViewFolderItemMenu:{RenameButtonTitleText:"Renommer",DeleteButtonTitleText:"Supprimer",},EmailViewTitleText:"E-mail",EmailViewTitleBarMenu:{NewButtonTitleText:"Nouveau",ReplyButtonTitleText:"Répondre",ForwardButtonTitleText:"Transférer",DeleteButtonTitleText:"Supprimer",RestoreButtonTitleText:"Restaurer",PrintButtonTitleText:"Imprimer",CloseButtonTitleText:"Fermer"},EmailViewToHeaderText:"À",EmailViewCcHeaderText:"Cc",EmailViewAttachmentMenu:{DownloadButtonTitleText:"Télécharger",SaveToDriveButtonTitleText:"Enregistrer Drive",},EmailViewDeleteEmailAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer cet e-mail ?",Button1Title:"Supprimer",Button2Title:"Annuler",},EmailViewRestoreEmailAlert:{Title:"Restaurer ?",Description:"Souhaitez-vous restaurer cet e-mail ?",Button1Title:"Restaurer",Button2Title:"Annuler",},EmailViewSaveEmailToCloudDriveAlert:{Title:"Fichier enregistré",Description:"Succès : Fichier enregistré dans votre drive.",Button1Title:"Ouvrir le drive",Button2Title:"Fermer",},EmailViewOnRespondToEmailInviteSuccessAlert:{Title:"Réponse envoyée",Description:"Votre réponse a bien été envoyée à l'organisateur de l'événement.",Button1Title:"Ok"},EmailViewCalendarInviteText:"Invitation au calendrier",EmailViewCalendarReplyText:"Réponse au calendrier",EmailViewCalendarAcceptedStatus:"Le participant a accepté l'invitation.",EmailViewCalendarTentativeStatus:"Le participant a accepté provisoirement.",EmailViewCalendarDeclinedStatus:"Le participant a décliné l'invitation.",EmailViewCalendarCancelStatusNote:"Cet événement a été retiré de votre emploi du temps.",EmailViewCalendarCancelText:"Annulé",EmailViewCalendarAcceptButtonText:"Accepter",EmailViewCalendarDeclineButtonText:"Refuser",EmailViewCalendarMaybeButtonText:"Peut-être",EmailViewCalendarRepeatText:"Répétition",EmailViewCalendarFromText:"à partir du",EmailViewCalendarToText:"jusqu'au",EmailViewCalendarGMTText:"GMT",EmailViewCalendarFreqDAILY:"Quotidienne",EmailViewCalendarFreqWEEKLY:"Hebdomadaire",EmailViewCalendarFreqMONTHLY:"Mensuelle",EmailViewCalendarFreqYEARLY:"Annuelle",EmailViewAttachementFooterTitle:"Pièces jointes",EmaileditorViewTitleText:"Nouveau message",EmaileditorViewHeaderFromTitle:"De",EmaileditorViewHeaderToTitle:"À",EmaileditorViewHeaderCcTitle:"Cc",EmaileditorViewHeaderBccTitle:"Cci",EmaileditorViewHeaderSubjectTitle:"Objet",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"Envoyer",SaveButtonTitleText:"Enregistrer",NewButtonTitleText:"Nouveau",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},EmaileditorViewSendErrorAlert:{Title:"Erreur d'envoi",MaxSizeReachedDescription:"La taille totale dépasse la limite de 10 Mo.",Button1Title:"OK",},EmaileditorViewAlert:{NoRecipientTitleText:"Destinataire absent",NoRecipientDescriptionText:"Veuillez saisir au moins un destinataire.",Button1Title:"OK",Button2Title:"Annuler"},EmaileditorViewDeleteEmailAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer cet e-mail ?",Button1Title:"Supprimer",Button2Title:"Annuler",},EmaileditorViewQuillLinkTitleText:"Lien",EmaileditorViewQuillLinkSaveText:"Sauver",EmaileditorViewQuillLinkVisitURLText:"Visiter",EmaileditorViewQuillLinkEditText:"Modifier",EmaileditorViewQuillLinkRemoveText:"Supprimer",MailboxsettingsViewTitleText:"Paramètres Mail",MailboxsettingsViewSearchFieldPlaceholderText:"Rechercher",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"Créer alias"},MailboxsettingseitorViewTitleText:"Éditeur de paramètres Mail",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},ClouddriveViewTitleText:"Cloud",ClouddriveViewNavigationBarTitleText:"Drive",ClouddriveViewNavigationBarInfoText1:"Affichage",ClouddriveViewNavigationBarInfoText2:"éléments",ClouddriveViewTotalFilesInfoText:"Mes fichiers",ClouddriveViewTotalSizeInfoText:"Taille",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"Rechercher",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"Nouveau dossier",UploadButtonTitleText:"Téléverser",RenameFolderButtonTitleText:"Renommer dossier",DeleteFolderButtonTitleText:"Supprimer dossier",UpdateFolderSettingsButtonTitleText:"Paramètres"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"Renommer",DownloadButtonTitleText:"Télécharger",MoveButtonTitleText:"Déplacer",DeleteButtonTitleText:"Supprimer",StarButtonTitleText:"Favori",UnstarButtonTitleText:"Retirer favori",SettingsButtonTitleText:"Paramètres"},ClouddriveViewDeleteFileAlert:{DeleteFolderTitle:"Supprimer dossier ?",DeleteFileTitle:"Supprimer fichier ?",DeleteFolderBody:"Tout le contenu sera supprimé. Action irréversible !",DeleteFileBody:"Voulez-vous supprimer ce fichier ? Action irréversible !",Button1Title:"Supprimer",Button2Title:"Annuler"},ClouddriveViewSidebarListItems:{MyFiles:"Mes fichiers",SharedWithMe:"Partagés",Starred:"Favoris"},PreviewViewTitleText:"Aperçu",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"Télécharger",RenameFileButtonTitleText:"Renommer",PrintButtonTitleText:"Imprimer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},PreviewViewDeleteFileAlert:{DeleteTitle:"Supprimer ?",DeleteBody:"Voulez-vous supprimer ce fichier ? Action irréversible !",Button1Title:"Supprimer",Button2Title:"Annuler"},PdfViewTitleText:"Lecteur PDF",PdfViewTitleBarMenu:{DownloadButtonTitleText:"Télécharger",CloseButtonTitleText:"Fermer"},DirectoryViewTitleText:"Annuaire",DirectoryViewContactsListTitle:"Contacts",DirectoryViewSearchFieldPlaceholderText:"Rechercher",DirectoryViewStartChatText:"Envoyer message",DirectoryViewPhoneText:"Tél",DirectoryViewEmailText:"E-mail",DirectoryViewStartVoiceCallText:"Appel vocal",DirectoryViewStartVideoCallText:"Appel vidéo",DirectoryViewContactsPlaceholderText:"Sélectionnez un contact",DirectoryViewContactsEmptyListItemTitleText:"Aucun contact.",ProfileViewTitleText:"Profil",ProfileViewInfoText:"Informations personnelles",ProfileViewProfilePictureTitleText:"Photo de profil",ProfileViewProfilePictureText:"Taille recommandée : 500x500px",ProfileViewProfilePictureUploadButtonTitleText:"Téléverser",ProfileViewProfilePictureDeleteButtonTitleText:"Supprimer",ProfileViewProfilePictureInfoText:"Une photo claire aide votre équipe à vous identifier.",ProfileViewFormFirstNameTitleText:"Prénom",ProfileViewFormLastNameTitleText:"Nom",ProfileViewFormPhoneNumberTitleText:"Téléphone",ProfileViewFormEmailTitleText:"E-mail",ProfileViewUpdateButtonTitleText:"Modifier",ProfileViewSaveButtonTitleText:"Enregistrer",ProfileViewEmailInUseAlertTitle:"E-mail déjà utilisé",ProfileViewEmailInUseAlertText:"Cette adresse e-mail est déjà attribuée à un autre compte.",ProfileViewEmailInUseAlertButtonText:"OK",ProfileViewPhoneNumberInUseAlertTitle:"Numéro déjà utilisé",ProfileViewPhoneNumberInUseAlertText:"Ce numéro de téléphone est déjà attribué à un autre compte.",ProfileViewPhoneNumberInUseAlertButtonText:"OK",SettingsViewTitleText:"Paramètres",SettingsViewSearchFieldPlaceholderText:"Rechercher",SettingsViewDetailsPlaceholderText:"Sélectionnez une catégorie...",UsersettingsViewTitleText:"Paramètres",UserSettingsViewUserSettingsTitleText:"Préférences :",UserSettingsViewLanguageSettingsTitleText:"Langue :",UserSettingsViewLanguageSettingsText:"Choisissez la langue de l'interface :",SecurityViewTitleText:"Sécurité",SecurityViewUserSettingsTitleText:"Paramètres :",SecurityViewSecuritySettingsTitleText:"Changer le mot de passe :",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"Nouveau mot de passe :",SecurityViewSecuritySettingsPassword2TitleText:"Confirmation :",SecurityViewSecuritySettingsSubmitButtonTitle:"Modifier",SecurityViewDefaultMessageText:"Saisissez votre nouveau mot de passe :",SecurityViewMessageHolderTitleText:"Critères du mot de passe :",SecurityViewMessageHolderLowercaseTitleText:"• Une minuscule",SecurityViewMessageHolderUppercaseTitleText:"• Une majuscule",SecurityViewMessageHolderNumberTitleText:"• Un chiffre",SecurityViewMessageHolderLengthTitleText:"• Min. 8 caractères",SecurityViewPasswordMissmatchMessageText:"Les mots de passe ne correspondent pas",SecurityViewPasswordInvalidMessageText:"Mot de passe invalide",SecurityViewPasswordUpdateSucessAlert:{Title:"Succès",Description:"Le mot de passe a été mis à jour.",Button1Title:"OK",},SecurityViewPasscodeSettingsTitleText:"Code d'accès :",SecurityViewDefaultPasscodeMessageText:"Nouveau code d'accès :",SecurityViewSecuritySettingsPasscodeTitleText:"Code",SecurityViewPasscodeInvalidMessageText:"Code incorrect.",SecurityViewPasscodeUpdateSucessAlert:{Title:"Succès",Description:"Code d'accès mis à jour.",Button1Title:"OK",},NotificationsViewTitleText:"Notifications",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"Vous a assigné un formulaire",EmployeeCheckedInOutsideOfLocationsTitleText:"Quart démarré hors zone.",EmployeeCheckedOutOutsideOfLocationsTitleText:"Quart terminé hors zone.",EmployeeCheckedInWithNoLocationTitleText:"Quart démarré sans lieu.",EmployeeCheckedOutWithNoLocationTitleText:"Quart terminé sans lieu.",EmployeeAbsenceRequestTitleText:"Demande de congé.",NewEmailTitleText:"E-mail",EmployeeAbsenceRequestInfoText:"Cliquez pour examiner la demande.",EmployeeAbsenceResponseApprovedTitleText:"Congé approuvé.",EmployeeAbsenceResponseRejectedTitleText:"Congé refusé.",EmployeeAbsenceResponseInfoText:"Cliquez pour voir les détails.",CalendarEventInvitedTitleText:"Vous a invité à",CalendarEventUpdatedTitleText:"A mis à jour",CalendarEventCanceledTitleText:"A annulé",CalendarEventAcceptedTitleText:"A accepté votre invitation pour",CalendarEventTentativeTitleText:"A provisoirement accepté votre invitation pour",CalendarEventRejectedTitleText:"A refusé votre invitation pour",CalendarEventFromText:"à partir du",CalendarEventFreqDAILY:"Quotidien",CalendarEventFreqWEEKLY:"Hebdomadaire",CalendarEventFreqMONTHLY:"Mensuel",CalendarEventFreqYEARLY:"Annuel",CalendarEventReminderTitleText:"Rappel",CalendarEventReminderStartsInText:"Commence dans",CalendarEventReminderTomorrowAtText:"Demain à",CalendarEventReminderMinutesText:"minutes",CalendarEventReminderHoursText:"heure"},NotificationsViewClearAllNotificationsButtonTitleText:"Tout effacer",NotificationsViewNotificationItemClearButtonTitleText:"Effacer",NotificationsViewClearAllNotificationsAlert:{Title:"Tout effacer ?",Description:"Voulez-vous supprimer toutes les notifications ?",Button1Title:"Effacer",Button2Title:"Annuler",},NotificationsViewEmptyNotificationItem:"Aucune notification.",UserAccountsTitleText:"Utilisateurs",UserAccountsViewFirstNameTitleText:"Prénom",UserAccountsViewLastNameTitleText:"Nom",UserAccountsViewJobTitleTitleText:"Titre",UserAccountsViewEmailTitleText:"E-mail",UserAccountsViewPhoneNumberTitleText:"Téléphone",UserAccountsViewAccountActiveTitleText:"Actif",UserAccountsViewAccountBlockedTitleText:"Bloqué",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"Ajouter utilisateur"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"Modifier",SendInviteButtonTitleText:"Inviter",ResetPasswordButtonTitleText:"Réinit. MDP",LogoutButtonTitleText:"Déconnexion",BlockButtonTitleText:"Bloquer",UnblockButtonTitleText:"Débloquer",DeleteButtonTitleText:"Supprimer"},UserAccountsViewSearchBarInfoTextPart1:"Affichage de",UserAccountsViewSearchBarInfoTextPart2:"sur",UserAccountsViewSearchBarInfoTextPart3:"utilisateurs",EdituserViewAddTitleText:"Ajouter utilisateur",EdituserViewEditTitleText:"Modifier utilisateur",EdituserViewTitleBarSaveButtonTitleText:"Enregistrer",EdituserViewTitleBarCancelButtonTitleText:"Annuler",EdituserViewFormFirstNameTitleText:"Prénom",EdituserViewFormLastNameTitleText:"Nom",EdituserViewFormUserNameTitleText:"Identifiant",EdituserViewFormJobTitleTitleText:"Titre",EdituserViewFormPhoneNumberTitleText:"Téléphone",EdituserViewFormEmailTitleText:"E-mail",EdituserViewFormInmailEmailTitleText:"E-mail interne",EdituserViewFormInmailCheckboxTitleText:"Activer inmail",EdituserViewEmailInUseAlertTitle:"E-mail utilisé",EdituserViewEmailInUseAlertText:"Cette adresse est déjà utilisée.",EdituserViewEmailInUseAlertButtonText:"OK",EdituserViewPhoneNumberInUseAlertTitle:"Téléphone utilisé",EdituserViewPhoneNumberInUseAlertText:"Ce numéro est déjà utilisé.",EdituserViewPhoneNumberInUseAlertButtonText:"OK",EdituserViewTimetrackingListTitleText:"Paramètres temps",EdituserViewLocationsListTitleText:"Lieux autorisés",EdituserViewPositionsListTitleText:"Rôles",EdituserViewFeatureAccessListTitleText:"Accès fonctionnalités",EdituserViewSettingsAccessListTitleText:"Accès paramètres",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"Approbation requise",EdituserViewTimetrackingListReviewAccesslItemTitleText:"Accès consultation",EdituserViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},EdituserViewDeleteUserAlert:{Title:"Supprimer utilisateur ?",Description:"Voulez-vous supprimer cet utilisateur ? Action irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},EdituserViewErrorAlert:{Title:"Compte incomplet",DescriptionNoPositionSelected:"Sélectionnez au moins un rôle.",Button1Title:"OK",},GroupmanagementViewTitleText:"Gestion groupes",GroupmanagementViewSearchFieldPlaceholderText:"Rechercher",GroupmanagementViewSearchBarSearchButtonTitleText:"OK",GroupmanagementViewDepartmentsTitleText:"Départements",GroupmanagementViewTeamsTitleText:"Équipes",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"Nouveau dép.",CreateTeamTemplateButtonTitleText:"Nouvelle équipe"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"Modifier",DeleteButtonTitleText:"Supprimer"},GroupmanagementViewSearchBarInfoTextPart1:"Affichage de",GroupmanagementViewSearchBarInfoTextPart2:"sur",GroupmanagementViewSearchBarInfoTextPart3:"résultats",GroupmanagementViewDeleteTeamAlert:{Title:"Supprimer l'équipe ?",Description:"Voulez-vous supprimer cette équipe ? Action irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},GroupmanagementViewDeleteDepartmentAlert:{Title:"Supprimer le dép. ?",Description:"Voulez-vous supprimer ce département ? Action irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},GroupeditorViewDepartmentIDText:"ID Département",GroupeditorViewTeamIDText:"ID Équipe",GroupeditorViewAddDepartmentTitleText:"Nouveau département",GroupeditorViewEditDepartmentTitleText:"Modifier département",GroupeditorViewAddTeamTitleText:"Nouvelle équipe",GroupeditorViewEditTeamTitleText:"Modifier équipe",GroupeditorViewDepartmentTitleText:"Nom du département",GroupeditorViewDepartmentDescriptionText:"Description",GroupeditorViewTeamTitleText:"Nom de l'équipe",GroupeditorViewTeamDescriptionText:"Description",GroupeditorViewMembersTableTitle:"Membres",GroupeditorViewManagersTableTitle:"Managers",GroupeditorViewAdminsTableTitle:"Admins",GroupeditorViewMembersTableSearchFieldPlaceholderText:"Rechercher",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},GroupeditorViewDeleteTeamAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer cette équipe ?",Button1Title:"Supprimer",Button2Title:"Annuler",},GroupeditorViewDeleteDepartmentAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce département ?",Button1Title:"Supprimer",Button2Title:"Annuler",},PositionsmanagementViewTitleText:"Gestion rôles",PositionsmanagementViewSearchFieldPlaceholderText:"Rechercher",PositionsmanagementViewSearchBarSearchButtonTitleText:"OK",PositionsmanagementViewSearchBarInfoTextPart1:"Affichage",PositionsmanagementViewSearchBarInfoTextPart2:"/",PositionsmanagementViewSearchBarInfoTextPart3:"résultats",PositionsmanagementViewPositionsTitleText:"Rôles",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"Nouveau rôle",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"Modifier",DeleteButtonTitleText:"Supprimer"},PositionsmanagementViewEmptyTableItemText:"Aucun rôle.",PositionsmanagementViewDeletePositionAlert:{Title:"Supprimer rôle ?",Description:"Voulez-vous supprimer ce rôle ? Impactera tous les utilisateurs associés.",Button1Title:"Supprimer",Button2Title:"Annuler",},PositioneditorViewTitleText:"Éditeur de rôles",PositioneditorViewPositionText:"ID Rôle",PositioneditorViewPositionTitleText:"Titre",PositioneditorViewPositionDescriptionText:"Description",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},PositioneditorViewDeletePositionAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce rôle ?",Button1Title:"Supprimer",Button2Title:"Annuler",},LocationsmanagementViewTitleText:"Gestion lieux",LocationsmanagementViewSearchFieldPlaceholderText:"Rechercher",LocationsmanagementViewSearchBarSearchButtonTitleText:"OK",LocationsmanagementViewSearchBarInfoTextPart1:"Affichage",LocationsmanagementViewSearchBarInfoTextPart2:"/",LocationsmanagementViewSearchBarInfoTextPart3:"résultats",LocationsmanagementViewLocationsTitleText:"Lieux",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"Nouveau lieu",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"Modifier",DeleteButtonTitleText:"Supprimer"},LocationsmanagementViewEmptyTableItemText:"Aucun lieu.",LocationsmanagementViewDeleteLocationAlert:{Title:"Supprimer lieu ?",Description:"Voulez-vous supprimer ce lieu ?",Button1Title:"Supprimer",Button2Title:"Annuler",},LocationeditorViewTitleText:"Éditeur de lieu",LocationeditorViewLocationText:"ID Lieu",LocationeditorViewLocationTitleText:"Titre",LocationeditorViewLocationAddressText:"Adresse",LocationeditorViewLocationLatitudeText:"Latitude",LocationeditorViewLocationLongitudeText:"Longitude",LocationeditorViewLocationDistanceText:"Rayon autorisé (m)",LocationeditorViewSetCurrentLocationButtonTitleText:"Lieu actuel",LocationeditorViewShowOnMapButtonTitleText:"Voir carte",LocationeditorViewReloadMapButtonTitleText:"Actualiser carte",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},LocationeditorViewDeleteLocationAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce lieu ?",Button1Title:"Supprimer",Button2Title:"Annuler",},TasksmanagementViewTitleText:"Gestion tâches",TasksmanagementViewSearchFieldPlaceholderText:"Rechercher",TasksmanagementViewSearchBarSearchButtonTitleText:"OK",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Nouveau modèle"},TaskeditorViewTitleText:"Éditeur de tâches",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},FormsmanagementViewTitleText:"Gestion formulaires",FormsmanagementViewSearchFieldPlaceholderText:"Rechercher",FormsmanagementViewSearchBarInfoTextPart1:"Affichage",FormsmanagementViewSearchBarInfoTextPart2:"/",FormsmanagementViewSearchBarInfoTextPart3:"formulaires",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"Nouveau modèle"},FormsmanagementViewFormsTableNameTitle:"Nom du modèle",FormsmanagementViewFormsTableCreatorTitle:"Créateur",FormsmanagementViewFormsTableCreationTimeTitle:"Création",FormsmanagementViewFormsTableLastModifiedTitle:"Modification",FormsmanagementViewFormsTableEmptyPlaceholderText:"Aucun modèle trouvé.",FormsmanagementViewDeleteFormTemplateAlert:{Title:"Supprimer modèle ?",Description:"Voulez-vous supprimer ce modèle ? Action irréversible.",Button1Title:"Supprimer",Button2Title:"Annuler",},FormeditorViewTitleText:"Éditeur de modèles",FormeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},FormeditorViewFormsTableNameTitle:"Nom",FormeditorViewFormsTableCreatorTitle:"Créateur",FormeditorViewFormsTableCreationTimeTitle:"Création",FormeditorViewFormsTableLastModifiedTitle:"Modification",FormeditorViewFormsDuplicateTitleText:"(Copie)",FormeditorViewShareSettingsShareButtonTitleText:"Paramètres",FormeditorViewDeleteFormTemplateAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce modèle ?",Button1Title:"Supprimer",Button2Title:"Annuler",},FormditorViewTemplateTypeTitleText:"Type de formulaire :",FormTypes:{1:"Standard",2:"Enquête",3:"Demande manager"},FormtemplatesViewTitleText:"Modèles",FormtemplatesViewSearchFieldPlaceholderText:"Rechercher",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"Nouveau modèle",CloseButtonTitleText:"Fermer"},FormtemplatesViewSearchBarInfoTextPart1:"Affichage",FormtemplatesViewSearchBarInfoTextPart2:"/",FormtemplatesViewSearchBarInfoTextPart3:"formulaires",FormtemplatesViewFormsTableNameTitle:"Nom",FormtemplatesViewFormsTableTemplateNameTitle:"Modèle",FormtemplatesViewFormsTableCreatorTitle:"Créateur",FormtemplatesViewFormsTableCreationTimeTitle:"Création",FormtemplatesViewFormsTableLastModifiedTitle:"Modification",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Créer",EditButtonTitleText:"Modifier",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce modèle ?",Button1Title:"Supprimer",Button2Title:"Annuler",},FormtemplatesViewFormsTableEmptyPlaceholderText:"Aucun modèle trouvé.",FormeditorViewFormNamePlaceholderText:"Nom",FormeditorViewFormTitlePlaceholderText:"Titre",FormeditorViewFormDescriptionPlaceholderText:"Description",FormTextInputPlaceholderText:"Texte...",FormTextAreaPlaceholderText:"Zone de texte...",FormRatingInputPlaceholderText:"Évaluation...",FormRatingInputValidationErrorText:"* Champ obligatoire.",FormTextQuestionQuestionPlaceholderText:"Question...",FormTextQuestionAnswerPlaceholderText:"Réponse...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormTextQuestionValidationErrorText:"* Réponse requise.",FormDatePickerInputPlaceholderText:"Titre date...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Plage de dates",FormDatePickerInputValidationErrorText:"* Date requise.",FormDatePickerInputValidationInvalidRangeErrorText:"* Plage invalide.",FormTimePickerInputPlaceholderText:"Titre heure...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Plage horaire",FormTimePickerInputValidationErrorText:"* Heure requise.",FormTimePickerInputValidationInvalidRangeErrorText:"* Plage invalide.",FormSingleSelectionInputPlaceholderText:"Choix unique...",FormSingleSelectionInputOptionPlaceholderText:"Option",FormSingleSelectionInputAddOptionButtonTitleText:"Ajouter option",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormSingleSelectionInputValidationErrorText:"* Sélectionnez une option.",FormMultiSelectionInputPlaceholderText:"Choix multiples...",FormMultiSelectionInputOptionPlaceholderText:"Option",FormMultiSelectionInputAddOptionButtonTitleText:"Ajouter option",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormMultiSelectionInputValidationErrorText:"* Sélectionnez au moins une option.",FormFileUploadInputPlaceholderText:"Fichier requis...",FormFileUploadInputResetButtonTitleText:"Reset",FormFileUploadInputUploadButtonTitleText:"Téléverser",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormFileUploadInputValidationErrorText:"* Fichier requis.",FormPhotoUploadInputPlaceholderText:"Photo requise...",FormPhotoUploadInputResetButtonTitleText:"Reset",FormPhotoUploadInputUploadButtonTitleText:"Téléverser",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormPhotoUploadInputValidationErrorText:"* Photo requise.",FormSignatureInputPlaceholderText:"Signature requise...",FormSignatureInputSignatureText:"Signature",FormSignatureInputResetButtonTitleText:"Reset",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"Obligatoire",FormSignatureInputValidationErrorText:"* Signature requise.",KiosksmanagementViewTitleText:"Gestion kiosques",KiosksmanagementViewSearchFieldPlaceholderText:"Rechercher",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"Nouveau kiosque"},KiosksmanagementViewKiosksTableTitleText:"Kiosques",KiosksmanagementViewSearchBarInfoTextPart1:"Affichage",KiosksmanagementViewSearchBarInfoTextPart2:"/",KiosksmanagementViewSearchBarInfoTextPart3:"résultats",KioskmanagementViewTableItemStatusOnline:"En ligne",KioskmanagementViewTableItemStatusOffline:"Hors ligne",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"Modifier",DeleteButtonTitleText:"Supprimer"},KioskmanagementViewDeleteKioskAlert:{Title:"Supprimer kiosque ?",Description:"Voulez-vous supprimer ce kiosque ?",Button1Title:"Supprimer",Button2Title:"Annuler",},KioskManagementViewEmptyTableItemText:"Aucun kiosque.",KioskeditorViewTitleText:"Éditeur de kiosque",KioskeditorViewKioskText:"Kiosque",KioskeditorViewKioskTitleText:"Titre",KioskeditorViewKioskDescriptionText:"Description",KioskeditorViewKioskLocationTitleText:"Lieu du kiosque",KioskeditorViewKioskTypeTitleText:"Type de kiosque",KioskeditorViewKioskAccessSettingsTitleText:"Accès analyses",KioskeditorViewKioskAccessSettingsButtonText:"Définir accès",KioskeditorViewKioskUsernameText:"Identifiant",KioskeditorViewKioskPasswordText:"Mot de passe",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"Nouveau",SaveButtonTitleText:"Enregistrer",DuplicateButtonTitleText:"Double",DeleteButtonTitleText:"Supprimer",CloseButtonTitleText:"Fermer"},KioskeditorViewKioskTypes:{TimeTracking:"Suivi temps",CustomerSurvey:"Enquête client"},KioskeditorViewDeleteKioskAlert:{Title:"Supprimer ?",Description:"Voulez-vous supprimer ce kiosque ?",Button1Title:"Supprimer",Button2Title:"Annuler",},FormItemsMenu:{FormTextInput:"Texte",FormTextArea:"Zone texte",FormTextQuestion:"Question texte",FormSingleSelectionInput:"Choix unique",FormMultiSelectionInput:"Multi-choix",FormTimePickerInput:"Heure",FormDatePickerInput:"Date",FormRatingInput:"Évaluation",FormSignatureInput:"Signature",FormPhotoUploadInput:"Photo",FormFileUploadInput:"Fichier"},TimePickerMenuEnterTimeText:"Saisir l'heure :",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"OK",TimePickerMenuCancelButtonTitleText:"Annuler",ImageGalleryTitleText:"Galerie",FileExplorerTitleText:"Médiathèque",FileExplorerMenuItemImagesTitleText:"Images",FileExplorerMenuItemFilesTitleText:"Fichiers",FileExplorerFileListEmptyListItemTitleText:"Aucun fichier ici.",FileExplorerImageGridEmptyListItemTitleText:"Aucune image ici.",ChatGroupNameEditorTitleText:"Nom du groupe",ChatGroupNameEditorButton1TitleText:"Enregistrer",ChatGroupNameEditorButton2TitleText:"Annuler",FilenameEditorTitleText:"Saisir un nom",FilenameEditorButton1TitleText:"Enregistrer",FilenameEditorButton2TitleText:"Annuler",FilePickerChooseFolderTitleText:"Choisir dossier",FilePickerChooseFileTitleText:"Choisir fichier",FilePickerButton1TitleText:"Enregistrer",FilePickerButton2TitleText:"Annuler",FolderPickerChooseFolderTitleText:"Choisir dossier",FolderPickerCancelButtonTitleText:"Annuler",FolderPickerInboxFolderTitleText:"Réception",ChatGroupPickerDialogTableTitle:"Groupes",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"Rechercher",ChatGroupPickerDialogTitleText:"Choisir groupes",ChatGroupPickerDialogEmptyListItemTitleText:"Aucun groupe.",ChatGroupPickerDialogSelectButtonTitleText:"Choisir",ChatGroupPickerDialogCancelButtonTitleText:"Annuler",UserPickerDialogTitleText:"Ajouter membres",UserPickerDialogEmptyListItemTitleText:"Aucun utilisateur.",UserPickerDialogAddButtonTitleText:"Ajouter",UserPickerDialogCancelButtonTitleText:"Annuler",SharePickerDialogTitleText:"Partager",SharePickerDialogTableSearchFieldPlaceholderText:"Rechercher",SharePickerDialogUsersTableTitleText:"Utilisateurs",SharePickerDialogDepartmentsTableTitleText:"Départements",SharePickerDialogTeamsTableTitleText:"Équipes",SharePickerDialogAddButtonTitleText:"Ajouter",SharePickerDialogCancelButtonTitleText:"Annuler",SharePickerDialogEmptyListItemTitleText:"Aucun élément.",ShareSettingsDialogTitleBarText:"Partager",ShareSettingsDialogTitleText:"Paramètres de partage",ShareSettingsDialogCloseButtonTitle:"Fermer",ShareSettingsDialogOwnerTableTitle:"Propriétaire",ShareSettingsDialogUsersTableTitle:"Utilisateurs",ShareSettingsDialogDepartmentsTableTitle:"Départements",ShareSettingsDialogTeamsTableTitle:"Équipes",ShareSettingsDialogAddButtonTitle:"Ajouter",ShareSettingsDialogUsersTableEmptyTitleText:"Aucun utilisateur",ShareSettingsDialogDepartmentsTableEmptyTitleText:"Aucun département",ShareSettingsDialogTeamsTableEmptyTitleText:"Aucune équipe",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"Modèle",ReviewAccess:"Réviseurs",Assignees:"Assignés"},AccessDialogAccessSettingsTemplateInfoText:"Accès au modèle :
Sélectionnez qui peut utiliser ce modèle.",AccessDialogAccessSettingsReviewTemplateInfoText:"Accès révision :
Sélectionnez qui pourra voir les résultats.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"Assignés :
Sélectionnez qui sera automatiquement assigné aux formulaires.",AccessDialogAccessSettingsReviewInfoText:"Réviseurs :
Qui peut examiner les résultats de ce formulaire ?",AccessDialogAccessSettingsAssigneesInfoText:"Assignés :
Qui doit remplir ce formulaire ?",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"Assignés :
Le type \"Demande manager\" assigne automatiquement le responsable direct.",AccessDialogAccessSettingsTitleText:"Paramètres d'accès :",AccessDialogAccessSettingsCloseButtonTitle:"Fermer",AccessDialogAccessSettingsAddButtonTitleText:"Ajouter",AccessDialogAccessSettingsPeopleTableTitleText:"Utilisateurs :",AccessDialogAccessSettingsDepartmentsTableTitleText:"Départements :",AccessDialogAccessSettingsTeamsTableTitleText:"Équipes :",AccessDialogAccessSettingsManagerAssignedTableTitleText:"Managers assignés :",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"Utilisateurs assignés :",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"Départements assignés :",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"Équipes assignées :",AccessDialogAccessSettingsCreatorTagText:"Créateur",AccessDialogAccessSettingsUsersTableEmptyTitleText:"Aucun utilisateur",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"Aucun département",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"Aucune équipe",AccessDialogAccessSettingsSingleResponderRequiredText:"Répondant unique requis.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"Lecture seule (Répondant unique).",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"Réponses anonymes :",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"Les réponses seront anonymes pour tous les formulaires liés à ce modèle.",AccessDialogAccessSettingsAnonymousResponsesText:"Définir comme anonyme.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"Modifiable uniquement dans le modèle.",AccessDialogAccessSettingsAnonymousUserNameText:"Utilisateur anonyme",AccessDialogResponsesEmptyResponseText:"Aucune saisie",AccessDialogResponsesNoFileAttachedResponseText:"Aucun fichier",AccessDialogMaxAssigneesAlert:{TitleText:"Limite atteinte",DesciptionText:"Un seul assigné autorisé pour ce type de formulaire.",Button1Title:"OK"},WidgetsGenericLoadinMessageText:"Chargement...",PhoneWidgetTitleText:"Appels",PhoneWidgetSearchFieldPlaceholderText:"Rechercher",PhoneWidgetCallLogButtonTitleText:"Journal",PhoneWidgetContactsButtonTitleText:"Contacts",PhoneWidgetNoIntemsFound:"Aucun appel.",ShiftButtonWidgetTitleText:"Pointeuse",ShiftButtonWidgetStartTimeText:"Débuté le",ShiftButtonWidgetStartTimeAtText:"à",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"Temps écoulé",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"Pause actuelle",ShiftButtonWidgetStartBreakButtonText:"Pause",ShiftButtonWidgetEndBreakButtonText:"Reprise",EmailWidgetTitleText:"E-mails",EmailWidgetSearchFieldPlaceholderText:"Rechercher",EmailWidgetNoIntemsFound:"Aucun message.",EmailWidgetTableFooterText:"Voir tout...",CalendarWidgetTitleText:"Agenda",CalendarWidgetNoItemsFoundTableItemText:"Aucun événement aujourd'hui...",CalendarWidgetAllDayEventTitleText:"Journée entière",OpenFormsWidgetTitleText:"Formulaires ouverts",BookmarkedFormsWidgetTitleText:"Modèles favoris",NewsWidgetTitleText:"Dernières actus",CalculatorWidgetTitleText:"Calculatrice",WeatherWidgetTitleText:"Météo",WeatherWidgetWaitingForLocationText:"Localisation...",WeatherWidgetWindSpeedUnits:"km/h",KioskCustomerSurveyWidgetTitleText:"Enquête client",KioskCustomerSurveyWidgetTotalText:"Total soumissions",KioskCustomerSurveyWidgetThisMonthText:"Ce mois",KioskCustomerSurveyWidgetAllTimeAverageText:"Moyenne totale",KioskCustomerSurveyWidgetThisMonthAverageText:"Moyenne mois",AdminViewTitleText:"Console Admin",SQLStatsViewTitleText:"Stats SQL",WebStatsViewTitleText:"Stats Web",CookiemanagementViewTitleText:"Cookies",LanguagemanagementViewTitleText:"Langues",LocationAutocompleteInputPlaceholderText:"Saisir un lieu...",ShiftToggleSwitchStartText:"Débuter",ShiftToggleSwitchStopText:"Finir",ShiftToggleSwitchAlertStartShiftTitle:"Débuter quart",ShiftToggleSwitchAlertStartShiftAlertText:"Prêt à commencer ?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"Choisissez un rôle :",ShiftToggleSwitchAlertStartShiftButton1Title:"Oui",ShiftToggleSwitchAlertStartShiftButton2Title:"Non",ShiftToggleSwitchAlertStopShiftTitle:"Fin de quart ?",ShiftToggleSwitchAlertStopShiftAlertText:"Voulez-vous terminer votre quart ?",ShiftToggleSwitchAlertStopShiftAlertButton1:"Oui",ShiftToggleSwitchAlertStopShiftAlertButton2:"Non"} if(typeof Strings=='undefined'){Strings={};} var HE={Language:"Hebrew",LocalLanguage:"עברית",Initials:"HE",Direction:"rtl",FlagIcon:'/assets/images/flags/flag_he.png',LanguageMenuTitle:"תפריט שפות",EmojiTitleStrings:{Recent:"פריטים מועדפים",People:"חיוכים ואנשים",Nature:"חיות וטבע",Food:"מזון ושתייה",Activities:"פעילויות",Travel:"נוף וטיולים",Objects:"חפצים",Symbols:"צורות",Flags:"דגלים"},MonthsOfYear:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],DaysOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],DaysOfWeekShortHand:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],DateAndTimeYesterday:"אתמול",DateAndTimeToday:"היום",DateAndTimeTomorrow:"מחר",DateAndTimeByText:"על ידי",DateAndTimeAtText:"ב",DateAndTimeLastText:"אחרון",HourSymbol:"ש׳",MinuteSymbol:"ד׳",ApplicationEnableNotificationsAlert:{Title:"אפשר התראות",Description:"אנא אפשר ל-DailyReport לשלוח לך התראות.",Button1Title:"אישור",},TitleBarLoginButtonText:"התחברו",NavigationMenuTitle:"תפריט ראשי",MenuItemTitles:{Dashboard:"עמוד בית",Insights:"תובנות",News:"חדשות",Events:"אירועים",Timetracking:"ניהול זמן",Tasks:"משימות",Forms:"טפסים",Scheduling:"לוחות זמנים",Calendar:"יומן",Directory:"אנשי קשר",Chat:"צ׳ט",Mailbox:"דוא״ל",Clouddrive:"כונן ענן",Profile:"פרופיל",Settings:"הגדרות",Admin:"ניהול",Logout:"התנתק"},MenuWelcomeText:"שלום",SettingsMenuItemTitles:{UserPreferences:"העדפות משתמש",Profile:"פרופיל שלי",UserSettings:"הגדרות שלי",Security:"אבטחה",UserManagement:"ניהול משתמשים",UserAccounts:"משתמשים",GroupManagement:"קבוצות",PositionsManagement:"תפקידים",LocationsManagement:"מיקומים",TimetrackingAndSchedulingManagement:"ניהול לוחות זמנים",TimetrackingManagement:"ניהול זמן",SchedulingManagement:"לוחות זמנים",ContentManagement:"ניהול תוכן",NewsManagement:"חדשות",EventsManagement:"אירועים",TaskManagement:"ניהול משימות",TasksManagement:"משימות",FormsManagement:"טפסים",EmailManagament:"אימייל",MailboxSettings:"הגדרות תיבת דואר",KioskManagement:"ניהול עמדות",Kiosks:"עמדות",Admin:"ניהול אתר",WebServer:"שרת ווב",SQLServer:"מסד נתונים",CookieManagement:"ניהול עוגיות",LanguageManagement:"ניהול שפות",Info:"מידע",About:"אודות",License:"רשיון ותנאי שימוש"},HomeViewHeaderText:"בקרוב",HomeViewSecondaryHeaderText:"משהו חדש מגיע לכאן בקרוב...
חזרו אלינו בעוד מספר שבועות.",HomeViewLoginButtonText:"התחברו כדי להתחיל",AboutViewTitleText:"אודות",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"מידע על יישום",AboutViewApplicationVersionTitleText:"גרסה",AboutViewApplicationBuildTitleText:"גרסת בנייה",AboutViewApplicationCommitTitleText:"קומיט",AboutViewApplicationBuildDateTitleText:"תאריך בנייה",AboutViewApplicationQRCodeTitleText:"קוד QR",AboutViewApplicationQRCodeInfoText:"סרוק כדי להפעיל את האפליקציית אנדרויד או אייפון",AboutViewApplicationDownloadNativeAndroid:"הורד אפליקציית אנדרואיד",AboutViewApplicationDownloadNativeiOS:"הורד אפליקציית iOS",EulaViewTitleText:"רישיון שימוש",EulaViewInfoTitleText:"רישיון תוכנה ושימוש",EulaViewTocTitleText:"תוכן עניינים",LoginViewLoginTitleText:"התחברות",LoginViewDefaultMessageText:"הכניסו את פרטי ההתחברות שלכם כדי להתחיל.",LoginViewUsernamePlaceHolderText:"מספר טלפון או דוא״ל",LoginViewPasswordPlaceHolderText:"סיסמא",LoginViewLoginButtonText:"התחברות",LoginViewResetPasswordButtonText:"שכחתם סיסמא? לחצו כאן",LoginViewLoginError1MessageText:"מספר טלפון או כתובת דוא״ל שגויים, אנא נסו שוב",LoginViewLoginError2MessageText:"סיסמא שגויה, הסיסמא צריכה להיות באורך 6 ספרות או אותיות לפחות.",LoginViewLoginError3MessageText:"פרטים שגויים, אנא נסו שוב",ResetpasswordViewTitleText:"איפוס סיסמא",ResetpasswordViewDefaultResetMessageText:"הכניסו את הפרטים האישיים כדי להאפס את הסיסמא",ResetpasswordViewUsernamePlaceHolderText:"מספר טלפון או דוא״ל",ResetpasswordViewResetButtonText:"שלח קישור",ResetpasswordViewLoginButtonText:"יש לכם חשבון? לחצו כאן",ResetpasswordViewInvalidUsernameErrorMessageText:"דוא״ל או טלפון לא חוקיים, אנא נסה שוב",UpdatepasswordViewTitleText:"עדכון סיסמה",UpdatepasswordViewDefaultUpdateMessageText:"הזינו את הסיסמה החדשה שלכם",UpdatepasswordViewPasswordPlaceHolderText:"סיסמה חדשה",UpdatepasswordViewUpdateButtonText:"עדכן סיסמה",UpdatepasswordViewLoginButtonText:"כבר יש לכם חשבון? לחצו כאן",UpdatepasswordViewInvalidUsernameErrorMessageText:"סיסמה לא תקינה, אנא נסו שוב",RegisterViewTitleText:"הרשמה",RegisterViewDefaultMessageText:"בואו נרשום אתכם...",RegisterViewPasswordPlaceHolderText:"אנא הזינו סיסמה חדשה",RegisterViewPassword2PlaceHolderText:"אנא הזינו את הסיסמה שנית",RegisterViewMessageHolderTitleText:"הסיסמה חייבת להכיל את הבאים:",RegisterViewMessageHolderLowercaseTitleText:"• אות קטנה (lowercase)",RegisterViewMessageHolderUppercaseTitleText:"• אות גדולה (uppercase)",RegisterViewMessageHolderNumberTitleText:"• מספר",RegisterViewMessageHolderLengthTitleText:"• מינימום 8 תווים",RegisterViewPasswordMissmatchMessageText:"הסיסמאות אינן תואמות",RegisterViewPasswordInvalidMessageText:"סיסמה לא תקינה, אנא נסו שוב",RegisterViewRegisterButtonText:"הרשמה",DashboardViewTitleText:"עמוד הבית",DashboardViewTitleMenuResetButtonText:"אפס מסך",DashboardViewTitleMenuSetBackgroundButtonText:"בחר תמונת רקע",InsightsViewTitleText:"תובנות",DashboardViewTitleMenuResetButtonText:"אפס מסך",DashboardViewTitleMenuSetBackgroundButtonText:"בחר תמונת רקע",NewsViewTitleText:"חדשות",NewsViewNewsArticlePublishedTitleText:"פורסם ב ",NewsViewNoItemsFoundTableItemText:"לא נמצאו כתבות ...",NewseditorViewTitleText:"עורך חדשות",NewseditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},NewseditorViewDeleteArticleAlert:{Title:"מחק כתבה?",Description:"האם אתם בטוחים שברצונכם למחוק את הכתבה?",Button1Title:"מחק",Button2Title:"בטל",},NewsmanagementViewTitleText:"ניהול חדשות",NewsmanagementViewSearchFieldPlaceholderText:"חיפוש",NewsmanagementViewSearchBarSearchButtonTitleText:"חיפוש",NewsmanagementViewNewsArticlePublishedTitleText:"פורסם ב ",NewsmanagementViewNewsArticleUnPublishedTitleText:"לא פורסם",NewsmanagementViewNoItemsFoundTableItemText:"לא נמצאו כתבות ...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"כתבה חדשה"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"ערוך",DuplicateButtonTitleText:"שכפל",PublishButtonTitleText:"פרסם",UnPublishButtonTitleText:"הסר פרסום",DeleteButtonTitleText:"מחק"},NewsmanagementViewSearchBarInfoTextPart1:"מציג",NewsmanagementViewSearchBarInfoTextPart2:"מתוך",NewsmanagementViewSearchBarInfoTextPart3:"כתבות",NewsmanagementViewDeleteArticleAlert:{Title:"מחק כתבה?",Description:"האם אתם בטוחים שברצונכם למחוק את הכתבה?",Button1Title:"מחק",Button2Title:"בטל",},EventsViewTitleText:"אירועים",EventsmanagementViewTitleText:"ניהול אירועים",EventsmanagementViewSearchFieldPlaceholderText:"חיפוש",EventsmanagementViewSearchBarSearchButtonTitleText:"חיפוש",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"אירוע חדש"},EventeditorViewTitleText:"עורך אירועים",EventeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},ChatViewContactsTitleBarText:"צ׳ט",ChatViewContactsSearchBarText:"חיפוש",ChatViewMessagesPlaceholderText:"אנא בחרו שיחה כדי להתחיל או לחצו על הסימן [+] כדי להתחיל שיחה חדשה",ChatViewMessagesTitleBarInfoPrefixText:"עידכון אחרון",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"נראו לאחרונה",ChatViewMessagesTitleBarInfoOnlineText:"מחובר/ת",ChatViewDeleteMessageAlertTitle:"מחק הקלטה?",ChatViewDeleteMessageAlertText:"האם אתם בטוחים שאתם רוצים למחוק את ההקלטה?",ChatViewDeleteMessageAlertButton1:"כן",ChatViewDeleteMessageAlertButton2:"לא",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"שיחה קולית",StartVideoCallButtonTitleText:"שיחת וידאו",ShowChatDetailsButtonTitleText:"מידע עודות השיחה"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"שלח תמונה",FileMenuItemTitle:"שלח קובץ"},ChatViewSystemMessages:{GroupCreated:"השיחה נוצרה ב",GroupPictureUpdated:"התמונה הקבוצתית שונתה ב",GroupNameUpdated:"שם הקבוצה שונה ב",MemberLeft:"עזב/ה את הקבוצה",MemberJoined:"הצטרפ/ה לקבוצה",},ChatViewChatEmptyChatGroupItemText:"לא נמצאו חברים או קבוצות...",ChatViewChatGroupItemGroupCreatedByText:"השיחה נוצרה עלידי",ChatViewChatGroupItemGroupPhotoUpdatedByText:"תמונת הקבוצה עודכנה עלידי",ChatViewChatGroupItemGroupNameUpdatedByText:"שם הקבוצה שונה עלידי",ChatViewChatGroupItemMemberLeftText:"עזב/ה את הקבוצה",ChatViewChatGroupItemMemberJoinedText:"הצטרפ/ה לקבוצה",ChatViewChatGroupItemGroupSentAFileText:"שלח/ה קובץ",ChatViewChatGroupItemGroupSentAnImageText:"שלח/ה תמונה",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"שלח/ה הקלטה",ChatViewChatGroupItemGroupMessageDeletedText:"מחק/ה הודעה",ChatViewChatGroupItemGroupMessageReactionText:"הגיב/ה ___ להודעה",ChatViewChatMessageItemForwardedText:"הועבר",ChatMessageItemDeletedMessage:"הודעה נמחקה",ChatMessageItemMissedVoiceCallText:"פספסתם שיחה קולית",ChatMessageItemMissedVideoCallText:"פספסתם שיחת וידאו",ChatMessageItemUnansweredVideoCallText:"שיחת וידאו שלא נענתה",ChatMessageItemUnansweredVoiceCallText:"שיחה קולית שלא נענתה",ChatMessageItemVoiceCallText:"שיחה קולית",ChatMessageItemVideoCallText:"שיחת וידאו",ChatMessageItemReactionTableTitleText:"תגובות:",ChatMessageItemTapToRemoveReactionText:"לחצו להסרה",NewchatViewTitleText:"שיחה חדשה",NewchatViewCreateNewGroupButtonText:"צור קבוצה חדשה",NewchatViewCreateExternalCallInviteButtonText:"צור קישור לשיחה חיצונית",NewchatViewCreateNewGroupOrText:"או בחר איש קשר",NewchatViewContactsTableTitle:"אנשי קשר",NewchatViewMembersTableTitle:"חברים בקבוצה",NewchatViewCreateNewGroupTitleText:"צור קבוצה חדשה",NewchatViewMembersTableSearchFieldPlaceholderText:"חיפוש",NewchatViewCreateNewGroupTitleInputPlaceholderText:"שם הקבוצה",NewchatViewCreateGroupButtonText:"צור קבוצה",NewchatViewTitleBarMenu:{SaveButtonTitleText:"שמור",CloseButtonTitleText:"סגור"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"כותרת לא חוקית",NewchatViewCreateNewChatInvalidTitleAlertText:"אנא רשמו כותרת לקבוצה החדשה",NewchatViewCreateNewChatInvalidTitleAlertButton:"המשך",NewchatViewCreateNewChatNoMembersAlertTitle:"לא נבחרו חברי קבוצה",NewchatViewCreateNewChatNoMembersAlertText:"אנא בחרו לפחות חבר אחד עבור הקבוצה החדשה",NewchatViewCreateNewChatNoMembersAlertButton:"המשך",ChatdetailsViewTitleText:"מידע עודות השיחה",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"החלף תמונה",ChangeGroupNameButtonTitleText:"החלף שם",AddMemberButtonTitleText:"הוסף משתמשים",DeleteGroupButtonTitleText:"מחק קבוצה",ExitGroupButtonTitleText:"צא מהקבוצה",CloseButtonTitleText:"סגור"},ChatdetailsViewExitGroupAlert:{Title:"לצאת מקבוצה?",Description:"האם אתם בטוחים שברצונכם לצאת מקבוצה זו, לא תהיה לכם גישה להודעות או נתונים מקבוצה זו לאחר שתעזובו.",Button1Title:"יציאה",Button2Title:"ביטול",},ChatdetailsViewDeleteGroupAlert:{Title:"מחיקת מקבוצה?",Description:"פעולה זו משפיעה על כל חברי הקבוצה:
האם אתם בטוחים שברצונכם למחוק את הקבוצה הזו, לא ניתן לבטל פעולה זו ותאבדו את כל ההודעות הקבוצתיות, התמונות והקבצים המשותפים.",Button1Title:"מחק",Button2Title:"ביטול",},ChatDetailsViewMembersTableTitle:"חברים",ChatDetailsViewMembersTitle:"חברים בקבוצה",ChatDetailsViewCreatedOnText:"הקבוצה נוצרה ב",ChatDetailsViewCreatedByText:"הקבוצה נוצרה על ידי",ChatDetailsGroupMediaTitleText:"קבצים ומדיה",ChatDetailsGroupMediaImagesButtonTitleText:"תמונות",ChatDetailsGroupMediaFilesButtonTitleText:"קבצים",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"חיפוש",ChatDetailsViewMembersTableItemAdminTitle:"מנהל",ChatDetailsViewAdminMembersTableTitle:"מנהלים",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"הוסף כמנהל",UnsetAdminButtonTitleText:"הסר כמנהל",RemoveFromGroupButtonTitleText:"הסר מהקבוצה",},CallViewTitleText:"שיחה",CallViewTitleBarMenu:{HangupButtonTitleText:"נתק"},CallViewIncomingVoiceCallText:"שיחה קולית נכנסת",CallViewIncomingVideoCallText:"שיחת וידאו נכנסת",CallViewRemovePeerOnAnotherCallText:"נמצא בשיחה אחרת",CallViewCallRejectedText:"השיחה נדחתה",CallViewCallNotAnsweredText:"השיחה לא נענתה",CallViewMissedCallText:"שיחה שלא נענתה",CallViewCallEndedText:"השיחה הסתיימה",CallViewOutgoingCallText:"מתקשר",CallViewCallDurationText:"זמן שיחה",CallViewLowReceptionWarningText:"קליטה חלשה של WiFi או סלולר, מנסה להתחבר מחדש...",CreateexternalcallinviteViewTitleText:"יצירת הזמנה לשיחה",CreateexternalcallinviteViewEmailInputTitle:"כתובת הדוא״ל של האורח",CreateexternalcallinviteViewEmailPlaceholder:"הזן כתובת אימייל...",CreateexternalcallinviteViewMeetingTimeTitle:"מועד הפגישה",CreateexternalcallinviteViewCreateButtonText:"צור קישור להזמנה",CreateexternalcallinviteViewGeneratedLinkTitle:"קישור להזמנה",CreateexternalcallinviteViewCopyLinkButtonText:"העתק",CreateexternalcallinviteViewSendInviteButtonText:"שלח הזמנה לאורח",CreateexternalcallinviteViewLinkCopiedToast:"הקישור הועתק ללוח",CreateexternalcallinviteViewNoEmailAlert:"נא להזין כתובת אימייל תקינה.",CreateexternalcallinviteViewSendEmailButtonText:"שלח במייל",CreateexternalcallinviteViewEmailSuccessAlert:{Title:"הקישור נשלח",Description:"קישור ההזמנה נשלח בהצלחה לאורח באמצעות הדואר האלקטרוני.",Button1:"אישור"},CreateexternalcallinviteViewEmailFailAlert:{Title:"שגיאה",Description:"שליחת המייל נכשלה. אנא נסו שוב או העתיקו את הקישור ידנית.",Button1:"סגור"},CreateexternalcallinviteView:{CloseButtonTitleText:"סגור"},CreateexternalcallinviteViewMissingEmailAlert:{Title:"אימייל חסר",Description:"אנא הזן כתובת אימייל עבור הנמען",Button1:"אישור"},CreateexternalcallinviteViewInvalidDateAlert:{Title:"תאריך לא תקין",Description:"אנא הגדר את התאריך לעכשיו או לתאריך עתידי",Button1:"אישור"},CreateexternalcallinviteViewLinkCopiedAlert:{Title:"הקישור הועתק",Description:"הקישור הועתק ללוח",Button1:"אישור"},CreateexternalcallinviteViewInfoText:"הקישור יהיה בתוקף למשך שעה לאחר הזמן שנבחר.",TimetrackingViewTitleText:"ניהול זמן",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"הוסף משמרת",NewAbsenceRequestText:"בקשת היעדרות חדשה",PrintButtonTitleText:"הדפס",ExportButtonTitleText:"ייצוא"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"הדפס",ExportButtonTitleText:"ייצוא",CloseButtonTitleText:"סגור"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"היום",Timesheets:"דפי זמן",MyReport:"הדוח שלי",AbsenceRequests:"העדרות"},TimeTrackingViewNoItemsFoundText:"לא נמצאו פריטים...",TimeTrackingViewNoActiveShiftsFoundText:"...לא נמצאו משמרות היום",TodaySheetStartTimeTitleText:"שעת התחלה",TodaySheetEndTimeTitleText:"שעת סיום",TodaySheetCurrentDurationTitleText:"זמן נוכחי",TodaySheetTotalDurationTitleText:"זמן מלא",TodaySheetStatusTitleText:"סטטוס",TodaySheetStatusWorkingTitleText:"בעבודה",TodaySheetStatusOnABreakTitleText:"בהפסקה",TodaySheetStatusOffTitleText:"סיים משמרת",TodaySheetWorkingFromTitleText:"עובדים ב",TodaySheetUnknownLocation:"מיקום לא ידוע",TodayssheetStartedYesterdayText:"התחילו אתמול ב",TodayssheetStartedTodayText:"התחילו היום בשעה",TodayssheetFinishedTodayText:"סיימו היום בשעה",TodayssheetTotalShiftDurationText:"משך הזמן הכולל",TodayssheetCurrentShiftDurationText:"משך הזמן הנוכחי",TodayssheetFooterInfoHolder:{OnABreak:"בהפסקה",Active:"פעילים",Shifts:"משמרות",Employees:"עובדים"},TimeSheetSearchFieldPlaceholderText:"חיפוש",TimeSheetSearchBarToText:"עד",TimesheetInvalidDateAlertTitle:"תאריכים לא תקינים",TimesheetInvalidDateAlertDatesSwitchedMessage:"בבקשה בדקו כי תאריך ההתחלה לפני תאריך הסיום.",TimesheetInvalidDateButton:"אישור",TimesheetSearchFieldInfoShowingText:"מציג",TimesheetsheetSearchFieldInfoResultsText:"תוצאות",TimesheetTableTitleItems:{Name:"שם",TotalHours:"סה״כ שעות",TotalShifts:"סה״כ משמרות",Days:"ימי עבודה",Absence:"ימי העדרות",Issues:"הערות"},EmployeesheetSearchFieldInfoShowingText:"מציג",EmployeesheetSearchFieldInfoResultsText:"תוצאות",EmployeesheetInvalidDateAlertTitle:"תאריכים לא תקינים",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"בבקשה בדקו כי תאריך ההתחלה לפני תאריך הסיום.",EmployeesheetInvalidDateButton:"אישור",EmployeesheetTableTitleItems:{Date:"תאריך",Position:"תפקיד",StartTime:"שעת התחלה",EndTime:"שעת סיום",TotalTime:"סה״כ זמן",BreakTime:"הפסקות",Issues:"סטטוס"},EmployeesheetTableInfoTotalShiftsTitleText:"סה״כ משמרות",EmployeesheetTableInfoWorkedHoursTitleText:"שעות עבודה",EmployeesheetTableInfoBreakHoursTitleText:"שעות הפסקה",EmployeesheetTableInfoAbsenceTitleText:"ימי העדרות",EmployeesheetTableInfoHasIssuesYes:"פתוח",EmployeesheetTableInfoHasIssuesApproved:"מאושר",EmployeesheetTableInfoHasIssuesRejected:"נדחה",EmployeesheetTableInfoHasIssuesNo:"אין",AbsencerequestSearchFieldPlaceholderText:"חיפוש",AbsencerequestSearchBarToText:"עד",AbsencerequestSearchBarSearchButtonTitleText:"חיפוש",AbsencerequestsTableTitleItems:{Name:"שם",Type:"סוג",Dates:"תאריכי העדרות",RequestedOn:"נשלח ב",Status:"סטטוס"},AbsencerequestsTableItemStatus:{Approved:"אושר",Rejected:"נדחה",Pending:"בהמתנה"},AbsencerequestFilterMenuItems:{All:"הכל",MyRequests:"בקשות שלי",EmployeeRequests:"בקשות של עובדים"},AbsencerequestsTableItemRejectedText:"נדחה",AbsencerequestsInvalidDateAlertTitle:"תאריכים לא תקינים",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"בבקשה בדקו כי תאריך ההתחלה לפני תאריך הסיום.",AbsencerequestsInvalidDateButton:"אישור",AbsencerequestsSearchFieldInfoShowingText:"מציג",AbsencerequestsSearchFieldInfoOutOfText:"מתוך",AbsencerequestViewPendingMessageText:"הבקשה ממתינה לאישור...",AbsencerequestViewApprovedMessageText:"הבקשה אושרה!",AbsencerequestViewDeniedMessageText:"הבקשה נדחתה.",AbsencerequestViewTitleText:"בקשת היעדרות",AbsencerequestViewFormTitleText:"טופס בקשת היעדרות",AbsencerequestViewFormInfoText:"אנא מלאו את הטופס הבא ושלחו אותו לאישור.",AbsencerequestViewFormEmployeeNameTitleText:"שם העובד",AbsencerequestViewFormRequestTypeTitleText:"סוג היעדרות",AbsencerequestViewFormStartDateTitleText:"תאריך התחלה",AbsencerequestViewFormEndDateTitleText:"תאריך סיום",AbsencerequestViewFormRequestNoteTitleText:"סיבת הבקשה",AbsencerequestViewFormResponseNoteTitleText:"תגובת המנהל/ת",AbsencerequestViewFormApprovedByTitleText:"שם המנהל/ת",AbsencerequestViewFormApprovalDateTitleText:"נענה ב",AbsencerequestViewFormRequiredDocumentsTitleText:"מסמכים נדרשים",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"אין מסמכים מצורפים...",AbsencerequestViewFormApproveButtonTitleText:"אשר",AbsencerequestViewFormRejectButtonTitleText:"דחה",AbsencerequestViewFormSubmitButtonTitleText:"שלח",AbsenceReqestTypes:{TimeOff:"חופשה",SickLeave:"מחלה"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"שלח",NewButtonTitleText:"חדש",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},AbsencerequestViewDeleteRequestAlert:{TitleText:"מחקו בקשה?",MessageText:"האם אתם בטוחים שברצונכם למחוק את הבקשה?",Button1Title:"מחק",Button2Title:"בטל"},AbsencerequestViewFormNotFoundTitleText:"הטופס לא נמצא",AbsencerequestViewFormNotFoundInfoText:"הטופס אינו קיים, ייתכן שמחקו אותו...",AbsencerequestViewFormValidationAlert:{TitleText:"תאריכים לא תקינים",InfoTextDatesSwitchedMessage:"בבקשה בדקו כי תאריך ההתחלה לפני תאריך הסיום.",InfoTextInvalidStartDateMessage:"תאריך התחלה לא תקין, אנא נסו שנית.",InfoTextInvalidEndDateMessage:"תאריך סיום לא תקין, אנא נסו שנית.",Button1Title:"אישור",},ShifteditorViewTitleText:"עורך משמרות",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},ShifteditorViewPendingMessageText:"המשמרת ממתינה לאישור...",ShifteditorViewApprovedMessageText:"המשמרת אושרה.",ShifteditorViewDeniedMessageText:"המשמרת לא אושרה.",ShifteditorViewEmployeeNameTitleText:"שם העובד/ת",ShifteditorViewEmployeePositionTitleText:"תפקיד",ShifteditorViewStartTimeTitleText:"זמן התחלת",ShifteditorViewEndTimeTitleText:"זמן סיום",ShifteditorViewLocationTitleText:"מיקום",ShifteditorViewLocationUnknownTitleText:"לא ידוע",ShifteditorViewBreaksTitleText:"הפסקות",ShifteditorViewBreaksAddButtonText:"הוסף",ShifteditorViewIssuesTitleText:"הערות",ShifteditorViewDeleteShiftAlert:{Title:"מחק משמרת?",Description:"האם אתם בטוחים שברצונכם למחוק את המשמרת הזו?",Button1Title:"מחק",Button2Title:"בטל",},ShifteditorViewDeleteBreakAlert:{Title:"מחק הפסקה?",Description:"האם אתם בטוחים שברצונכם למחוק הפסקה זו?",Button1Title:"מחק",Button2Title:"בטל",},ShifteditorViewFormIncompleteAlert:{Title:"פרטי משמרת חסרים",InfoTextInvalidStartTime:"זמן התחלת המשמרת אינו תקין, אנא מלאו כראוי ונסו שוב.",InfoTextInvalidEndTime:"זמן סיום המשמרת אינו תקין, אנא מלאו כראוי ונסו שוב.",InfoTextInvalidBreakStartTime:"זמן התחלת ההפסקה אינו תקין, אנא מלאו כראוי ונסו שוב.",InfoTextInvalidBreakEndTime:"זמן סיום ההפסקה אינו תקין, אנא מלאו כראוי ונסו שוב.",InfoTextInvalidNotesLength:"ההערות ארוכות מדי, אורך מקסימלי הוא 512 תווים...",Button1Title:"אישור",},ShifteditorViewNoBreakItemsFoundText:"לא נמצאו הפסקות במשמרת זו...",ShifteditorViewNoIssuesFoundText:"לא נמצאו הערות עבור משמרת זו...",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"המשמרת התחילה ללא שיתוף מיקום.",ShiftEndedWithNoLocationData:"המשמרת הסתיימה ללא שיתוף מיקום.",ShiftStartedOutsideOfLocation:"המשמרת החלה מחוץ למיקומים שהוגדרו עבור העובד/ת.",ShiftEndedOutsideOfLocation:"המשמרת הסתיימה מחוץ למיקומים שהוגדרו עבור העובד/ת.",ShiftCreatedManually:"המשמרת נוצרה באופן ידני.",ShiftDataWasEdited:"משמרת זו עברה עריכה עלידי העובד.",},ShifteditorViewManagerTitleText:"מנהל/ת",ShifteditorViewRespondedAtTitleText:"התגובה התקבלה ב",ShifteditorViewNotesTitle:"הודעה למנהל/ת",ShifteditorViewManagerNotesTitle:"הערות המנהל/ת",ShifteditorViewApproveButtonTitleText:"אישור",ShifteditorViewRejectButtonTitleText:"דחייה",TimetrackingmanagementViewTitleText:"ניהול זמן",TimetrackingmanagementViewSearchFieldPlaceholderText:"חיפוש",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"חיפוש",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"חדש"},TasksViewTitleText:"משימות",TasksViewTabBarMenuItemTitleText:{MyTasks:"משויכות אלי",CreatedTasks:"נוצרו על ידי"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"צור משימה"},TasksViewSearchBarGroupByTitleText:"אחד לפי",TasksViewSearchBarFilterTitleText:"הצג",TasksViewSearchBarFilterShowAllTitleText:"הכל",TasksViewSearchBarInfoTextPart1:"מציג",TasksViewSearchBarInfoTextPart2:"מתוך",TasksViewSearchBarInfoTextPart3:"משימות/ה",TasksViewSearchBarGroupByOptions:{Priority:"עדיפות",Tags:"תגיות"},TasksViewTaskPriorityList:{High_priority:"עדיפות גבוהה",Medium_priority:"עדיפות בינונית",Low_priority:"עדיפות נמוכה",No_priority:"ללא עדיפות"},TasksViewTaskStatusList:{All:"הכל",Open:"פתוח",In_progress:"בתהליך",On_hold:"בהמתנה",Cancelled:"בוטל",Done:"טופל",Closed:"סגור"},TasksViewSearchFieldPlaceholderText:"חיפוש",TasksViewTableTitle:{TaskTitle:"נושא",TaskDescription:"פרטים",TaskCreationDate:"תאריך יצירה",TaskStartDate:"תאריך התחלה",TaskDueDate:"תאריך סיום",TaskStatus:"סטטוס",TaskAsignees:"משוייך ל"},TaskViewTitleText:"משימה",TaskViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},TaskViewToolbarCreationTimeTitle:"נוצרה",TaskViewToolbarStartedTimeTitle:"התחילה",TaskViewToolbarDueTimeTitle:"עד",TaskViewTaskInfoTitleText:"נושא",TaskViewTaskInfoDescriptionTitleText:"פרטים",TaskViewTaskInfoAsigneeTitleText:"משוייך ל",TaskViewTaskInfoOwnerTitleText:"נוצר עלידי",FormsViewTitleText:"טפסים",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"צור טופס חדש",CreateFormTemplateButtonTitleText:"תבנית חדשה"},FormsViewTabBarMenuItemTitleText:{MyForms:"הטפסים שלי",SharedForms:"משותפים איתי",AssignedToMe:"משוייכים אלי",EmptyForms:"תבנית לטופסים"},FormsViewSearchFieldPlaceholderText:"חיפוש",FormsViewSearchBarFilterTitleText:"הצג",FormsViewFormStatusList:{All:"הכל",Open:"פתוח",Completed:"בוצע",Closed:"סגור",},FormsViewFormFilterList:{All:"הכל",MyForms:"טפסים שלי",SharedForms:"משותפים איתי",},FormsViewFormsTableTypeTitleText:"סוג טופס",FormsViewFormTypes:{1:"טופס רגיל",2:"שאלון",3:"בקשה מהמנהל"},FormsViewSearchBarInfoTextPart1:"מציג",FormsViewSearchBarInfoTextPart2:"מתוך",FormsViewSearchBarInfoTextPart3:"תוצאות",FormsViewFormsTableNameTitle:"שם הטופס",FormsViewFormsTableTemplateNameTitle:"שם התבנית",FormsViewFormsTableCreatorTitle:"נוצר עלידי",FormsViewFormsTableAssignedToTitle:"משוייך ל",FormsViewFormsTableAssignedByTitle:"הוקצה עלידי",FormsViewFormsTableCreationTimeTitle:"נוצר ב",FormsViewFormsTableLastModifiedTitle:"עודכן ב",FormsViewFormsTableDueTimeTitle:"עד",FormsViewFormsTablePublishedTimeTitle:"פורסם ב",FormsViewFormsTableCompletionTimeTitle:"זמן סיום",FormsViewFormsTableStatusTitle:"סטטוס",FormsViewFormsTableTypeTitle:"סוג טופס",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"צור טופס",EditButtonTitleText:"ערוך תבנית",DuplicateButtonTitleText:"שכפל תבנית",DeleteButtonTitleText:"מחק תבנית"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"הצג טופס",EditButtonTitleText:"ערוך טופס",PublishButtonTitleText:"פרסם טופס",UnpublishButtonTitleText:"הסר פרסום",DeleteButtonTitleText:"מחק טופס"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"הצג טופס",EditButtonTitleText:"ערוך טופס",PublishButtonTitleText:"פרסם טופס",UnpublishButtonTitleText:"הסר פרסום",DeleteButtonTitleText:"מחק טופס"},FormsViewDeleteFormTemplateAlert:{Title:"מחק תבנית? ",Description:"האם אתם בטוחים שברצונכם למחוק את התבנית? פעולה זו לא ניתנת לשחזור.",Button1Title:"מחק",Button2Title:"ביטול",},FormsViewDeleteFormAlert:{Title:"מחק טופס? ",Description:"האם אתם בטוחים שברצונכם למחוק את טופס? פעולה זו לא ניתנת לשחזור.",Button1Title:"מחק",Button2Title:"ביטול",},FormsViewPublishFormAlert:{Title:"פרסם טופס?",Description:"האם אתם בטוחים שברצונכם לפרסם טופס זה, לאחר פרסום כל המשתמשים שהוקצו לטופס וכל המשתמשים בעלי גישת סקירה יראו את הטופס.",Button1Title:"פרסם",Button2Title:"ביטול",},FormsViewUnpublishFormAlert:{Title:"הסר פרסום?",Description:"האם אתם בטוחים שברצונכם להסיר את פרסום הטופס, הדבר ישפיע על כל המשתמשים עם גישת סריקה ועל המשתמשים שהוקצו לטופס.",Button1Title:"הסר",Button2Title:"ביטול",},FormsViewNoItemsFoundTableItemText:"לא נמצאו פריטים...",FormViewTitleText:"טופס",FormViewTitleBarMenu:{SaveButtonTitleText:"שמור",PublishButtonTitleText:"פרסם טופס",UnpublishButtonTitleText:"הסר פרסום",SubmitButtonTitleText:"שלח",DuplicateButtonTitleText:"שכפל",PrintButtonTitleText:"הדפס",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},FormViewAlertPanel:{AlertNoNameTitleText:"שם טופס",AlertNoNameDescription:"אנא רשמו שם לטופס",Button1Title:"המשך",},FormViewFormNamePlaceholderText:"אנא הכניסו שם לטופס",FormViewSubmitButtonTitleText:"שלח",FormViewPublishButtonTitleText:"פרסם",FormViewUnpublishButtonTitleText:"הסר",FormViewMenubarQuestionsButtonTitleText:"טופס",FormViewMenubarResponsesButtonTitleText:"תשובות",FormViewMenubarSettingsButtonTitleText:"הגדרות",FormViewResponsesDialogTitleText:"תשובות:",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"סיכום",Responses:"תשובות"},FormViewResponsesDialogTitleCompletionRateText:"שיעור השלמה:",FormViewResponsesDialogMembersListTitleText:"מצב השלמה:",FormViewResponsesDialogMembersListCompletedBadgeText:"הושלם",FormViewResponsesDialogNoResponsesMessageText:"אין תשובות זמינות, לאחר שמשתמשים ששויכו לטופס ימלאו את הטופס תוכלו לעיין בתשובותיהם ובסיכום מלא כאן...",FormViewResponsesDialogResponsesSummeryTitleText:"סיכום תשובות:",FormViewFormNotValidAlert:{Title:"הטופס לא נשלח",Description:"הטופס אינו מלא, יש שדות חובה שלא מולאו.",Button1Title:"אישור",},FormreaderViewTitleText:"טופס",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"שמור טיוטה",SubmitTitleText:"שלח",CloseButtonTitleText:"סגור"},FormreaderViewSubmitButtonTitleText:"שלח",FormreaderViewFormCompletedInfoText:"טופס זה כבר נשלח.",FormreaderViewFormClosedInfoText:"טופס זה כבר נסגר.",FormreaderViewFormNotFoundTitleText:"הטופס לא נמצא",FormreaderViewFormNotFoundInfoText:"הטופס אינו קיים, ייתכן שמחקו אותו...",FormreaderViewFormNotValidAlert:{Title:"הטופס לא נשלח",Description:"הטופס אינו מלא, יש שדות חובה שלא מולאו.",Button1Title:"חזור",},FormreaderViewAnonymousFormInfoText:"טופס זה אנונימי ולא יציג את המידע האישי שלכם.",SchedulingViewTitleText:"לוחות זמנים",SchedulingmanagementViewTitleText:"ניהול לוחות זמנים",SchedulingmanagementViewSearchFieldPlaceholderText:"חיפוש",SchedulingmanagementViewSearchBarSearchButtonTitleText:"חיפוש",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"חדש"},CalendarViewTitleText:"יומן",CalendarViewLayoutPickerDayTitleText:"יום",CalendarViewLayoutPickerWeekTitleText:"שבוע",CalendarViewLayoutPickerMonthTitleText:"חודש",CalendarViewAllDayRowTitleText:"כל היום",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"אירוע חדש",CreateCalendarButtonTitleText:"יומן חדש"},CalendarViewMyCalendarsTitleText:"לוחות שלי",CalendarViewSharedCalendarsTitleText:"לוחות משותפים",CalendarViewCalendarItemMenu:{CalendarSettingsButtonTitleText:"הגדרות",CalendarColorsTitleText:"צבע"},CalendareditorViewTitleText:"עורך לוח",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},CalendareditorViewFormTitle:"פרטי לוח",CalendareditorViewCalendarTitleInputTitle:"כותרת לוח",CalendareditorViewSharingSectionTitle:"שיתוף והרשאות",CalendareditorViewInviteTitleText:"משותף עם",CalendareditorViewManageSharingTitle:"ניהול גישה",CalendareditorViewInviteButtonTitleText:"עריכת שיתוף",CalendareditorViewExpandInviteeButtonShowTitleText:"הצג פרטים",CalendareditorViewExpandInviteeButtonHideTitleText:"הסתר פרטים",CalendareditorViewInternalInviteUsersTitleText:"משתמשים משותפים",CalendareditorViewInternalInviteDepartmentsTitleText:"מחלקות משותפות",CalendareditorViewInternalInviteTeamsTitleText:"צוותים משותפים",CalendareditorViewInternalInviteUsersTableEmptyTitleText:"לא משותף עם משתמשים",CalendareditorViewInternalInviteDepartmentsTableEmptyTitleText:"לא משותף עם מחלקות",CalendareditorViewInternalInviteTeamsTableEmptyTitleText:"לא משותף עם צוותים",CalendareditorViewDeleteAlert:{Title:"מחיקת לוח",Body:"האם אתה בטוח שברצונך למחוק לוח שנה זה? לא ניתן לבטל פעולה זו.",Confirm:"מחק",Cancel:"ביטול"},CalendareditorViewCalendarDescriptionInputTitle:"תיאור",CalendareditorViewReadOnlyTitleText:"קריאה בלבד",CalendareditorViewExternalAvailableTitleText:"זמין חיצונית",CalendareditorViewIsDefaultTitleText:"יומן ברירת מחדל",CalendareventeditorViewTitleText:"עורך אירועים",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",RevertButtonTitleText:"שחזור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},CalendareventeditorViewFormTitle:"פרטי האירוע",CalendareventeditorViewEventTitleInputTitle:"כותרת האירוע",CalendareventeditorViewCalendarTitleInputTitle:"יומן",CalendareventeditorViewEventStartTimeTitleText:"התחלה",CalendareventeditorViewEventEndTimeTitleText:"סיום",CalendareventeditorViewEventAllDayTitleText:"כל היום",CalendareventeditorViewEventDescriptionTitleText:"תיאור",CalendareventeditorViewRecurrenceTitleText:"מחזוריות",CalendareventeditorViewRecurrenceDropdownRecurrenceNoneTitle:"ללא",CalendareventeditorViewRecurrenceDropdownRecurrenceDailyTitle:"יומי",CalendareventeditorViewRecurrenceDropdownRecurrenceWeeklyTitle:"שבועי",CalendareventeditorViewRecurrenceDropdownRecurrenceMonthlyTitle:"חודשי",CalendareventeditorViewRecurrenceWeeklyDaysSun:"א׳",CalendareventeditorViewRecurrenceWeeklyDaysMon:"ב׳",CalendareventeditorViewRecurrenceWeeklyDaysTue:"ג׳",CalendareventeditorViewRecurrenceWeeklyDaysWed:"ד׳",CalendareventeditorViewRecurrenceWeeklyDaysThu:"ה׳",CalendareventeditorViewRecurrenceWeeklyDaysFri:"ו׳",CalendareventeditorViewRecurrenceWeeklyDaysSat:"ש׳",CalendareventeditorViewRecurrenceEndDateTitleText:"מסתיים בתאריך",CalendareventeditorViewInviteTitleText:"מוזמנים",CalendareventeditorViewExpandInviteeButtonShowTitleText:"הצג",CalendareventeditorViewExpandInviteeButtonHideTitleText:"הסתר",CalendareventeditorViewInternalInviteTitleText:"מוזמנים פנימיים",CalendareventeditorViewInternalInviteUsersTitleText:"משתמשים",CalendareventeditorViewInternalInviteDepartmentsTitleText:"מחלקות",CalendareventeditorViewInternalInviteTeamsTitleText:"צוותים",CalendareventeditorViewExternalInviteTitleText:"מוזמנים חיצוניים",CalendareventeditorViewInviteButtonTitleText:"בחר מוזמנים",CalendareventeditorViewExternalInviteEmailTitleText:"הזינו כתובת אימייל",CalendareventeditorViewInternalInviteUsersTableEmptyTitleText:"אף משתמש לא נבחר",CalendareventeditorViewInternalInviteDepartmentsTableEmptyTitleText:"אף מחלקה לא נבחרה",CalendareventeditorViewInternalInviteTeamsTableEmptyTitleText:"אף צוות לא נבחר",CalendareventeditorViewEventLocationTitleText:"מיקום",CalendareventeditorViewRemindersTitleInputTitle:"תזכורת",CalendareventeditorViewRemindersDropdownNone:"ללא",CalendareventeditorViewRemindersDropdown1Day:"יום לפני",CalendareventeditorViewRemindersDropdown1Hour:"שעה לפני",CalendareventeditorViewRemindersDropdown30Mins:"30 דקות לפני",CalendareventeditorViewRemindersDropdown15Mins:"15 דקות לפני",CalendareventeditorViewRemindersDropdown1Min:"דקה לפני",CalendareventeditorViewRecurrenceEditAlert:{Title:"אירוע מחזורי",Body:"לערוך רק את המופע הזה או את כל הסדרה?",Button1Title:"מופע יחיד",Button2Title:"כל הסדרה"},CalendareventeditorViewFormIncompleteAlert:{Title:"אירוע חסר",InfoTextInvalidStartTime:"זמן ההתחלה אינו תקין, נא למלא שוב.",InfoTextInvalidEndTime:"זמן הסיום אינו תקין, נא למלא שוב.",InfoTextInvalidDateSequence:"תאריך ההתחלה לא יכול להיות אחרי תאריך הסיום.",InfoTextInvalidNotesLength:"התיאור ארוך מדי, המקסימום הוא 512 תווים.",Button1Title:"אישור",},CalendareventeditorViewSaveEventAlert:{Title:"שמירת שינויים",Body:"האם אתה בטוח שברצונך לשמור את השינויים באירוע זה?",Button1Title:"שמור",Button2Title:"ביטול",},CalendareventeditorViewRecurrenceSavePrompt:{Title:"שמירת אירוע מחזורי",Body:"האם ברצונך להחיל את השינויים על מופע זה בלבד או על כל הסדרה?",Button1Title:"מופע זה בלבד",Button2Title:"כל הסדרה",},CalendareventeditorViewDeleteEventAlert:{Title:"מחיקת אירוע",Body:"האם אתה בטוח שברצונך למחוק אירוע זה? לא ניתן לבטל פעולה זו.",Button1Title:"מחק",Button2Title:"ביטול",},CalendareventeditorViewRecurrenceDeletePrompt:{Title:"מחיקת אירוע מחזורי",Body:"האם ברצונך למחוק מופע זה בלבד או את כל הסדרה?",Button1Title:"מופע זה בלבד",Button2Title:"כל הסדרה",},CalendareventeditorViewRevertEventAlert:{Title:"שחזור לסדרה",Body:"האם אתה בטוח שברצונך לשחזר מופע זה? כל השינויים המותאמים אישית לתאריך זה יימחקו.",Button1Title:"שחזר",Button2Title:"ביטול"},CalendareventViewTitleText:"אירוע",CalendareventViewInvitationHeaderText:"הזמינו אותכם לאירוע",CalendareventViewResponseGoing:"מגיע",CalendareventViewResponseMaybe:"אולי",CalendareventViewResponseNotGoing:"לא מגיע",CalendareventViewTitleBarMenu:{NewButtonTitleText:"חדש",EditButtonTitleText:"ערוך",DeleteButtonTitleText:"מחק",RejectButtonTitleText:"דחייה",CloseButtonTitleText:"סגור"},CalendareventViewCalendarTitleInputTitle:"לוח שנה",CalendareventViewEventDescriptionTitleText:"תיאור",CalendareventViewEventLocationTitleText:"מיקום",CalendareventViewRecurrenceTitleText:"חזרתיות",CalendareventViewRecurrenceEndDateTitleText:"מסתיימת ב-",CalendareventViewRecurrenceDropdownRecurrenceNoneTitle:"ללא",CalendareventViewRecurrenceDropdownRecurrenceDailyTitle:"יומי",CalendareventViewRecurrenceDropdownRecurrenceWeeklyTitle:"שבועי",CalendareventViewRecurrenceDropdownRecurrenceMonthlyTitle:"חודשי",CalendareventViewRecurrenceDailyText:"בכל יום",CalendareventViewRecurrenceWeeklyText:"מדי שבוע ביום",CalendareventViewRecurrenceMonthlyText:"מדי חודש",CalendareventViewRecurrenceYearlyText:"מדי שנה",CalendareventViewRecurrenceUntilText:"עד",CalendareventViewRecurrenceEveryText:"כל",CalendareventViewRecurrenceWeeklyDaysSun:"א׳",CalendareventViewRecurrenceWeeklyDaysMon:"ב׳",CalendareventViewRecurrenceWeeklyDaysTue:"ג׳",CalendareventViewRecurrenceWeeklyDaysWed:"ד׳",CalendareventViewRecurrenceWeeklyDaysThu:"ה׳",CalendareventViewRecurrenceWeeklyDaysFri:"ו׳",CalendareventViewRecurrenceWeeklyDaysSat:"ש׳",CalendareventViewLocationTitleText:"מיקום",CalendareventViewNavigateButtonText:"ניווט",CalendareventViewJoinButtonText:"הצטרף",CalendareventViewStatusAccepted:"אישר/ה",CalendareventViewStatusTentative:"אולי",CalendareventViewStatusDeclined:"סירב/ה",CalendareventViewStatusPending:"ממתין",CalendareventViewStatusOrganizer:"מארגן",CalendareventViewAttendeesTitleText:"משתתפים",CalendareventViewExpandAttendeesButtonShowTitleText:"הצג",CalendareventViewExpandAttendeesButtonHideTitleText:"הסתר",CalendareventViewRemindersTitleInputTitle:"תזכורת",CalendareventViewRemindersDropdownNone:"ללא",CalendareventViewRemindersDropdown1Day:"יום לפני",CalendareventViewRemindersDropdown1Hour:"שעה לפני",CalendareventViewRemindersDropdown30Mins:"30 דקות לפני",CalendareventViewRemindersDropdown15Mins:"15 דקות לפני",CalendareventViewRemindersDropdown1Min:"דקה לפני",CalendareventViewStatusUpdateAlert:{Title:"עדכון סטטוס ההזמנה",Body:"האם ברצונך לעדכן את הסטטוס עבור הסדרה כולה או רק עבור מועד זה?",Button1Title:"מועד זה בלבד",Button2Title:"סדרה",},CalendareventViewDeleteEventAlert:{Title:"מחיקת אירוע",Body:"האם אתה בטוח שברצונך למחוק אירוע זה? לא ניתן לבטל פעולה זו.",Button1Title:"מחק",Button2Title:"ביטול",},CalendareventViewRecurrenceDeletePrompt:{Title:"מחיקת אירוע מחזורי",Body:"האם ברצונך למחוק מופע זה בלבד או את כל הסדרה?",Button1Title:"מופע זה בלבד",Button2Title:"כל הסדרה",},CalendareventViewRejectEventAlert:{Title:"דחיית זימון",Body:"האם אתה בטוח שברצונך לדחות זימון זה? לא ניתן לבטל פעולה זו.",Button1Title:"דחה",Button2Title:"ביטול",},CalendareventViewRecurrenceRejectPrompt:{Title:"דחיית אירוע מחזורי",Body:"האם ברצונך לדחות מופע זה בלבד או את כל הסדרה?",Button1Title:"מופע זה בלבד",Button2Title:"כל הסדרה",},CalendareventViewReminderUpdateAlert:{Title:"עדכון תזכורת",Body:"האם ברצונך לעדכן את התזכורת עבור מופע זה בלבד או עבור כל הסדרה?",Button1Title:"מופע זה בלבד",Button2Title:"כל הסדרה"},MailboxViewTitleText:"דוא״ל",MailboxViewNavigationBarInboxTitleText:"דוא״ל נכנס",MailboxViewComposeButtonTitle:"כתוב דוא״ל",MailboxViewTitleBarMenu:{NewButtonTitleText:"חדש",EmptyTrashButtonTitle:"ריקון סל אשפה"},MailboxViewTableItemMenu:{SendButtonTitleText:"שלח",ReplyButtonTitleText:"חזור",ForwardButtonTitleText:"העבר",MoveButtonTitleText:"הזז",MarkAsReadButtonTitleText:"סמן כנקרא",MarkAsUnreadButtonTitleText:"סמן כלא נקרא",MarkAsSpamButtonTitleText:"סמן כספאם",RemoveFromSpamButtonTitleText:"הסר מספאם",DeleteButtonTitleText:"מחק",PermanentlyDeleteButtonTitleText:"מחק לצמיתות",RestoreButtonTitleText:"שחזר"},MailboxViewEmptyTableItemText:"לא נמצאו פריטים...",MailboxViewNavigationBarInfoTextPart1:"מציג",MailboxViewNavigationBarInfoTextPart2:"מתוך",MailboxViewNavigationBarInfoTextPart3:"תוצאות",MailboxViewFolderListTitleText:"תיקיות",MailboxViewSystemMailboxNames:{INBOX:"דואר נכנס",SENT:"דואר נשלח",DRAFTS:"טיוטות",SPAM:"ספאם",DELETED:"פריטים שנמחקו"},MailboxViewDeleteEmailAlert:{Title:"מחיקת אימייל?",Description:"האם אתם בטוחים שברצונכם למחוק את האימייל הזה?",Button1Title:"מחק",Button2Title:"בטל",},MailboxViewRestoreEmailAlert:{Title:"שחזור אימייל?",Description:"האם תרצו לשחזר את האימייל הזה?",Button1Title:"שחזר",Button2Title:"בטל",},MailboxViewDeleteFolderAlert:{Title:"מחיקת תיקייה?",Description:"האם אתם בטוחים שברצונכם למחוק תיקייה זו?",Button1Title:"מחק",Button2Title:"ביטול",},MailboxViewPermanentDeleteEmailAlert:{Title:"מחיקת לצמיתות?",Description:"האם אתם בטוחים שברצונכם למחוק את האימייל הזה לצמיתות? לא ניתן לבטל פעולה זו וכל נתוני האימייל יאבדו.",Button1Title:"מחק",Button2Title:"ביטול",},MailboxViewEmptyDeletedItemslAlert:{Title:"ריקון סל האשפה?",Description:"האם ברצונכם לרוקן את סל האשפה? לא ניתן לבטל פעולה זו וכל נתוני הדוא״ל הנמצאים בסל יאבדו.",Button1Title:"רוקן",Button2Title:"ביטול",},MailboxViewFolderItemMenu:{RenameButtonTitleText:"שנה שם",DeleteButtonTitleText:"מחק",},EmailViewTitleText:"דוא״ל",EmailViewTitleBarMenu:{NewButtonTitleText:"חדש",ReplyButtonTitleText:"חזור",ForwardButtonTitleText:"העבר",DeleteButtonTitleText:"מחק",RestoreButtonTitleText:"שחזר",PrintButtonTitleText:"הדפס",CloseButtonTitleText:"סגור"},EmailViewToHeaderText:"אל",EmailViewCcHeaderText:"עותק",EmailViewAttachmentMenu:{DownloadButtonTitleText:"הורדה",SaveToDriveButtonTitleText:"שמור בכונן",},EmailViewDeleteEmailAlert:{Title:"מחיקת אימייל?",Description:"האם אתם בטוחים שברצונכם למחוק את האימייל הזה?",Button1Title:"מחק",Button2Title:"בטל",},EmailViewRestoreEmailAlert:{Title:"שחזור אימייל?",Description:"האם תרצו לשחזר את האימייל הזה?",Button1Title:"שחזר",Button2Title:"בטל",},EmailViewSaveEmailToCloudDriveAlert:{Title:"הקובץ נשמר",Description:"הקובץ נשמר בהצלחה בכונן הענן שלכם.",Button1Title:"פתח כונן",Button2Title:"סגור",},EmailViewOnRespondToEmailInviteSuccessAlert:{Title:"תגובה נשלחה",Description:"תגובתך נשלחה למארגן האירוע.",Button1Title:"אישור"},EmailViewCalendarInviteText:"הזמנה ליומן",EmailViewCalendarReplyText:"תגובת משתתף",EmailViewCalendarAcceptedStatus:"המשתתף אישר הגעה.",EmailViewCalendarTentativeStatus:"המשתתף אישר הגעה באופן זמני.",EmailViewCalendarDeclinedStatus:"המשתתף סירב להזמנה.",EmailViewCalendarCancelStatusNote:"אירוע זה הוסר מהיומן שלכם.",EmailViewCalendarCancelText:"בוטל",EmailViewCalendarAcceptButtonText:"אישור",EmailViewCalendarDeclineButtonText:"סירוב",EmailViewCalendarMaybeButtonText:"אולי",EmailViewCalendarRepeatText:"חזרה",EmailViewCalendarFromText:"מ-",EmailViewCalendarToText:"עד",EmailViewCalendarGMTText:"GMT",EmailViewCalendarFreqDAILY:"יומי",EmailViewCalendarFreqWEEKLY:"שבועי",EmailViewCalendarFreqMONTHLY:"חודשי",EmailViewCalendarFreqYEARLY:"שנתי",EmailViewAttachementFooterTitle:"מסמכים מצורפים",EmaileditorViewTitleText:"חיבור אימייל",EmaileditorViewHeaderFromTitle:"מ",EmaileditorViewHeaderToTitle:"אל",EmaileditorViewHeaderCcTitle:"עותק (Cc)",EmaileditorViewHeaderBccTitle:"עותק מוסתר (Bcc)",EmaileditorViewHeaderSubjectTitle:"נושא",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"שלח",SaveButtonTitleText:"שמור",NewButtonTitleText:"חדש",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},EmaileditorViewSendErrorAlert:{Title:"לא ניתן לשלוח אימייל",MaxSizeReachedDescription:"גודל הקבצים המצורפים ותוכן האימייל חרגו ממגבלת ה-10MB. אנא הסירו חלק מהתוכן ונסו שוב.",Button1Title:"אישור",},EmaileditorViewAlert:{NoRecipientTitleText:"אין נמענים",NoRecipientDescriptionText:"לא נבחר נמען, נא להזין לפחות נמען אחד.",Button1Title:"אישור",Button2Title:"ביטול"},EmaileditorViewDeleteEmailAlert:{Title:"מחיקת אימייל?",Description:"האם אתם בטוחים שברצונכם למחוק את האימייל הזה?",Button1Title:"מחק",Button2Title:"בטל",},EmaileditorViewQuillLinkTitleText:"קישור",EmaileditorViewQuillLinkSaveText:"שמור",EmaileditorViewQuillLinkVisitURLText:"בקר",EmaileditorViewQuillLinkEditText:"ערוך",EmaileditorViewQuillLinkRemoveText:"הסר",MailboxsettingsViewTitleText:"הגדרות תיבת דואר",MailboxsettingsViewSearchFieldPlaceholderText:"חיפוש",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"צור כינוי"},MailboxsettingseitorViewTitleText:"עורך הגדרות תיבת דואר",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},ClouddriveViewTitleText:"כונן ענן",ClouddriveViewNavigationBarTitleText:"כונן",ClouddriveViewNavigationBarInfoText1:"מציג",ClouddriveViewNavigationBarInfoText2:"תוצאות",ClouddriveViewTotalFilesInfoText:"קבצים שלי",ClouddriveViewTotalSizeInfoText:"סה״כ",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"חיפוש",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"תיקיה חדשה",UploadButtonTitleText:"טען קובץ",RenameFolderButtonTitleText:"עדכן שם",DeleteFolderButtonTitleText:"מחק תיקיה",UpdateFolderSettingsButtonTitleText:"הגדרות"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"עדכן שם",DownloadButtonTitleText:"הורד",MoveButtonTitleText:"הזז",DeleteButtonTitleText:"מחק",StarButtonTitleText:"הוספת כוכב",UnstarButtonTitleText:"הסרת כוכב",SettingsButtonTitleText:"הגדרות"},ClouddriveViewDeleteFileAlert:{DeleteFolderTitle:"מחיקת תיקייה?",DeleteFileTitle:"מחיקת קובץ?",DeleteFolderBody:"האם אתם בטוחים שברצונכם למחוק את התיקייה הזו? כל התוכן בתוכה יימחק. פעולה זו אינה ניתנת לביטול!",DeleteFileBody:"האם אתם בטוחים שברצונכם למחוק פריט זה? פעולה זו אינה ניתנת לביטול!",Button1Title:"מחק",Button2Title:"בטל"},ClouddriveViewSidebarListItems:{MyFiles:"קבצים שלי",SharedWithMe:"קבצים משותפים איתי",Starred:"קבצים מעודפים"},PreviewViewTitleText:"תצוגה מקדימה",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"הורדה",RenameFileButtonTitleText:"עדכן שם",PrintButtonTitleText:"הדפס",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},PreviewViewDeleteFileAlert:{DeleteTitle:"מחיקת קובץ?",DeleteBody:"האם אתם בטוחים שברצונכם למחוק את הקובץ הזה? פעולה זו אינה ניתנת לביטול!",Button1Title:"מחק",Button2Title:"בטל"},PdfViewTitleText:"צופה PDF",PdfViewTitleBarMenu:{DownloadButtonTitleText:"הורדה",CloseButtonTitleText:"סגור"},DirectoryViewTitleText:"אנשי קשר",DirectoryViewContactsListTitle:"רשימת אנשי קשר",DirectoryViewSearchFieldPlaceholderText:"חיפוש",DirectoryViewStartChatText:"שלחו הודעה",DirectoryViewPhoneText:"טלפון",DirectoryViewEmailText:"דואל",DirectoryViewStartVoiceCallText:"התחילו שיחה קולית",DirectoryViewStartVideoCallText:"התחילו שיחת וידאו",DirectoryViewContactsPlaceholderText:"אנא בחרו איש קשר",DirectoryViewContactsEmptyListItemTitleText:"לא נמצאו אנשי קשר...",ProfileViewTitleText:"פרופיל משתמש",ProfileViewInfoText:"פרטי הפרופיל שלכם",ProfileViewProfilePictureTitleText:"תמונת פרופיל",ProfileViewProfilePictureText:"הגודל המומלץ הוא 500 על 500 פיקסלים",ProfileViewProfilePictureUploadButtonTitleText:"עדכן",ProfileViewProfilePictureDeleteButtonTitleText:"מחק",ProfileViewProfilePictureInfoText:"עזרו לצוות שלכם לזהות אותכם בצורה טובה עלידי העלאת תמונת פרופיל ברורה",ProfileViewFormFirstNameTitleText:"שם פרטי",ProfileViewFormLastNameTitleText:"שם משפחה",ProfileViewFormPhoneNumberTitleText:"טלפון",ProfileViewFormEmailTitleText:"דוא״ל",ProfileViewUpdateButtonTitleText:"עדכן",ProfileViewSaveButtonTitleText:"שמור",ProfileViewEmailInUseAlertTitle:"דוא״ל זה בשימוש",ProfileViewEmailInUseAlertText:"כתובת הדוא״ל אותה הכנסת כבר בשימוש, אנא הכנס כתובת דוא״ל חדשה.",ProfileViewEmailInUseAlertButtonText:"אישור",ProfileViewPhoneNumberInUseAlertTitle:"מספר טלפון זה בשימוש",ProfileViewPhoneNumberInUseAlertText:"מספר הטלפון אותו הכנסת כבר השימוש, אנא הכנס מספר טלפון חדש.",ProfileViewPhoneNumberInUseAlertButtonText:"אישור",SettingsViewTitleText:"הגדרות",SettingsViewSearchFieldPlaceholderText:"חיפוש",SettingsViewDetailsPlaceholderText:"בחר נושא כדי להתחיל...",UsersettingsViewTitleText:"הגדרות",UserSettingsViewUserSettingsTitleText:"הגדרות משתמש:",UserSettingsViewLanguageSettingsTitleText:"שפה:",UserSettingsViewLanguageSettingsText:"אנא בחרו שפה לממשק משתמש:",SecurityViewTitleText:"אבטחת חשבון",SecurityViewUserSettingsTitleText:"הגדרות אבטחה:",SecurityViewSecuritySettingsTitleText:"עדכון סיסמא:",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"סיסמא חדשה:",SecurityViewSecuritySettingsPassword2TitleText:"הכניסו סיסמא בשנית:",SecurityViewSecuritySettingsSubmitButtonTitle:"עדכן",SecurityViewDefaultMessageText:"אנא הקלידו סיסמא החדשה:",SecurityViewMessageHolderTitleText:"הסיסמא צריכה להכיל את התווים הבאים:",SecurityViewMessageHolderLowercaseTitleText:"• אות קטנה",SecurityViewMessageHolderUppercaseTitleText:"• אות גדולה",SecurityViewMessageHolderNumberTitleText:"• מספר",SecurityViewMessageHolderLengthTitleText:"• לפחות 8 אותיות",SecurityViewPasswordMissmatchMessageText:"הסיסמאות לא זהות",SecurityViewPasswordInvalidMessageText:"סיסמא לא תקינה, נסו בשנית",SecurityViewPasswordUpdateSucessAlert:{Title:"עדכון סיסמא",Description:"הסיסמא שלכם עודכנה בהצלחה",Button1Title:"המשך",},SecurityViewPasscodeSettingsTitleText:"עדכון קוד סודי",SecurityViewDefaultPasscodeMessageText:"אנא הכניסו קוד סודי חדש:",SecurityViewSecuritySettingsPasscodeTitleText:"סיסמא חדשה:",SecurityViewPasscodeInvalidMessageText:"קוד סודי שגוי, אנא נסו בשנית",SecurityViewPasscodeUpdateSucessAlert:{Title:"עדכון סיסמא",Description:"הסיסמא שלכם עודכנה בהצלחה",Button1Title:"המשך",},NotificationsViewTitleText:"התראות",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"הקצה טופס למילוי על ידכם",EmployeeCheckedInOutsideOfLocationsTitleText:"התחילו משמרת מחוץ לאזור המשרד שלהם.",EmployeeCheckedOutOutsideOfLocationsTitleText:"סיימו משמרת מחוץ לאזור המשרד שלהם.",EmployeeCheckedInWithNoLocationTitleText:"התחילו את המשמרת ללא מיקום.",EmployeeCheckedOutWithNoLocationTitleText:"סיימו את המשמרת ללא מיקום.",EmployeeAbsenceRequestTitleText:"ביקש/ה ימי חופש.",NewEmailTitleText:"דוא״ל",EmployeeAbsenceRequestInfoText:"אנא לחצו כאן כדי לבדוק ולאשר או לדחות את בקשתם.",EmployeeAbsenceResponseApprovedTitleText:"אישרו את בקשתכם לימי חופש.",EmployeeAbsenceResponseRejectedTitleText:"דחו את בקשתכם לימי חופש.",EmployeeAbsenceResponseInfoText:"אנא לחצו כאן כדי לבדוק את בקשתכם.",CalendarEventInvitedTitleText:"הזמינו אותכם ל",CalendarEventUpdatedTitleText:"עדכנו את",CalendarEventCanceledTitleText:"ביטלו את",CalendarEventAcceptedTitleText:"אישרו את ההזמנה שלכם ל",CalendarEventTentativeTitleText:"אישרו באופן זמני את ההזמנה שלכם ל",CalendarEventRejectedTitleText:"דחו את ההזמנה שלכם ל",CalendarEventFromText:"החל מ-",CalendarEventFreqDAILY:"יומי",CalendarEventFreqWEEKLY:"שבועי",CalendarEventFreqMONTHLY:"חודשי",CalendarEventFreqYEARLY:"שנתי",CalendarEventReminderTitleText:"תזכורת",CalendarEventReminderStartsInText:"מתחיל בעוד",CalendarEventReminderTomorrowAtText:"מחר ב-",CalendarEventReminderMinutesText:"דקות",CalendarEventReminderHoursText:"שעות"},NotificationsViewClearAllNotificationsButtonTitleText:"מחק הכל",NotificationsViewNotificationItemClearButtonTitleText:"מחק",NotificationsViewClearAllNotificationsAlert:{Title:"מחק את כל ההתראות?",Description:"האם אתם בטוחים שברצונכם למחוק את כל ההתראות?",Button1Title:"מחק",Button2Title:"בטל",},NotificationsViewEmptyNotificationItem:"אין התראות חדשות...",UserAccountsTitleText:"ניהול חשבונות",UserAccountsViewFirstNameTitleText:"שם פרטי",UserAccountsViewLastNameTitleText:"שם משפחה",UserAccountsViewJobTitleTitleText:"כותרת",UserAccountsViewEmailTitleText:"דוא״ל",UserAccountsViewPhoneNumberTitleText:"מספר טלפון",UserAccountsViewAccountActiveTitleText:"פעיל",UserAccountsViewAccountBlockedTitleText:"חסום",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"הוסף משתמש"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"ערוך",SendInviteButtonTitleText:"שלח הזמנה",ResetPasswordButtonTitleText:"אפס סיסמא",LogoutButtonTitleText:"נתק משתמש",BlockButtonTitleText:"חסום משתמש",UnblockButtonTitleText:"שחרר משתמש",DeleteButtonTitleText:"מחק משתמש"},UserAccountsViewSearchBarInfoTextPart1:"מציג",UserAccountsViewSearchBarInfoTextPart2:"מתוך",UserAccountsViewSearchBarInfoTextPart3:"משתמשים",EdituserViewAddTitleText:"הוסף משתמש",EdituserViewEditTitleText:"ערוך משתמש",EdituserViewTitleBarSaveButtonTitleText:"שמירה",EdituserViewTitleBarCancelButtonTitleText:"ביטול",EdituserViewFormFirstNameTitleText:"שם פרטי",EdituserViewFormLastNameTitleText:"שם משפחה",EdituserViewFormUserNameTitleText:"שם משתמש",EdituserViewFormJobTitleTitleText:"כותרת",EdituserViewFormPhoneNumberTitleText:"מספר טלפון",EdituserViewFormEmailTitleText:"דוא״ל",EdituserViewFormInmailEmailTitleText:"דוא״ל פנימי",EdituserViewFormInmailCheckboxTitleText:"אפשר דוא״ל פנימי",EdituserViewEmailInUseAlertTitle:"כתובת דוא״ל בשימוש",EdituserViewEmailInUseAlertText:"כתובת הדוא״ל אותה הכנסתם כבר בשימוש, אנא הכניסו כתובת אחרת",EdituserViewEmailInUseAlertButtonText:"אישור",EdituserViewPhoneNumberInUseAlertTitle:"מספר הטלפון בשימוש",EdituserViewPhoneNumberInUseAlertText:"מספר הטלפון אותו הכנסתם כבר בשימוש, אנא הכניסו מספר טלפון חדש",EdituserViewPhoneNumberInUseAlertButtonText:"אישור",EdituserViewTimetrackingListTitleText:"הגדרות מעקב זמן",EdituserViewLocationsListTitleText:"שיוך מקומות עבודה",EdituserViewPositionsListTitleText:"הגדרת תפקידים",EdituserViewFeatureAccessListTitleText:"הרשאות גישה לתוכנות",EdituserViewSettingsAccessListTitleText:"הרשאות גישה להגדרות",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"דורש אישור מנהל/ת",EdituserViewTimetrackingListReviewAccesslItemTitleText:"גישת צפייה",EdituserViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},EdituserViewDeleteUserAlert:{Title:"מחק משתמש?",Description:"האם אתם בטוחים שברצונכם למחוק את המשתמש? פעולה זו לא ניתנת לשיחזור.",Button1Title:"מחק",Button2Title:"בטל",},EdituserViewErrorAlert:{Title:"חשבון משתמש לא תקין",DescriptionNoPositionSelected:"אנא בחרו לפחות תפקיד אחד מתוך הגדרת תפקידים.",Button1Title:"אישור",},GroupmanagementViewTitleText:"ניהול קבוצות",GroupmanagementViewSearchFieldPlaceholderText:"חיפוש",GroupmanagementViewSearchBarSearchButtonTitleText:"חיפוש",GroupmanagementViewDepartmentsTitleText:"מחלקות",GroupmanagementViewTeamsTitleText:"צוותים",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"מחלקה חדשה",CreateTeamTemplateButtonTitleText:"צוות חדש"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"ערוך",DeleteButtonTitleText:"מחק"},GroupmanagementViewSearchBarInfoTextPart1:"מציג",GroupmanagementViewSearchBarInfoTextPart2:"מתוך",GroupmanagementViewSearchBarInfoTextPart3:"תוצאות",GroupmanagementViewDeleteTeamAlert:{Title:"מחק צוות?",Description:"האם אתם בטוחים שברצונכם למחוק את הצוות? פעולה זו לא ניתנת לשיחזור.",Button1Title:"מחק",Button2Title:"בטל",},GroupmanagementViewDeleteDepartmentAlert:{Title:"מחק מחלקה?",Description:"האם אתם בטוחים שברצונכם למחוק את המחלקה? פעולה זו לא ניתנת לשיחזור.",Button1Title:"מחק",Button2Title:"בטל",},GroupeditorViewDepartmentIDText:"מספר מחלקה",GroupeditorViewTeamIDText:"מספר צוות",GroupeditorViewAddDepartmentTitleText:"הוסף מחלקה",GroupeditorViewEditDepartmentTitleText:"ערוך מחלקה",GroupeditorViewAddTeamTitleText:"הוסף צוות",GroupeditorViewEditTeamTitleText:"ערוך צוות",GroupeditorViewDepartmentTitleText:"שם מחלקה",GroupeditorViewDepartmentDescriptionText:"תאור מחלקה",GroupeditorViewTeamTitleText:"שם צוות",GroupeditorViewTeamDescriptionText:"תאור צוות",GroupeditorViewMembersTableTitle:"משתמשים",GroupeditorViewManagersTableTitle:"מנהלי עבודה",GroupeditorViewAdminsTableTitle:"מנהלי מערכת",GroupeditorViewMembersTableSearchFieldPlaceholderText:"חיפוש",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},GroupeditorViewDeleteTeamAlert:{Title:"מחק צוות?",Description:"האם אתם בטוחים שברצונכם למחוק את הצוות? פעולה זו לא ניתנת לשיחזור.",Button1Title:"מחק",Button2Title:"בטל",},GroupeditorViewDeleteDepartmentAlert:{Title:"מחק מחלקה?",Description:"האם אתם בטוחים שברצונכם למחוק את המחלקה? פעולה זו לא ניתנת לשיחזור.",Button1Title:"מחק",Button2Title:"בטל",},PositionsmanagementViewTitleText:"ניהול תפקידים",PositionsmanagementViewSearchFieldPlaceholderText:"חיפוש",PositionsmanagementViewSearchBarSearchButtonTitleText:"חיפוש",PositionsmanagementViewSearchBarInfoTextPart1:"מציג",PositionsmanagementViewSearchBarInfoTextPart2:"מתוך",PositionsmanagementViewSearchBarInfoTextPart3:"תוצאות",PositionsmanagementViewPositionsTitleText:"תפקידים",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"תפקיד חדש",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"ערוך",DeleteButtonTitleText:"מחק"},PositionsmanagementViewEmptyTableItemText:"לא נמצאו פריטים...",PositionsmanagementViewDeletePositionAlert:{Title:"מחק תפקיד?",Description:"האם אתם בטוחים שברצונכם למחוק את התפקיד? פעולה זו תשפיע על כל המשתמשים המשוייכים לתפקיד זה.",Button1Title:"מחק",Button2Title:"בטל",},PositioneditorViewTitleText:"עורך תפקידים",PositioneditorViewPositionText:"תפקיד",PositioneditorViewPositionTitleText:"כותרת",PositioneditorViewPositionDescriptionText:"תיאור",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},PositioneditorViewDeletePositionAlert:{Title:"מחק תפקיד?",Description:"האם אתם בטוחים שברצונכם למחוק את התפקיד? פעולה זו תשפיע על כל המשתמשים המשוייכים לתפקיד זה.",Button1Title:"מחק",Button2Title:"בטל",},LocationsmanagementViewTitleText:"ניהול מיקומים",LocationsmanagementViewSearchFieldPlaceholderText:"חיפוש",LocationsmanagementViewSearchBarSearchButtonTitleText:"חיפוש",LocationsmanagementViewSearchBarInfoTextPart1:"מציג",LocationsmanagementViewSearchBarInfoTextPart2:"מתוך",LocationsmanagementViewSearchBarInfoTextPart3:"תוצאות",LocationsmanagementViewLocationsTitleText:"מיקומים",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"מיקום חדש",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"ערוך",DeleteButtonTitleText:"מחק"},LocationsmanagementViewEmptyTableItemText:"לא נמצאו פריטים...",LocationsmanagementViewDeleteLocationAlert:{Title:"מחק מיקום?",Description:"האם אתם בטוחים שברצונכם למחוק את המיקום?",Button1Title:"מחק",Button2Title:"בטל",},LocationeditorViewTitleText:"עורך מיקומים",LocationeditorViewLocationText:"מיקום",LocationeditorViewLocationTitleText:"כותרת",LocationeditorViewLocationAddressText:"כתובת",LocationeditorViewLocationLatitudeText:"קורדינטות רוחב",LocationeditorViewLocationLongitudeText:"קורדינטות אורך",LocationeditorViewLocationDistanceText:"מרחק מותר (במטרים)",LocationeditorViewSetCurrentLocationButtonTitleText:"מלא עם מיקום נוכחי",LocationeditorViewShowOnMapButtonTitleText:"הצג על מפה",LocationeditorViewReloadMapButtonTitleText:"טען מפה מחדש",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},LocationeditorViewDeleteLocationAlert:{Title:"מחק מיקום?",Description:"האם אתם בטוחים שברצונכם למחוק את המיקום?",Button1Title:"מחק",Button2Title:"בטל",},TasksmanagementViewTitleText:"ניהול משימות",TasksmanagementViewSearchFieldPlaceholderText:"חיפוש",TasksmanagementViewSearchBarSearchButtonTitleText:"חיפוש",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"צור תבנית חדשה"},TaskeditorViewTitleText:"עורך משימות",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},FormsmanagementViewTitleText:"ניהול טפסים",FormsmanagementViewSearchFieldPlaceholderText:"חיפוש",FormsmanagementViewSearchBarInfoTextPart1:"מציג",FormsmanagementViewSearchBarInfoTextPart2:"מתוך",FormsmanagementViewSearchBarInfoTextPart3:"טפסים",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"צור תבנית חדשה"},FormsmanagementViewFormsTableNameTitle:"שם התבנית",FormsmanagementViewFormsTableCreatorTitle:"נוצר עלידי",FormsmanagementViewFormsTableCreationTimeTitle:"נוצר ב",FormsmanagementViewFormsTableLastModifiedTitle:"עודכן ב",FormsmanagementViewFormsTableEmptyPlaceholderText:"לא נמצאו טופסים, אנא עדכן את החיפוש שלך או צור טופס חדש כדי להתחיל",FormsmanagementViewDeleteFormTemplateAlert:{Title:"מחק תבנית? ",Description:"האם אתם בטוחים שברצונכם למחוק את התבנית? פעולה זו לא ניתנת לשחזור",Button1Title:"מחק",Button2Title:"ביטול",},FormeditorViewTitleText:"עורך תבניות טופס",FormeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},FormeditorViewFormsTableNameTitle:"שם הטופס",FormeditorViewFormsTableCreatorTitle:"נוצר עלידי",FormeditorViewFormsTableCreationTimeTitle:"נוצר ב",FormeditorViewFormsTableLastModifiedTitle:"עודכן ב",FormeditorViewFormsDuplicateTitleText:"(העתק)",FormeditorViewShareSettingsShareButtonTitleText:"הגדרות",FormeditorViewDeleteFormTemplateAlert:{Title:"מחק תבנית? ",Description:"האם אתם בטוחים שברצונכם למחוק את התבנית? פעולה זו לא ניתנת לשחזור",Button1Title:"מחק",Button2Title:"ביטול",},FormditorViewTemplateTypeTitleText:"סוג הטופס:",FormTypes:{1:"טופס רגיל",2:"שאלון",3:"בקשה מהמנהל"},FormtemplatesViewTitleText:"תבניות טופס",FormtemplatesViewSearchFieldPlaceholderText:"חיפוש",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"תבנית חדשה",CloseButtonTitleText:"סגור"},FormtemplatesViewSearchBarInfoTextPart1:"מציג",FormtemplatesViewSearchBarInfoTextPart2:"מתוך",FormtemplatesViewSearchBarInfoTextPart3:"טפסים",FormtemplatesViewFormsTableNameTitle:"שם הטופס",FormtemplatesViewFormsTableTemplateNameTitle:"שם התבנית",FormtemplatesViewFormsTableCreatorTitle:"יוצר",FormtemplatesViewFormsTableCreationTimeTitle:"תאריך יצירה",FormtemplatesViewFormsTableLastModifiedTitle:"עידכון אחרון",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"צור טופס",EditButtonTitleText:"ערוך תבנית",DuplicateButtonTitleText:"שכפל תבנית",DeleteButtonTitleText:"מחק תבנית"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"למחוק תבנית טופס?",Description:"האם אתם בטוחים שברצונכם למחוק את תבנית הטופס הזו? פעולה זו אינה ניתנת שחזור.",Button1Title:"מחק",Button2Title:"בטל",},FormtemplatesViewFormsTableEmptyPlaceholderText:"לא נמצאו תבניות טפסים, אנא עדכנו את החיפוש שלכם או צרו תבנית חדשה כדי להתחיל...",FormeditorViewFormNamePlaceholderText:"שם הטופס",FormeditorViewFormTitlePlaceholderText:"נושא",FormeditorViewFormDescriptionPlaceholderText:"הסבר",FormTextInputPlaceholderText:"קלט טקסט...",FormTextAreaPlaceholderText:"אזור טקסט...",FormRatingInputPlaceholderText:"שאלת דירוג...",FormRatingInputValidationErrorText:"* זהו שדה חובה, אנא ענו על השאלה.",FormTextQuestionQuestionPlaceholderText:"שאלה...",FormTextQuestionAnswerPlaceholderText:"תשובה...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormTextQuestionValidationErrorText:"* זהו שדה חובה, אנא ענו על השאלה.",FormDatePickerInputPlaceholderText:"כותרת...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"טווח תאריכים",FormDatePickerInputValidationErrorText:"* זהו שדה חובה, אנא הזינו תאריך",FormDatePickerInputValidationInvalidRangeErrorText:"* טווח לא חוקי, תאריך התחלה גדול מתאריך סיום. אנא עדכנו את הקלט ונסו שוב.",FormTimePickerInputPlaceholderText:"כותרת...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"טווח זמן",FormTimePickerInputValidationErrorText:"* זהו שדה חובה, אנא הזינו זמן",FormTimePickerInputValidationInvalidRangeErrorText:"טווח לא חוקי, שעת התחלה גדולה משעת סיום. אנא עדכנו את הקלט ונסו שוב.",FormSingleSelectionInputPlaceholderText:"שאלה עם בחירת תשובה אחת...",FormSingleSelectionInputOptionPlaceholderText:"אפשרות",FormSingleSelectionInputAddOptionButtonTitleText:"הוסף אפשרות",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormSingleSelectionInputValidationErrorText:"* זהו שדה חובה, אנא בחרו אפשרות.",FormMultiSelectionInputPlaceholderText:"שאלה מרובת אפשרויות...",FormMultiSelectionInputOptionPlaceholderText:"אפשרות",FormMultiSelectionInputAddOptionButtonTitleText:"הוסף אפשרות",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormMultiSelectionInputValidationErrorText:"* זהו שדה חובה, אנא בחרו אפשרות אחת לפחות.",FormFileUploadInputPlaceholderText:"בקשת העלאת קובץ...",FormFileUploadInputResetButtonTitleText:"מחק קובץ",FormFileUploadInputUploadButtonTitleText:"בחר קובץ",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormFileUploadInputValidationErrorText:"* זהו שדה חובה, אנא בחרו קובץ.",FormPhotoUploadInputPlaceholderText:"בקשת העלאת תמונה...",FormPhotoUploadInputResetButtonTitleText:"מחק תמונה",FormPhotoUploadInputUploadButtonTitleText:"בחר תמונה",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormPhotoUploadInputValidationErrorText:"* זהו שדה חובה, אנא בחרו תמונה.",FormSignatureInputPlaceholderText:"בקשה לחתימה...",FormSignatureInputSignatureText:"חתימה",FormSignatureInputResetButtonTitleText:"אפס חתימה",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"שדה חובה",FormSignatureInputValidationErrorText:"* זהו שדה חובה, אנא חתמו על הטופס.",KiosksmanagementViewTitleText:"ניהול עמדות קיוסק",KiosksmanagementViewSearchFieldPlaceholderText:"חיפוש",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"קיוסק חדש"},KiosksmanagementViewKiosksTableTitleText:"קיוסקים",KiosksmanagementViewSearchBarInfoTextPart1:"מציג",KiosksmanagementViewSearchBarInfoTextPart2:"מתוך",KiosksmanagementViewSearchBarInfoTextPart3:"תוצאות",KioskmanagementViewTableItemStatusOnline:"פעיל",KioskmanagementViewTableItemStatusOffline:"לא פעיל",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"ערוך",DeleteButtonTitleText:"מחק"},KioskmanagementViewDeleteKioskAlert:{Title:"מחק עמדה?",Description:"האם אתם בטוחים שברצונכם למחוק את העמדה?",Button1Title:"מחק",Button2Title:"בטל",},KioskManagementViewEmptyTableItemText:"לא נמצאו פריטים...",KioskeditorViewTitleText:"עורך קיוסקים",KioskeditorViewKioskText:"קיוסק",KioskeditorViewKioskTitleText:"שם",KioskeditorViewKioskDescriptionText:"תאור",KioskeditorViewKioskLocationTitleText:"מקום העמדה",KioskeditorViewKioskTypeTitleText:"סוג עמדה",KioskeditorViewKioskAccessSettingsTitleText:"הגדרות גישה למידע על העמדה",KioskeditorViewKioskAccessSettingsButtonText:"הגדר הגדרות גישה",KioskeditorViewKioskUsernameText:"שם משתמש עבור הקיוסק",KioskeditorViewKioskPasswordText:"סיסמא עבור הקיוסק",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"חדש",SaveButtonTitleText:"שמור",DuplicateButtonTitleText:"שכפל",DeleteButtonTitleText:"מחק",CloseButtonTitleText:"סגור"},KioskeditorViewKioskTypes:{TimeTracking:"שעון נוכחות",CustomerSurvey:"סקר לקוחות"},KioskeditorViewDeleteKioskAlert:{Title:"מחק עמדה?",Description:"האם אתם בטוחים שברצונכם למחוק את העמדה?",Button1Title:"מחק",Button2Title:"בטל",},FormItemsMenu:{FormTextInput:"קלט טקסט",FormTextArea:"אזור טקסט",FormTextQuestion:"שאלה פתוחה",FormSingleSelectionInput:"בחירה יחידה",FormMultiSelectionInput:"בחירה מרובה",FormTimePickerInput:"קלט לזמן",FormDatePickerInput:"קלט לתאריך",FormRatingInput:"דירוג כוכבים",FormSignatureInput:"קלט חתימה",FormPhotoUploadInput:"העלאת תמונה",FormFileUploadInput:"העלאת קובץ"},TimePickerMenuEnterTimeText:"עדכן שעה:",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"שמור",TimePickerMenuCancelButtonTitleText:"בטל",ImageGalleryTitleText:"גלריית תמונות",FileExplorerTitleText:"גלריית מדיה",FileExplorerMenuItemImagesTitleText:"תמונות",FileExplorerMenuItemFilesTitleText:"קבצים",FileExplorerFileListEmptyListItemTitleText:"לא נמצאו קבצים בשיחה הזו",FileExplorerImageGridEmptyListItemTitleText:"לא נמצאו תמונות בקבוצה הזו",ChatGroupNameEditorTitleText:"הכנס שם חדש לקבוצה",ChatGroupNameEditorButton1TitleText:"שמור",ChatGroupNameEditorButton2TitleText:"בטל",FilenameEditorTitleText:"הכנס שם חדש",FilenameEditorButton1TitleText:"שמור",FilenameEditorButton2TitleText:"בטל",FilePickerChooseFolderTitleText:"בחרו תיקיה",FilePickerChooseFileTitleText:"בחרו קובץ",FilePickerButton1TitleText:"שמור",FilePickerButton2TitleText:"בטל",FolderPickerChooseFolderTitleText:"בחרו תיקייה",FolderPickerCancelButtonTitleText:"בטל",FolderPickerInboxFolderTitleText:"דואר נכנס",ChatGroupPickerDialogTableTitle:"קבוצות",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"חפש",ChatGroupPickerDialogTitleText:"בחירת קבוצות צ'אט",ChatGroupPickerDialogEmptyListItemTitleText:"לא נמצאו קבוצות",ChatGroupPickerDialogSelectButtonTitleText:"בחר",ChatGroupPickerDialogCancelButtonTitleText:"בטל",UserPickerDialogTitleText:"הוסף משתמשים",UserPickerDialogEmptyListItemTitleText:"לא נמצאו משתמשים",UserPickerDialogAddButtonTitleText:"הוסף",UserPickerDialogCancelButtonTitleText:"בטל",SharePickerDialogTitleText:"שתף",SharePickerDialogTableSearchFieldPlaceholderText:"חיפוש",SharePickerDialogUsersTableTitleText:"משתמשים",SharePickerDialogDepartmentsTableTitleText:"מחלקות",SharePickerDialogTeamsTableTitleText:"צוותים",SharePickerDialogAddButtonTitleText:"הוסף",SharePickerDialogCancelButtonTitleText:"ביטול",SharePickerDialogEmptyListItemTitleText:"לא נמצאו פריטים",ShareSettingsDialogTitleBarText:"שתף",ShareSettingsDialogTitleText:"הגדרות שיתוף",ShareSettingsDialogCloseButtonTitle:"סגור",ShareSettingsDialogOwnerTableTitle:"בעלים",ShareSettingsDialogUsersTableTitle:"משתמשים",ShareSettingsDialogDepartmentsTableTitle:"מחלקות",ShareSettingsDialogTeamsTableTitle:"צוותים",ShareSettingsDialogAddButtonTitle:"הוסף",ShareSettingsDialogUsersTableEmptyTitleText:"אף משתמש לא נבחר",ShareSettingsDialogDepartmentsTableEmptyTitleText:"אף מחלקה לא נבחרה",ShareSettingsDialogTeamsTableEmptyTitleText:"אף צוות לא נבחר",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"תבנית",ReviewAccess:"צפייה",Assignees:"השמה"},AccessDialogAccessSettingsTemplateInfoText:"גישה לתבנית:
בחר משתמשים, מחלקות וצוותים שתהיה להם גישה לתבנית טופס הזה.",AccessDialogAccessSettingsReviewTemplateInfoText:"גישת צפייה:
בחר משתמשים, מחלקות וצוותים שתהיה להם גישה לתוצאות בטפסים שנוצרו על ידי תבנית זו. ניתן לעשות זאת מאוחר יותר באופן ידני בעת יצירת טופס מתבנית זו.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"מקבלי הטפסים:
בחר משתמשים, מחלקות וצוותים שיוקצו אוטומטית לטפסים שנוצרו על ידי תבנית זו. ניתן לעשות זאת מאוחר יותר באופן ידני בעת יצירת טופס מתבנית זו.",AccessDialogAccessSettingsReviewInfoText:"גישת צפייה:
בחר משתמשים, מחלקות וצוותים שתהיה להם גישה לצפות בתוצאות טופס זה.",AccessDialogAccessSettingsAssigneesInfoText:"מקבלי הטפסים:
בחר משתמשים, מחלקות וצוותים שיוקצו למילוי לטפסים זה.",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"מקבלי הטפסים:
סוג הטופס שנבחר \"בקשה מהמנהל\" יוסיף אוטומטית את מנהל העובד/ת כמקבל הטופס.",AccessDialogAccessSettingsTitleText:"הגדרות שיתוף:",AccessDialogAccessSettingsCloseButtonTitle:"סגור",AccessDialogAccessSettingsAddButtonTitleText:"הוסף",AccessDialogAccessSettingsPeopleTableTitleText:"משתמשים עם גישה:",AccessDialogAccessSettingsDepartmentsTableTitleText:"מחלקות עם גישה:",AccessDialogAccessSettingsTeamsTableTitleText:"צוותים עם גישה:",AccessDialogAccessSettingsManagerAssignedTableTitleText:"המנהלים שהוקצו:",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"משתמשים משוייכים:",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"מחלקות משוייכות:",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"צוותים משוייכים:",AccessDialogAccessSettingsCreatorTagText:"יוצר",AccessDialogAccessSettingsUsersTableEmptyTitleText:"אף משתמש לא נבחר",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"אף מחלקה לא נבחרה",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"אף צוות לא נבחר",AccessDialogAccessSettingsSingleResponderRequiredText:"נדרש רק עונה יחיד.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"לקריאה בלבד: נדרש רק עונה יחיד.",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"תגובות אנונימיות:",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"אם תבחרו באפשרות זו, כל הטפסים שיווצרו עלידי מתבנית זו יכללו תגובות אנונימיות.",AccessDialogAccessSettingsAnonymousResponsesText:"הגדר תגובות אנונימיות.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"לקריאה בלבד: ניתן להגדיר ערך זה רק בתבנית.",AccessDialogAccessSettingsAnonymousUserNameText:"משתמש אנונימי",AccessDialogResponsesEmptyResponseText:"לא התקבל קלט מהמשתמש",AccessDialogResponsesNoFileAttachedResponseText:"אין קובץ מצורף",AccessDialogMaxAssigneesAlert:{TitleText:"הגעתם למקסימום המוקצים",DesciptionText:"סוג טופס זה מאפשר הרשאה של מקבל אחד בלבד, אנא הסר מקבלים אחרים אם ברצונך לשנות את המקבל.",Button1Title:"המשך"},WidgetsGenericLoadinMessageText:"טוען...",PhoneWidgetTitleText:"שיחות",PhoneWidgetSearchFieldPlaceholderText:"חיפוש",PhoneWidgetCallLogButtonTitleText:"יומן שיחות",PhoneWidgetContactsButtonTitleText:"אנשי קשר",PhoneWidgetNoIntemsFound:"לא נמצאו פריטים...",ShiftButtonWidgetTitleText:"שעון עבודה",ShiftButtonWidgetStartTimeText:"המשמרת התחילה ביום",ShiftButtonWidgetStartTimeAtText:"בשעה",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"משמרת נוכחית",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"הפסקה נוכחית",ShiftButtonWidgetStartBreakButtonText:"התחל הפסקה",ShiftButtonWidgetEndBreakButtonText:"סיים הפסקה",EmailWidgetTitleText:"דוא״ל",EmailWidgetSearchFieldPlaceholderText:"חיפוש",EmailWidgetNoIntemsFound:"לא נמצאו פריטים...",EmailWidgetTableFooterText:"הצג את כל ההעודעות...",CalendarWidgetTitleText:"יומן",CalendarWidgetNoItemsFoundTableItemText:"לא נמצאו ארועים היום...",CalendarWidgetAllDayEventTitleText:"כל היום",OpenFormsWidgetTitleText:"טפסים פתוחים",BookmarkedFormsWidgetTitleText:"תבניות טפסים",NewsWidgetTitleText:"חדשות אחרונות",CalculatorWidgetTitleText:"מחשבון",WeatherWidgetTitleText:"מזג אויר",WeatherWidgetWaitingForLocationText:"ממתין לעדכון מיקום...",WeatherWidgetWindSpeedUnits:"קמ״ש",KioskCustomerSurveyWidgetTitleText:"סקר לקוחות",KioskCustomerSurveyWidgetTotalText:"סך כל הסקרים",KioskCustomerSurveyWidgetThisMonthText:"החודש הזה",KioskCustomerSurveyWidgetAllTimeAverageText:"ממוצע כל הזמנים",KioskCustomerSurveyWidgetThisMonthAverageText:"ממוצע החודש",AdminViewTitleText:"ניהול אתר",SQLStatsViewTitleText:"מסד נתונים",WebStatsViewTitleText:"שרת ווב",CookiemanagementViewTitleText:"ניהול עוגיות",LanguagemanagementViewTitleText:"ניהול שפות",LocationAutocompleteInputPlaceholderText:"הזן מיקום...",ShiftToggleSwitchStartText:"התחל משמרת",ShiftToggleSwitchStopText:"סיים משמרת",ShiftToggleSwitchAlertStartShiftTitle:"התחילו משמרת חדשה",ShiftToggleSwitchAlertStartShiftAlertText:"מוכנים להתחיל משמרת?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"אנא בחרו תפקיד:",ShiftToggleSwitchAlertStartShiftButton1Title:"כן",ShiftToggleSwitchAlertStartShiftButton2Title:"לא",ShiftToggleSwitchAlertStopShiftTitle:"סיום משמרת?",ShiftToggleSwitchAlertStopShiftAlertText:"האם אתם רוצים לסיים את המשמרת?",ShiftToggleSwitchAlertStopShiftAlertButton1:"כן",ShiftToggleSwitchAlertStopShiftAlertButton2:"לא"} if(typeof Strings=='undefined'){Strings={};} var IT={Language:"Italiano",LocalLanguage:"Italiano",initials:"IT",Direction:"ltr",FlagIcon:'/assets/images/flags/flag_it.png',LanguageMenuTitle:"Menu Lingua",EmojiTitleStrings:{Recent:"Elementi Recenti",People:"Emoji e Persone",Nature:"Animali e Natura",Food:"Cibo e Bevande",Activities:"Attività",Travel:"Viaggi e Luoghi",Objects:"Oggetti",Symbols:"Simboli",Flags:"Bandiere"},MonthsOfYear:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],DaysOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],DaysOfWeekShortHand:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],DateAndTimeYesterday:"Ieri",DateAndTimeToday:"Oggi",DateAndTimeTomorrow:"Domani",DateAndTimeByText:"da",DateAndTimeLastText:"Ultimo",HourSymbol:"h",MinuteSymbol:"m",ApplicationEnableNotificationsAlert:{Title:"Abilita notifiche",Description:"Per favore, consenti a dailyreport di inviarti notifiche.",Button1Title:"OK",},TitleBarLoginButtonText:"Accedi",NavigationMenuTitle:"Menu principale",MenuItemTitles:{Dashboard:"Dashboard",Insights:"Analisi",News:"Notizie",Events:"Eventi",Timetracking:"Rilevazione presenze",Tasks:"Attività",Forms:"Moduli",Scheduling:"Pianificazione",Calendar:"Calendario",Directory:"Rubrica",Chat:"Chat",Mailbox:"Posta",Clouddrive:"Cloud drive",Profile:"Profilo",Settings:"Impostazioni",Admin:"Admin",Logout:"Esci"},MenuWelcomeText:"Ciao",SettingsMenuItemTitles:{UserPreferences:"Preferenze utente",Profile:"Profilo",UserSettings:"Impostazioni",Security:"Sicurezza",UserManagement:"Gestione utenti",UserAccounts:"Utenti",GroupManagement:"Gestione gruppi",PositionsManagement:"Ruoli",LocationsManagement:"Sedi",TimetrackingAndSchedulingManagement:"Gestione tempo",TimetrackingManagement:"Rilevazione presenze",SchedulingManagement:"Pianificazione",ContentManagement:"Gestione contenuti",NewsManagement:"Notizie",EventsManagement:"Eventi",TaskManagement:"Gestione attività",TasksManagement:"Attività",FormsManagement:"Gestione moduli",KioskManagement:"Gestione Kiosk",Kiosks:"Kiosk",Admin:"Admin",WebServer:"Web Server",SQLServer:"SQL Server",CookieManagement:"Gestione cookie",LanguageManagement:"Gestione lingue",Info:"Info applicazione",About:"Informazioni",License:"Licenza, ToS e GDPR"},HomeViewHeaderText:"Prossimamente",HomeViewSecondaryHeaderText:"Qualcosa di fantastico è in preparazione...
Torna a trovarci tra un paio di settimane.",HomeViewLoginButtonText:"Accedi per iniziare",AboutViewTitleText:"Informazioni",AboutViewInfoTitleText:"DailyReport",AboutViewApplicationInfoTitleText:"Info applicazione",AboutViewApplicationVersionTitleText:"Versione",AboutViewApplicationBuildTitleText:"Build",AboutViewApplicationCommitTitleText:"Commit",AboutViewApplicationBuildDateTitleText:"Data build",AboutViewApplicationQRCodeTitleText:"Codice QR",AboutViewApplicationQRCodeInfoText:"Scansiona per avviare l'app mobile",AboutViewApplicationDownloadNativeAndroid:"Scarica l'app Android",AboutViewApplicationDownloadNativeiOS:"Scarica l'app iOS",EulaViewTitleText:"Contratto di licenza",EulaViewInfoTitleText:"Contratto di licenza software",EulaViewTocTitleText:"Tabella dei contenuti",LoginViewLoginTitleText:"Accedi",LoginViewDefaultMessageText:"Effettuiamo l'accesso per iniziare...",LoginViewUsernamePlaceHolderText:"Email o numero di telefono",LoginViewPasswordPlaceHolderText:"Password",LoginViewLoginButtonText:"Accedi",LoginViewResetPasswordButtonText:"Password dimenticata? Clicca qui",LoginViewLoginError1MessageText:"Email o telefono non validi, riprova",LoginViewLoginError2MessageText:"Password non valida, deve contenere almeno 6 caratteri",LoginViewLoginError3MessageText:"Credenziali non valide, riprova",ResetpasswordViewTitleText:"Reimposta Password",ResetpasswordViewDefaultResetMessageText:"Inserisci le tue credenziali per reimpostare la password",ResetpasswordViewUsernamePlaceHolderText:"Email o numero di telefono",ResetpasswordViewResetButtonText:"Invia link di ripristino",ResetpasswordViewLoginButtonText:"Hai già un account? Clicca qui",ResetpasswordViewInvalidUsernameErrorMessageText:"Email o numero di telefono non validi, riprova",UpdatepasswordViewTitleText:"Aggiorna Password",UpdatepasswordViewDefaultUpdateMessageText:"Inserisci la tua nuova password",UpdatepasswordViewPasswordPlaceHolderText:"Nuova password",UpdatepasswordViewUpdateButtonText:"Aggiorna password",UpdatepasswordViewLoginButtonText:"Hai già un account? Clicca qui",UpdatepasswordViewInvalidUsernameErrorMessageText:"Password non valida, riprova",RegisterViewTitleText:"Registrati",RegisterViewDefaultMessageText:"Registriamoti...",RegisterViewPasswordPlaceHolderText:"Inserisci una nuova password",RegisterViewPassword2PlaceHolderText:"Inserisci nuovamente la password",RegisterViewMessageHolderTitleText:"La password deve contenere quanto segue:",RegisterViewMessageHolderLowercaseTitleText:"• Una lettera minuscola",RegisterViewMessageHolderUppercaseTitleText:"• Una lettera maiuscola",RegisterViewMessageHolderNumberTitleText:"• Un numero",RegisterViewMessageHolderLengthTitleText:"• Minimo 8 caratteri",RegisterViewPasswordMissmatchMessageText:"Le password non corrispondono",RegisterViewPasswordInvalidMessageText:"Password non valida, riprova",RegisterViewRegisterButtonText:"Registrati",DashboardViewTitleText:"Dashboard",DashboardViewTitleMenuResetButtonText:"Ripristina layout",DashboardViewTitleMenuSetBackgroundButtonText:"Imposta immagine di sfondo",InsightsViewTitleText:"Analisi",InsightsViewTitleMenuResetButtonText:"Ripristina layout",InsightsViewTitleMenuSetBackgroundButtonText:"Imposta immagine di sfondo",NewsViewTitleText:"Notizie",NewsViewNewsArticlePublishedTitleText:"Pubblicato il ",NewsViewNoItemsFoundTableItemText:"Nessun articolo trovato...",NewseditorViewTitleText:"Editor Notizie",NewseditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},NewseditorViewDeleteArticleAlert:{Title:"Elimina Articolo?",Description:"Sei sicuro di voler eliminare questo articolo?",Button1Title:"Elimina",Button2Title:"Annulla",},NewsmanagementViewTitleText:"Gestione notizie",NewsmanagementViewSearchFieldPlaceholderText:"Cerca",NewsmanagementViewSearchBarSearchButtonTitleText:"Cerca",NewsmanagementViewNewsArticlePublishedTitleText:"Pubblicato il ",NewsmanagementViewNewsArticleUnPublishedTitleText:"Non pubblicato",NewsmanagementViewNoItemsFoundTableItemText:"Nessun articolo trovato...",NewsmanagementViewTitleBarMenu:{CreateArticleButtonTitleText:"Nuovo articolo"},NewsmanagementViewNewsArticleMenu:{EditButtonTitleText:"Modifica",DuplicateButtonTitleText:"Duplica",PublishButtonTitleText:"Pubblica",UnPublishButtonTitleText:"Rimuovi pubblicazione",DeleteButtonTitleText:"Elimina"},NewsmanagementViewSearchBarInfoTextPart1:"Visualizzati",NewsmanagementViewSearchBarInfoTextPart2:"di",NewsmanagementViewSearchBarInfoTextPart3:"articoli",NewsmanagementViewDeleteArticleAlert:{Title:"Elimina Articolo?",Description:"Sei sicuro di voler eliminare questo articolo?",Button1Title:"Elimina",Button2Title:"Annulla",},EventsViewTitleText:"Eventi",EventsmanagementViewTitleText:"Gestione eventi",EventsmanagementViewSearchFieldPlaceholderText:"Cerca",EventsmanagementViewSearchBarSearchButtonTitleText:"Cerca",EventsmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Nuovo evento"},EventeditorViewTitleText:"Editor eventi",EventeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},ChatViewContactsTitleBarText:"Chat",ChatViewContactsSearchBarText:"Cerca",ChatViewMessagesPlaceholderText:"Scegli una chat per iniziare o clicca sul segno [+] per avviarne una nuova",ChatViewMessagesTitleBarInfoPrefixText:"Ultimo aggiornamento",ChatViewMessagesTitleBarInfoLastSeenPrefixText:"Ultimo accesso",ChatViewMessagesTitleBarInfoOnlineText:"Online",ChatViewDeleteMessageAlertTitle:"Eliminare registrazione?",ChatViewDeleteMessageAlertText:"Sei sicuro di voler eliminare la tua registrazione?",ChatViewDeleteMessageAlertButton1:"Sì",ChatViewDeleteMessageAlertButton2:"No",ChatViewTitleBarMenu:{StartVoiceCallButtonTitleText:"Chiamata vocale",StartVideoCallButtonTitleText:"Videochiamata",ShowChatDetailsButtonTitleText:"Dettagli chat"},ChatViewAttachmentsMenu:{PhotoMenuItemTitle:"Invia foto",FileMenuItemTitle:"Invia file"},ChatViewSystemMessages:{GroupCreated:"Chat creata il",GroupPictureUpdated:"Immagine del gruppo aggiornata il",GroupNameUpdated:"Nome del gruppo aggiornato il",MemberLeft:"ha lasciato il gruppo",MemberJoined:"è entrato nel gruppo",},ChatViewChatEmptyChatGroupItemText:"Nessun membro o gruppo trovato...",ChatViewChatGroupItemGroupCreatedByText:"Chat avviata da",ChatViewChatGroupItemGroupPhotoUpdatedByText:"Foto chat aggiornata da",ChatViewChatGroupItemGroupNameUpdatedByText:"Nome chat aggiornato da",ChatViewChatGroupItemMemberLeftText:"ha lasciato il gruppo",ChatViewChatGroupItemMemberJoinedText:"è entrato nel gruppo",ChatViewChatGroupItemGroupSentAFileText:"ha inviato un file",ChatViewChatGroupItemGroupSentAnImageText:"ha inviato un'immagine",ChatViewChatGroupItemGroupSentAnAudioRecordingText:"ha inviato una registrazione",ChatViewChatGroupItemGroupMessageDeletedText:"ha eliminato un messaggio",ChatViewChatGroupItemGroupMessageReactionText:"ha reagito ___ a un messaggio",ChatViewChatMessageItemForwardedText:"inoltrato",ChatMessageItemDeletedMessage:"Messaggio eliminato",ChatMessageItemMissedVoiceCallText:"Chiamata vocale persa",ChatMessageItemMissedVideoCallText:"Videochiamata persa",ChatMessageItemUnansweredVideoCallText:"Videochiamata senza risposta",ChatMessageItemUnansweredVoiceCallText:"Chiamata vocale senza risposta",ChatMessageItemVoiceCallText:"Chiamata vocale",ChatMessageItemVideoCallText:"Videochiamata",ChatMessageItemReactionTableTitleText:"Reazioni:",ChatMessageItemTapToRemoveReactionText:"Tocca per rimuovere",NewchatViewTitleText:"Nuova chat",NewchatViewCreateNewGroupButtonText:"Crea nuovo gruppo",NewchatViewCreateNewGroupOrText:"o seleziona un contatto",NewchatViewContactsTableTitle:"Contatti",NewchatViewMembersTableTitle:"Membri",NewchatViewCreateNewGroupTitleText:"Crea un nuovo gruppo",NewchatViewMembersTableSearchFieldPlaceholderText:"Cerca",NewchatViewCreateNewGroupTitleInputPlaceholderText:"Titolo gruppo",NewchatViewCreateGroupButtonText:"Crea gruppo",NewchatViewTitleBarMenu:{SaveButtonTitleText:"Salva",CloseButtonTitleText:"Chiudi"},NewchatViewCreateNewChatInvalidTitleAlertTitle:"Titolo non valido",NewchatViewCreateNewChatInvalidTitleAlertText:"Per favore inserisci un titolo per il nuovo gruppo",NewchatViewCreateNewChatInvalidTitleAlertButton:"Ok",NewchatViewCreateNewChatNoMembersAlertTitle:"Nessun membro selezionato",NewchatViewCreateNewChatNoMembersAlertText:"Per favore seleziona almeno un membro per il nuovo gruppo",NewchatViewCreateNewChatNoMembersAlertButton:"Ok",ChatdetailsViewTitleText:"Dettagli chat",ChatdetailsViewTitleBarMenu:{ChangeGroupPictureButtonTitleText:"Cambia immagine",ChangeGroupNameButtonTitleText:"Aggiorna nome",AddMemberButtonTitleText:"Aggiungi membri",DeleteGroupButtonTitleText:"Elimina gruppo",ExitGroupButtonTitleText:"Lascia gruppo",CloseButtonTitleText:"Chiudi"},ChatdetailsViewExitGroupAlert:{Title:"Lasciare il Gruppo?",Description:"Sei sicuro di voler lasciare questo gruppo? Non avrai più accesso ai messaggi o ai dati del gruppo una volta uscito.",Button1Title:"Lascia",Button2Title:"Annulla",},ChatdetailsViewDeleteGroupAlert:{Title:"Eliminare il Gruppo?",Description:"QUESTA AZIONE INTERESSA TUTTI I MEMBRI DEL GRUPPO
Sei sicuro di voler eliminare questo gruppo? L'azione non può essere annullata e perderai tutti i messaggi, le immagini e i file condivisi.",Button1Title:"Elimina",Button2Title:"Annulla",},ChatDetailsViewMembersTableTitle:"Membri",ChatDetailsViewMembersTitle:"Membri nel gruppo",ChatDetailsViewCreatedOnText:"Creato il",ChatDetailsViewCreatedByText:"Creato da",ChatDetailsGroupMediaTitleText:"Media del gruppo",ChatDetailsGroupMediaImagesButtonTitleText:"Immagini",ChatDetailsGroupMediaFilesButtonTitleText:"File",ChatDetailsVeiwMembersTableSearchFieldPlaceholderText:"Cerca",ChatDetailsViewMembersTableItemAdminTitle:"admin",ChatDetailsViewAdminMembersTableTitle:"Admin",ChatdetailsViewMembersTableItemMenu:{SetAdminButtonTitleText:"Imposta come admin",UnsetAdminButtonTitleText:"Rimuovi come admin",RemoveFromGroupButtonTitleText:"Rimuovi dal gruppo",},CallViewTitleText:"Chiamata",CallViewTitleBarMenu:{HangupButtonTitleText:"Aggancia"},CallViewIncomingVoiceCallText:"Chiamata vocale in arrivo",CallViewIncomingVideoCallText:"Videochiamata in arrivo",CallViewRemovePeerOnAnotherCallText:"è occupato in un'altra chiamata",CallViewCallRejectedText:"Chiamata rifiutata",CallViewCallNotAnsweredText:"Chiamata senza risposta",CallViewMissedCallText:"Chiamata persa",CallViewCallEndedText:"Chiamata terminata",CallViewOutgoingCallText:"Chiamata in corso",CallViewCallDurationText:"Durata",CallViewLowReceptionWarningText:"Ricezione Wi-Fi o cellulare scarsa, tentativo di riconnessione...",TimetrackingViewTitleText:"Rilevazione presenze",TimetrackingViewTitleBarMenu:{NewShiftButtonTitleText:"Nuovo turno",NewAbsenceRequestText:"Nuova richiesta assenza",PrintButtonTitleText:"Stampa",ExportButtonTitleText:"Esporta"},TimetrackingViewPopupTitleBarMenu:{PrintButtonTitleText:"Stampa",ExportButtonTitleText:"Esporta",CloseButtonTitleText:"Chiudi"},TimeTrackingViewTabBarMenuItemTitleText:{Today:"Oggi",Timesheets:"Fogli presenze",MyReport:"Mio Report",AbsenceRequests:"Assenze"},TimeTrackingViewNoItemsFoundText:"Nessun elemento trovato...",TimeTrackingViewNoActiveShiftsFoundText:"Nessun turno trovato...",TodaySheetStartTimeTitleText:"Ora inizio",TodaySheetEndTimeTitleText:"Ora fine",TodaySheetCurrentDurationTitleText:"Durata attuale",TodaySheetTotalDurationTitleText:"Durata totale",TodaySheetStatusTitleText:"Stato",TodaySheetStatusWorkingTitleText:"Al lavoro",TodaySheetStatusOnABreakTitleText:"In pausa",TodaySheetStatusOffTitleText:"Fine servizio",TodaySheetWorkingFromTitleText:"Lavoro da",TodaySheetUnknownLocation:"Posizione sconosciuta",TodayssheetStartedYesterdayText:"Iniziato ieri alle",TodayssheetStartedTodayText:"Iniziato oggi alle",TodayssheetFinishedTodayText:"Terminato oggi alle",TodayssheetTotalShiftDurationText:"Durata totale",TodayssheetCurrentShiftDurationText:"Durata attuale",TodayssheetFooterInfoHolder:{OnABreak:"In pausa",Active:"Attivo",Shifts:"Turni",Employees:"Dipendenti"},TimeSheetSearchFieldPlaceholderText:"Cerca",TimeSheetSearchBarToText:"a",TimesheetInvalidDateAlertTitle:"Date selezionate non valide",TimesheetInvalidDateAlertDatesSwitchedMessage:"Assicurati che la data di inizio sia precedente alla data di fine.",TimesheetInvalidDateButton:"OK",TimesheetSearchFieldInfoShowingText:"Visualizzati",TimesheetsheetSearchFieldInfoResultsText:"risultati",TimesheetTableTitleItems:{Name:"Nome",TotalHours:"Ore totali",TotalShifts:"Turni totali",Days:"Giorni",Absence:"Assenze",Issues:"Problemi"},EmployeesheetSearchFieldInfoShowingText:"Visualizzati",EmployeesheetSearchFieldInfoResultsText:"risultati",EmployeesheetInvalidDateAlertTitle:"Date selezionate non valide",EmployeesheetInvalidDateAlertDatesSwitchedMessage:"Assicurati che la data di inizio sia precedente alla data di fine.",EmployeesheetInvalidDateButton:"OK",EmployeesheetTableTitleItems:{Date:"Data",Position:"Posizione",StartTime:"Ora inizio",EndTime:"Ora fine",TotalTime:"Tempo totale",BreakTime:"Tempo pausa",Issues:"Stato"},EmployeesheetTableInfoTotalShiftsTitleText:"Turni totali",EmployeesheetTableInfoWorkedHoursTitleText:"Ore lavorate",EmployeesheetTableInfoBreakHoursTitleText:"Ore pausa",EmployeesheetTableInfoAbsenceTitleText:"Giorni assenza",EmployeesheetTableInfoHasIssuesYes:"In attesa",EmployeesheetTableInfoHasIssuesApproved:"Approvato",EmployeesheetTableInfoHasIssuesRejected:"Rifiutato",EmployeesheetTableInfoHasIssuesNo:"Nessun problema",AbsencerequestSearchFieldPlaceholderText:"Cerca",AbsencerequestSearchBarToText:"a",AbsencerequestSearchBarSearchButtonTitleText:"Cerca",AbsencerequestsTableTitleItems:{Name:"Nome",Type:"Tipo",Dates:"Date",RequestedOn:"Richiesto il",Status:"Stato"},AbsencerequestsTableItemStatus:{Approved:"Approvata",Rejected:"Rifiutata",Pending:"In attesa"},AbsencerequestFilterMenuItems:{All:"Tutti",MyRequests:"Mie richieste",EmployeeRequests:"Richieste dipendenti"},AbsencerequestsTableItemRejectedText:"Rifiutata",AbsencerequestsInvalidDateAlertTitle:"Date selezionate non valide",AbsencerequestsInvalidDateAlertDatesSwitchedMessage:"Assicurati che la data di inizio sia precedente alla data di fine.",AbsencerequestsInvalidDateButton:"OK",AbsencerequestsSearchFieldInfoShowingText:"Visualizzati",AbsencerequestsSearchFieldInfoOutOfText:"di",AbsencerequestViewPendingMessageText:"Richiesta in attesa di approvazione...",AbsencerequestViewApprovedMessageText:"Richiesta approvata!",AbsencerequestViewDeniedMessageText:"Richiesta rifiutata.",AbsencerequestViewTitleText:"Richiesta assenza",AbsencerequestViewFormTitleText:"Richiesta di permesso",AbsencerequestViewFormInfoText:"Completa il seguente modulo e invialo per l'approvazione.",AbsencerequestViewFormEmployeeNameTitleText:"Nome dipendente",AbsencerequestViewFormRequestTypeTitleText:"Tipo richiesta",AbsencerequestViewFormStartDateTitleText:"Data inizio",AbsencerequestViewFormEndDateTitleText:"Data fine",AbsencerequestViewFormRequestNoteTitleText:"Motivo della richiesta",AbsencerequestViewFormResponseNoteTitleText:"Risposta del responsabile",AbsencerequestViewFormApprovedByTitleText:"Nome responsabile",AbsencerequestViewFormApprovalDateTitleText:"Risposta il",AbsencerequestViewFormRequiredDocumentsTitleText:"Documenti richiesti",AbsencerequestViewFormRequiredDocumentsPlaceholderText:"Nessun documento allegato...",AbsencerequestViewFormApproveButtonTitleText:"Approva",AbsencerequestViewFormRejectButtonTitleText:"Rifiuta",AbsencerequestViewFormSubmitButtonTitleText:"Invia",AbsenceReqestTypes:{TimeOff:"Permesso",SickLeave:"Malattia"},AbsencerequestViewTitleBarMenu:{SubmitButtonTitleText:"Invia",NewButtonTitleText:"Nuovo",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},AbsencerequestViewDeleteRequestAlert:{TitleText:"Eliminare richiesta?",MessageText:"Sei sicuro di voler eliminare questa richiesta?",Button1Title:"Elimina",Button2Title:"Annulla"},AbsencerequestViewFormNotFoundTitleText:"Modulo non trovato",AbsencerequestViewFormNotFoundInfoText:"Il modulo che stai cercando non esiste, potrebbe essere stato eliminato...",AbsencerequestViewFormValidationAlert:{TitleText:"Date selezionate non valide",InfoTextDatesSwitchedMessage:"Assicurati che la data di inizio sia precedente alla data di fine.",InfoTextInvalidStartDateMessage:"La data di inizio non è valida, riprova.",InfoTextInvalidEndDateMessage:"La data di fine non è valida, riprova.",Button1Title:"OK",},ShifteditorViewTitleText:"Editor turni",ShifteditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},ShifteditorViewPendingMessageText:"Turno in attesa di approvazione...",ShifteditorViewApprovedMessageText:"Turno approvato!",ShifteditorViewDeniedMessageText:"Turno rifiutato.",ShifteditorViewEmployeeNameTitleText:"Nome dipendente",ShifteditorViewEmployeePositionTitleText:"Posizione",ShifteditorViewStartTimeTitleText:"Ora inizio",ShifteditorViewEndTimeTitleText:"Ora fine",ShifteditorViewLocationTitleText:"Sede",ShifteditorViewLocationUnknownTitleText:"Sconosciuta",ShifteditorViewBreaksTitleText:"Pause",ShifteditorViewBreaksAddButtonText:"Aggiungi",ShifteditorViewIssuesTitleText:"Problemi",ShifteditorViewDeleteShiftAlert:{Title:"Eliminare turno?",Description:"Sei sicuro di voler eliminare questo turno?",Button1Title:"Elimina",Button2Title:"Annulla",},ShifteditorViewDeleteBreakAlert:{Title:"Eliminare pausa?",Description:"Sei sicuro di voler eliminare questa pausa?",Button1Title:"Elimina",Button2Title:"Annulla",},ShifteditorViewFormIncompleteAlert:{Title:"Info turno incomplete",InfoTextInvalidStartTime:"L'ora di inizio non è valida, compilala correttamente e riprova.",InfoTextInvalidEndTime:"L'ora di fine non è valida, compilala correttamente e riprova.",InfoTextInvalidBreakStartTime:"L'ora di inizio pausa non è valida.",InfoTextInvalidBreakEndTime:"L'ora di fine pausa non è valida.",InfoTextInvalidNotesLength:"Le note sono troppo lunghe, massimo 512 caratteri...",Button1Title:"OK",},ShifteditorViewNoBreakItemsFoundText:"Nessuna pausa trovata per questo turno...",ShifteditorViewNoIssuesFoundText:"Nessun problema trovato...",ShifteditorViewIssues:{ShiftStartedWithNoLocationData:"Turno iniziato senza condivisione della posizione.",ShiftEndedWithNoLocationData:"Turno terminato senza condivisione della posizione.",ShiftStartedOutsideOfLocation:"Turno iniziato fuori dalle sedi definite per il dipendente.",ShiftEndedOutsideOfLocation:"Turno terminato fuori dalla sede definita per il dipendente.",ShiftCreatedManually:"Turno creato manualmente.",ShiftDataWasEdited:"I dati del turno sono stati modificati manualmente.",},ShifteditorViewManagerTitleText:"Responsabile",ShifteditorViewRespondedAtTitleText:"Risposta il",ShifteditorViewNotesTitle:"Note",ShifteditorViewManagerNotesTitle:"Note responsabile",ShifteditorViewApproveButtonTitleText:"Approva",ShifteditorViewRejectButtonTitleText:"Rifiuta",TimetrackingmanagementViewTitleText:"Rilevazione presenze",TimetrackingmanagementViewSearchFieldPlaceholderText:"Cerca",TimetrackingmanagementViewSearchBarSearchButtonTitleText:"Cerca",TimetrackingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nuovo"},TasksViewTitleText:"Attività",TasksViewTabBarMenuItemTitleText:{MyTasks:"Assegnate a me",CreatedTasks:"Create da me"},TasksViewTitleBarMenu:{CreateTaskButtonTitleText:"Nuova Attività"},TasksViewSearchBarGroupByTitleText:"Raggruppa per",TasksViewSearchBarFilterTitleText:"Mostra",TasksViewSearchBarFilterShowAllTitleText:"Tutto",TasksViewSearchBarInfoTextPart1:"Visualizzati",TasksViewSearchBarInfoTextPart2:"di",TasksViewSearchBarInfoTextPart3:"attività",TasksViewSearchBarGroupByOptions:{Priority:"Priorità",Tags:"Tag"},TasksViewTaskPriorityList:{High_priority:"Priorità alta",Medium_priority:"Priorità media",Low_priority:"Priorità bassa",No_priority:"Nessuna priorità"},TasksViewTaskStatusList:{All:"Tutto",Open:"Aperto",In_progress:"In corso",On_hold:"In attesa",Cancelled:"Annullato",Done:"Completato",Closed:"Chiuso"},TasksViewSearchFieldPlaceholderText:"Cerca",TasksViewTableTitle:{TaskTitle:"Titolo",TaskDescription:"Descrizione",TaskCreationDate:"Data creazione",TaskStartDate:"Data inizio",TaskDueDate:"Data scadenza",TaskStatus:"Stato",TaskAsignees:"Assegnato a"},TaskViewTitleText:"Attività",TaskViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},TaskViewToolbarCreationTimeTitle:"Creata",TaskViewToolbarStartedTimeTitle:"Iniziata",TaskViewToolbarDueTimeTitle:"Scadenza",TaskViewTaskInfoTitleText:"Titolo",TaskViewTaskInfoDescriptionTitleText:"Descrizione",TaskViewTaskInfoAsigneeTitleText:"Assegnato a",TaskViewTaskInfoOwnerTitleText:"Proprietario",FormsViewTitleText:"Moduli",FormsViewTitleBarMenu:{CreateFormButtonTitleText:"Nuovo modulo",CreateFormTemplateButtonTitleText:"Nuovo template"},FormsViewTabBarMenuItemTitleText:{MyForms:"Miei moduli",SharedForms:"Condivisi con me",AssignedToMe:"Assegnati a me",EmptyForms:"Template moduli"},FormsViewSearchFieldPlaceholderText:"Cerca",FormsViewSearchBarFilterTitleText:"Mostra",FormsViewFormStatusList:{All:"Tutto",Open:"Aperto",Completed:"Completato",Closed:"Chiuso",},FormsViewFormFilterList:{All:"Tutto",MyForms:"Miei moduli",SharedForms:"Moduli condivisi",},FormsViewFormsTableTypeTitleText:"Tipo modulo",FormsViewFormTypes:{1:"Modulo Standard",2:"Sondaggio",3:"Richiesta al responsabile"},FormsViewSearchBarInfoTextPart1:"Visualizzati",FormsViewSearchBarInfoTextPart2:"di",FormsViewSearchBarInfoTextPart3:"moduli",FormsViewFormsTableNameTitle:"Nome modulo",FormsViewFormsTableTemplateNameTitle:"Nome template",FormsViewFormsTableCreatorTitle:"Creatore",FormsViewFormsTableAssignedToTitle:"Assegnato a",FormsViewFormsTableAssignedByTitle:"Assegnato da",FormsViewFormsTableCreationTimeTitle:"Data creazione",FormsViewFormsTableLastModifiedTitle:"Ultima modifica",FormsViewFormsTableDueTimeTitle:"Data scadenza",FormsViewFormsTablePublishedTimeTitle:"Pubblicato il",FormsViewFormsTableCompletionTimeTitle:"Data completamento",FormsViewFormsTableStatusTitle:"Stato",FormsViewFormsTableTypeTitle:"Tipo modulo",FormsViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Crea modulo",EditButtonTitleText:"Modifica template",DuplicateButtonTitleText:"Duplica template",DeleteButtonTitleText:"Elimina template"},FormsViewMyFormsTableItemMenu:{OpenButtonTitleText:"Apri modulo",EditButtonTitleText:"Modifica modulo",PublishButtonTitleText:"Pubblica modulo",UnpublishButtonTitleText:"Rimuovi pubblicazione",DeleteButtonTitleText:"Elimina modulo"},FormsViewSharedFormsTableItemMenu:{OpenButtonTitleText:"Apri modulo",EditButtonTitleText:"Modifica modulo",PublishButtonTitleText:"Pubblica modulo",UnpublishButtonTitleText:"Rimuovi pubblicazione",DeleteButtonTitleText:"Elimina modulo"},FormsViewDeleteFormTemplateAlert:{Title:"Eliminare template modulo?",Description:"Sei sicuro di voler eliminare questo template? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},FormsViewDeleteFormAlert:{Title:"Eliminare modulo?",Description:"Sei sicuro di voler eliminare questo modulo? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},FormsViewPublishFormAlert:{Title:"Pubblicare modulo?",Description:"Sei sicuro di voler pubblicare questo modulo? Una volta pubblicato, tutti gli utenti assegnati e i revisori potranno vederlo.",Button1Title:"Pubblica",Button2Title:"Annulla",},FormsViewUnpublishFormAlert:{Title:"Rimuovere pubblicazione?",Description:"Sei sicuro di voler rimuovere la pubblicazione di questo modulo? Ciò avrà impatto su tutti i revisori e gli utenti assegnati.",Button1Title:"Rimuovi",Button2Title:"Annulla",},FormsViewNoItemsFoundTableItemText:"Nessun elemento trovato...",FormViewTitleText:"Modulo",FormViewTitleBarMenu:{SaveButtonTitleText:"Salva",PublishButtonTitleText:"Pubblica modulo",UnpublishButtonTitleText:"Rimuovi pubblicazione",SubmitButtonTitleText:"Invia",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},FormViewAlertPanel:{AlertNoNameTitleText:"Nome modulo",AlertNoNameDescription:"Per favore inserisci un nome per il modulo",Button1Title:"Ok",},FormViewFormNamePlaceholderText:"Inserisci un nome per il modulo",FormViewSubmitButtonTitleText:"Invia",FormViewPublishButtonTitleText:"Pubblica",FormViewUnpublishButtonTitleText:"Rimuovi pubblicazione",FormViewMenubarQuestionsButtonTitleText:"Modulo",FormViewMenubarResponsesButtonTitleText:"Risposte",FormViewMenubarSettingsButtonTitleText:"Impostazioni",FormViewResponsesDialogTitleText:"Risposte:",FormViewResponsesDialogTabBarMenuItemTitleText:{Summery:"Riepilogo",Responses:"Risposte"},FormViewResponsesDialogTitleCompletionRateText:"Tasso di completamento:",FormViewResponsesDialogMembersListTitleText:"Stato completamento:",FormViewResponsesDialogMembersListCompletedBadgeText:"Completato",FormViewResponsesDialogNoResponsesMessageText:"Nessuna risposta disponibile, una volta che gli assegnatari avranno completato il modulo potrai rivedere le risposte e un riepilogo completo qui...",FormViewResponsesDialogResponsesSummeryTitleText:"Riepilogo risposte:",FormViewFormNotValidAlert:{Title:"Modulo non inviato",Description:"Il modulo non è completo, ci sono campi obbligatori che non sono stati compilati.",Button1Title:"OK",},FormreaderViewTitleText:"Modulo",FormreaderViewTitleBarMenu:{SaveButtonTitleText:"Salva bozza",SubmitTitleText:"Invia",CloseButtonTitleText:"Chiudi"},FormreaderViewSubmitButtonTitleText:"Invia",FormreaderViewFormCompletedInfoText:"Questo modulo è già stato inviato.",FormreaderViewFormClosedInfoText:"Questo modulo è già stato chiuso.",FormreaderViewFormNotFoundTitleText:"Modulo non trovato",FormreaderViewFormNotFoundInfoText:"Il modulo che stai cercando non esiste, potrebbe essere stato eliminato...",FormreaderViewFormNotValidAlert:{Title:"Modulo non inviato",Description:"Il modulo non è completo, ci sono campi obbligatori che non sono stati compilati.",Button1Title:"OK",},FormreaderViewAnonymousFormInfoText:"Questo modulo è anonimo e non presenterà le tue informazioni personali.",SchedulingViewTitleText:"Pianificazione",SchedulingmanagementViewTitleText:"Pianificazione",SchedulingmanagementViewSearchFieldPlaceholderText:"Cerca",SchedulingmanagementViewSearchBarSearchButtonTitleText:"Cerca",SchedulingmanagementViewTitleBarMenu:{CreateButtonTitleText:"Nuovo"},CalendarViewTitleText:"Calendario",CalendarViewLayoutPickerDayTitleText:"Giorno",CalendarViewLayoutPickerWeekTitleText:"Settimana",CalendarViewLayoutPickerMonthTitleText:"Mese",CalendarViewTitleBarMenu:{CreateEventButtonTitleText:"Nuovo evento",CreateCalendarButtonTitleText:"Nuovo calendario"},CalendarViewMyCalendarsTitleText:"Miei calendari",CalendarViewSharedCalendarsTitleText:"Calendari condivisi",CalendareditorViewTitleText:"Editor calendario",CalendareditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},CalendareventeditorViewTitleText:"Editor evento",CalendareventeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},MailboxViewTitleText:"Posta",MailboxViewNavigationBarInboxTitleText:"In arrivo",MailboxViewComposeButtonTitle:"Comporre",MailboxViewTitleBarMenu:{NewButtonTitleText:"Nuovo",},MailboxViewTableItemMenu:{ReplyButtonTitleText:"Rispondi",ForwardButtonTitleText:"Inoltra",DeleteButtonTitleText:"Elimina"},MailboxViewEmptyTableItemText:"Nessun elemento trovato...",MailboxViewNavigationBarInfoTextPart1:"Visualizzati",MailboxViewNavigationBarInfoTextPart2:"di",MailboxViewNavigationBarInfoTextPart3:"risultati",MailboxViewFolderListTitleText:"Cartelle",MailboxViewSystemMailboxNames:{INBOX:"In arrivo",SENT:"Inviata",DRAFTS:"Bozze",SPAM:"Spam",DELETED:"Cestino"},EmailViewTitleText:"Email",EmailViewTitleBarMenu:{NewButtonTitleText:"Nuovo",ReplyButtonTitleText:"Rispondi",ForwardButtonTitleText:"Inoltra",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},EmailViewAttachementFooterTitle:"Allegati",EmailViewAttachmentMenu:{DownloadButtonTitleText:"Scarica",SaveToDriveButtonTitleText:"Salva su Drive",},EmaileditorViewTitleText:"Scrivi email",EmaileditorViewTitleBarMenu:{SendButtonTitleText:"Invia",SaveButtonTitleText:"Salva",NewButtonTitleText:"Nuovo",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},MailboxsettingsViewTitleText:"Impostazioni casella postale",MailboxsettingsViewSearchFieldPlaceholderText:"Cerca",MailboxsettingsViewTitleBarMenu:{CreateAliasButtonTitleText:"Crea alias"},MailboxsettingseitorViewTitleText:"Editor impostazioni casella postale",MailboxsettingseitorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},ClouddriveViewTitleText:"Cloud Drive",ClouddriveViewNavigationBarTitleText:"Drive",ClouddriveViewNavigationBarInfoText1:"Visualizzati",ClouddriveViewNavigationBarInfoText2:"elementi",ClouddriveViewTotalFilesInfoText:"Miei file",ClouddriveViewTotalSizeInfoText:"Dimensione",ClouddriveViewNavigationBarSearchFieldPlaceholderText:"Cerca",ClouddriveViewTitleBarMenu:{CreateFolderButtonTitleText:"Nuova cartella",UploadButtonTitleText:"Carica file",RenameFolderButtonTitleText:"Rinomina cartella",DeleteFolderButtonTitleText:"Elimina cartella",UpdateFolderSettingsButtonTitleText:"Impostazioni cartella"},ClouddriveViewFileItemMenu:{RenameButtonTitleText:"Rinomina",DownloadButtonTitleText:"Scarica",MoveButtonTitleText:"Sposta",StarButtonTitleText:"Aggiungi stella",UnstarButtonTitleText:"Rimuovi stella",DeleteButtonTitleText:"Elimina",SettingsButtonTitleText:"Impostazioni"},ClouddriveViewDeleteFileAlert:{DeleteTitle:"Eliminare l'elemento?",DeleteBody:"Sei sicuro di voler eliminare questo elemento? Se è una cartella, tutto il contenuto verrà eliminato. L'azione non può essere annullata!",Button1Title:"Elimina",Button2Title:"Annulla"},ClouddriveViewSidebarListItems:{MyFiles:"Miei file",SharedWithMe:"Condivisi con me",Starred:"Speciali"},PreviewViewTitleText:"Anteprima",PreviewViewTitleBarMenu:{DownloadButtonTitleText:"Scarica",RenameFileButtonTitleText:"Rinomina file",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},PreviewViewDeleteFileAlert:{DeleteTitle:"Eliminare l'elemento?",DeleteBody:"Sei sicuro di voler eliminare questo elemento? Se è una cartella, tutto il contenuto verrà eliminato. L'azione non può essere annullata!",Button1Title:"Elimina",Button2Title:"Annulla"},DirectoryViewTitleText:"Rubrica",DirectoryViewContactsListTitle:"Lista contatti",DirectoryViewSearchFieldPlaceholderText:"Cerca",DirectoryViewStartChatText:"Invia messaggio chat",DirectoryViewPhoneText:"Telefono",DirectoryViewEmailText:"Email",DirectoryViewStartVoiceCallText:"Avvia chiamata vocale",DirectoryViewStartVideoCallText:"Avvia videochiamata",DirectoryViewContactsPlaceholderText:"Per favore seleziona un contatto",DirectoryViewContactsEmptyListItemTitleText:"Nessun contatto trovato...",ProfileViewTitleText:"Profilo",ProfileViewInfoText:"Informazioni del tuo profilo",ProfileViewProfilePictureTitleText:"La tua foto profilo",ProfileViewProfilePictureText:"La dimensione raccomandata è 500 x 500px",ProfileViewProfilePictureUploadButtonTitleText:"Carica",ProfileViewProfilePictureDeleteButtonTitleText:"Elimina",ProfileViewProfilePictureInfoText:"Aiuta il tuo team a interagire meglio con te caricando una tua foto chiara",ProfileViewFormFirstNameTitleText:"Nome",ProfileViewFormLastNameTitleText:"Cognome",ProfileViewFormPhoneNumberTitleText:"Numero di telefono",ProfileViewFormEmailTitleText:"Email",ProfileViewUpdateButtonTitleText:"Aggiorna",ProfileViewSaveButtonTitleText:"Salva",ProfileViewEmailInUseAlertTitle:"Email già in uso",ProfileViewEmailInUseAlertText:"L'indirizzo email inserito è già utilizzato da un altro utente, inseriscine uno diverso",ProfileViewEmailInUseAlertButtonText:"OK",ProfileViewPhoneNumberInUseAlertTitle:"Numero già in uso",ProfileViewPhoneNumberInUseAlertText:"Il numero di telefono inserito è già utilizzato da un altro utente, inseriscine uno diverso",ProfileViewPhoneNumberInUseAlertButtonText:"OK",SettingsViewTitleText:"Impostazioni",SettingsViewSearchFieldPlaceholderText:"Cerca",SettingsViewDetailsPlaceholderText:"Seleziona una categoria per iniziare...",UsersettingsViewTitleText:"Impostazioni",UserSettingsViewUserSettingsTitleText:"Impostazioni utente:",UserSettingsViewLanguageSettingsTitleText:"Lingua:",UserSettingsViewLanguageSettingsText:"Scegli la tua lingua preferita per l'interfaccia utente:",SecurityViewTitleText:"Sicurezza",SecurityViewUserSettingsTitleText:"Impostazioni di sicurezza:",SecurityViewSecuritySettingsTitleText:"Aggiornamento password:",SecurityViewSecuritySettingsText:"",SecurityViewSecuritySettingsPasswordTitleText:"Nuova password:",SecurityViewSecuritySettingsPassword2TitleText:"Reinserisci la nuova password:",SecurityViewSecuritySettingsSubmitButtonTitle:"Aggiorna",SecurityViewDefaultMessageText:"Inserisci la tua nuova password:",SecurityViewMessageHolderTitleText:"La password deve contenere quanto segue:",SecurityViewMessageHolderLowercaseTitleText:"• Una lettera minuscola",SecurityViewMessageHolderUppercaseTitleText:"• Una lettera maiuscola",SecurityViewMessageHolderNumberTitleText:"• Un numero",SecurityViewMessageHolderLengthTitleText:"• Minimo 8 caratteri",SecurityViewPasswordMissmatchMessageText:"Le password non corrispondono",SecurityViewPasswordInvalidMessageText:"Password non valida, riprova",SecurityViewPasswordUpdateSucessAlert:{Title:"Aggiornamento password",Description:"La tua password è stata aggiornata con successo.",Button1Title:"OK",},SecurityViewPasscodeSettingsTitleText:"Aggiornamento codice:",SecurityViewDefaultPasscodeMessageText:"Inserisci un nuovo codice:",SecurityViewSecuritySettingsPasswordTitleText:"Nuovo codice:",SecurityViewPasscodeInvalidMessageText:"Codice non valido, riprova",SecurityViewPasscodeUpdateSucessAlert:{Title:"Aggiornamento codice",Description:"Il tuo codice è stato aggiornato con successo.",Button1Title:"OK",},NotificationsViewTitleText:"Notifiche",NotificationsViewNotificationTexts:{FormsAssignedNotificationTitleText:"Ti ha assegnato un modulo da completare",EmployeeCheckedInOutsideOfLocationsTitleText:"Ha iniziato il turno fuori dalla sede dell'ufficio.",EmployeeCheckedOutOutsideOfLocationsTitleText:"Ha terminato il turno fuori dalla sede dell'ufficio.",EmployeeCheckedInWithNoLocationTitleText:"Ha iniziato il turno senza posizione.",EmployeeCheckedOutWithNoLocationTitleText:"Ha terminato il turno senza posizione.",EmployeeAbsenceRequestTitleText:"Ha richiesto un permesso.",NewEmailTitleText:"Email",EmployeeAbsenceRequestInfoText:"Clicca qui per rivedere e approvare o rifiutare la richiesta.",EmployeeAbsenceResponseApprovedTitleText:"Ha approvato la tua richiesta di permesso.",EmployeeAbsenceResponseRejectedTitleText:"Ha rifiutato la tua richiesta di permesso.",EmployeeAbsenceResponseInfoText:"Clicca qui per rivedere la tua richiesta.",},NotificationsViewClearAllNotificationsButtonTitleText:"Cancella tutto",NotificationsViewNotificationItemClearButtonTitleText:"Cancella",NotificationsViewClearAllNotificationsAlert:{Title:"Cancellare tutte le notifiche?",Description:"Sei sicuro di voler cancellare tutte le notifiche?",Button1Title:"Cancella",Button2Title:"Annulla",},NotificationsViewEmptyNotificationItem:"Nessuna nuova notifica...",UserAccountsTitleText:"Account Utente",UserAccountsViewFirstNameTitleText:"Nome",UserAccountsViewLastNameTitleText:"Cognome",UserAccountsViewJobTitleTitleText:"Titolo",UserAccountsViewEmailTitleText:"Email",UserAccountsViewPhoneNumberTitleText:"Numero di telefono",UserAccountsViewAccountActiveTitleText:"Attivo",UserAccountsViewAccountBlockedTitleText:"Bloccato",UserAccountsViewTitleBarMenu:{CreateUserButtonTitleText:"Aggiungi utente"},UserAccountsViewTableItemMenu:{EditButtonTitleText:"Modifica",SendInviteButtonTitleText:"Invia invito",ResetPasswordButtonTitleText:"Reimposta password",LogoutButtonTitleText:"Logout",BlockButtonTitleText:"Blocca utente",UnblockButtonTitleText:"Sblocca utente",DeleteButtonTitleText:"Elimina"},UserAccountsViewSearchBarInfoTextPart1:"Visualizzati",UserAccountsViewSearchBarInfoTextPart2:"di",UserAccountsViewSearchBarInfoTextPart3:"utenti",EdituserViewAddTitleText:"Aggiungi utente",EdituserViewEditTitleText:"Modifica utente",EdituserViewTitleBarSaveButtonTitleText:"Salva",EdituserViewTitleBarCancelButtonTitleText:"Annulla",EdituserViewFormFirstNameTitleText:"Nome",EdituserViewFormLastNameTitleText:"Cognome",EdituserViewFormUserNameTitleText:"Nome utente",EdituserViewFormJobTitleTitleText:"Titolo",EdituserViewFormPhoneNumberTitleText:"Numero di telefono",EdituserViewFormEmailTitleText:"Email",EdituserViewFormInmailEmailTitleText:"Email interna",EdituserViewFormInmailCheckboxTitleText:"Abilita inmail",EdituserViewEmailInUseAlertTitle:"Email già in uso",EdituserViewEmailInUseAlertText:"L'indirizzo email inserito è già utilizzato da un altro utente, inseriscine uno diverso",EdituserViewEmailInUseAlertButtonText:"OK",EdituserViewPhoneNumberInUseAlertTitle:"Numero già in uso",EdituserViewPhoneNumberInUseAlertText:"Il numero di telefono inserito è già utilizzato da un altro utente, inseriscine uno diverso",EdituserViewPhoneNumberInUseAlertButtonText:"OK",EdituserViewTimetrackingListTitleText:"Impostazioni rilevazione presenze",EdituserViewLocationsListTitleText:"Impostazioni sedi",EdituserViewPositionsListTitleText:"Ruoli dipendente",EdituserViewFeatureAccessListTitleText:"Configurazione accesso funzionalità",EdituserViewSettingsAccessListTitleText:"Configurazione accesso impostazioni",EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText:"Richiede approvazione",EdituserViewTimetrackingListReviewAccesslItemTitleText:"Accesso in revisione",EdituserViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},EdituserViewDeleteUserAlert:{Title:"Eliminare utente?",Description:"Sei sicuro di voler eliminare questo utente? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},EdituserViewErrorAlert:{Title:"Account utente incompleto",DescriptionNoPositionSelected:"Seleziona almeno un ruolo dalla lista Ruoli dipendente.",Button1Title:"OK",},GroupmanagementViewTitleText:"Gestione gruppi",GroupmanagementViewSearchFieldPlaceholderText:"Cerca",GroupmanagementViewSearchBarSearchButtonTitleText:"Cerca",GroupmanagementViewDepartmentsTitleText:"Dipartimenti",GroupmanagementViewTeamsTitleText:"Team",GroupmanagementViewTitleBarMenu:{CreateDepartmentTemplateButtonTitleText:"Nuovo dipartimento",CreateTeamTemplateButtonTitleText:"Nuovo team"},GroupmanagementViewTableItemMenu:{EditButtonTitleText:"Modifica",DeleteButtonTitleText:"Elimina"},GroupmanagementViewSearchBarInfoTextPart1:"Visualizzati",GroupmanagementViewSearchBarInfoTextPart2:"di",GroupmanagementViewSearchBarInfoTextPart3:"risultati",GroupmanagementViewDeleteTeamAlert:{Title:"Eliminare team?",Description:"Sei sicuro di voler eliminare questo team? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},GroupmanagementViewDeleteDepartmentAlert:{Title:"Eliminare dipartimento?",Description:"Sei sicuro di voler eliminare questo dipartimento? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},GroupeditorViewDepartmentIDText:"ID Dipartimento",GroupeditorViewTeamIDText:"ID Team",GroupeditorViewAddDepartmentTitleText:"Aggiungi Dipartimento",GroupeditorViewEditDepartmentTitleText:"Modifica Dipartimento",GroupeditorViewAddTeamTitleText:"Aggiungi team",GroupeditorViewEditTeamTitleText:"Modifica team",GroupeditorViewDepartmentTitleText:"Titolo dipartimento",GroupeditorViewDepartmentDescriptionText:"Descrizione dipartimento",GroupeditorViewTeamTitleText:"Titolo team",GroupeditorViewTeamDescriptionText:"Descrizione team",GroupeditorViewMembersTableTitle:"Membri",GroupeditorViewManagersTableTitle:"Responsabili",GroupeditorViewAdminsTableTitle:"Admin",GroupeditorViewMembersTableSearchFieldPlaceholderText:"Cerca",GroupeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},GroupeditorViewDeleteTeamAlert:{Title:"Eliminare team?",Description:"Sei sicuro di voler eliminare questo team? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},GroupeditorViewDeleteDepartmentAlert:{Title:"Eliminare dipartimento?",Description:"Sei sicuro di voler eliminare questo dipartimento? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},PositionsmanagementViewTitleText:"Gestione ruoli",PositionsmanagementViewSearchFieldPlaceholderText:"Cerca",PositionsmanagementViewSearchBarSearchButtonTitleText:"Cerca",PositionsmanagementViewSearchBarInfoTextPart1:"Visualizzati",PositionsmanagementViewSearchBarInfoTextPart2:"di",PositionsmanagementViewSearchBarInfoTextPart3:"risultati",PositionsmanagementViewPositionsTitleText:"Ruoli",PositionsmanagementViewTitleBarMenu:{CreatePositionButtonTitleText:"Nuovo ruolo",},PositionsmanagementViewTableItemMenu:{EditButtonTitleText:"Modifica",DeleteButtonTitleText:"Elimina"},PositionsmanagementViewEmptyTableItemText:"Nessun elemento trovato...",PositionsmanagementViewDeletePositionAlert:{Title:"Eliminare Ruolo?",Description:"Sei sicuro di voler eliminare questo ruolo? Ciò interesserà tutti gli utenti con questo ruolo.",Button1Title:"Elimina",Button2Title:"Annulla",},PositioneditorViewTitleText:"Editor ruolo",PositioneditorViewPositionText:"ID Ruolo",PositioneditorViewPositionTitleText:"Titolo",PositioneditorViewPositionDescriptionText:"Descrizione",PositioneditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},PositioneditorViewDeletePositionAlert:{Title:"Eliminare Ruolo?",Description:"Sei sicuro di voler eliminare questo ruolo? Ciò interesserà tutti gli utenti con questo ruolo.",Button1Title:"Elimina",Button2Title:"Annulla",},LocationsmanagementViewTitleText:"Gestione sedi",LocationsmanagementViewSearchFieldPlaceholderText:"Cerca",LocationsmanagementViewSearchBarSearchButtonTitleText:"Cerca",LocationsmanagementViewSearchBarInfoTextPart1:"Visualizzati",LocationsmanagementViewSearchBarInfoTextPart2:"di",LocationsmanagementViewSearchBarInfoTextPart3:"risultati",LocationsmanagementViewLocationsTitleText:"Sedi",LocationsmanagementViewTitleBarMenu:{CreateLocationButtonTitleText:"Nuova sede",},LocationsmanagementViewTableItemMenu:{EditButtonTitleText:"Modifica",DeleteButtonTitleText:"Elimina"},LocationsmanagementViewEmptyTableItemText:"Nessun elemento trovato...",LocationsmanagementViewDeleteLocationAlert:{Title:"Eliminare Sede?",Description:"Sei sicuro di voler eliminare questa sede?",Button1Title:"Elimina",Button2Title:"Annulla",},LocationeditorViewTitleText:"Editor sede",LocationeditorViewLocationText:"ID Sede",LocationeditorViewLocationTitleText:"Titolo",LocationeditorViewLocationAddressText:"Indirizzo",LocationeditorViewLocationLatitudeText:"Latitudine",LocationeditorViewLocationLongitudeText:"Longitudine",LocationeditorViewLocationDistanceText:"Distanza accettabile (in metri)",LocationeditorViewSetCurrentLocationButtonTitleText:"Imposta posizione attuale",LocationeditorViewShowOnMapButtonTitleText:"Mostra sulla mappa",LocationeditorViewReloadMapButtonTitleText:"Ricarica mappa",LocationeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},LocationeditorViewDeleteLocationAlert:{Title:"Eliminare Sede?",Description:"Sei sicuro di voler eliminare questa sede?",Button1Title:"Elimina",Button2Title:"Annulla",},TasksmanagementViewTitleText:"Gestione attività",TasksmanagementViewSearchFieldPlaceholderText:"Cerca",TasksmanagementViewSearchBarSearchButtonTitleText:"Cerca",TasksmanagementViewTitleBarMenu:{CreateTemplateButtonTitleText:"Crea template"},TaskeditorViewTitleText:"Editor attività",TaskeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},FormsmanagementViewTitleText:"Gestione moduli",FormsmanagementViewSearchFieldPlaceholderText:"Cerca",FormsmanagementViewSearchBarInfoTextPart1:"Visualizzati",FormsmanagementViewSearchBarInfoTextPart2:"di",FormsmanagementViewSearchBarInfoTextPart3:"moduli",FormsmanagementViewTitleBarMenu:{CreateFormButtonTitleText:"Nuovo template"},FormsmanagementViewFormsTableNameTitle:"Nome template",FormsmanagementViewFormsTableCreatorTitle:"Creatore",FormsmanagementViewFormsTableCreationTimeTitle:"Data creazione",FormsmanagementViewFormsTableLastModifiedTitle:"Ultima modifica",FormsmanagementViewFormsTableEmptyPlaceholderText:"Nessun template trovato, aggiorna la ricerca o crea un nuovo template...",FormsmanagementViewDeleteFormTemplateAlert:{Title:"Eliminare template modulo?",Description:"Sei sicuro di voler eliminare questo template? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},FormeditorViewTitleText:"Editor template moduli",FormeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},FormeditorViewFormsTableNameTitle:"Nome modulo",FormeditorViewFormsTableCreatorTitle:"Creatore",FormeditorViewFormsTableCreationTimeTitle:"Data creazione",FormeditorViewFormsTableLastModifiedTitle:"Ultima modifica",FormeditorViewFormsDuplicateTitleText:"(Copia)",FormeditorViewShareSettingsShareButtonTitleText:"Impostazioni",FormeditorViewDeleteFormTemplateAlert:{Title:"Eliminare template modulo?",Description:"Sei sicuro di voler eliminare questo template? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},FormditorViewTemplateTypeTitleText:"Tipo modulo:",FormTypes:{1:"Modulo Standard",2:"Sondaggio",3:"Richiesta al responsabile"},FormtemplatesViewTitleText:"Template moduli",FormtemplatesViewSearchFieldPlaceholderText:"Cerca",FormtemplatesViewTitleBarMenu:{NewButtonTitleText:"Nuovo template",CloseButtonTitleText:"Chiudi"},FormtemplatesViewSearchBarInfoTextPart1:"Visualizzati",FormtemplatesViewSearchBarInfoTextPart2:"di",FormtemplatesViewSearchBarInfoTextPart3:"moduli",FormtemplatesViewFormsTableNameTitle:"Nome modulo",FormtemplatesViewFormsTableTemplateNameTitle:"Nome template",FormtemplatesViewFormsTableCreatorTitle:"Creatore",FormtemplatesViewFormsTableCreationTimeTitle:"Data creazione",FormtemplatesViewFormsTableLastModifiedTitle:"Ultima modifica",FormtemplatesViewFormsTemplateTableItemMenu:{CreateButtonTitleText:"Crea modulo",EditButtonTitleText:"Modifica template",DuplicateButtonTitleText:"Duplica template",DeleteButtonTitleText:"Elimina template"},FormtemplatesViewDeleteFormTemplateAlert:{Title:"Eliminare template modulo?",Description:"Sei sicuro di voler eliminare questo template? L'azione non può essere annullata.",Button1Title:"Elimina",Button2Title:"Annulla",},FormtemplatesViewFormsTableEmptyPlaceholderText:"Nessun template trovato, aggiorna la ricerca o crea un nuovo template...",FormeditorViewFormNamePlaceholderText:"Nome modulo",FormeditorViewFormTitlePlaceholderText:"Titolo modulo",FormeditorViewFormDescriptionPlaceholderText:"Descrizione modulo",FormTextInputPlaceholderText:"Inserimento testo...",FormTextAreaPlaceholderText:"Area di testo...",FormRatingInputPlaceholderText:"Domanda di valutazione...",FormRatingInputValidationErrorText:"* Campo obbligatorio, rispondi alla domanda.",FormTextQuestionQuestionPlaceholderText:"Domanda...",FormTextQuestionAnswerPlaceholderText:"Risposta...",FormTextQuestionAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormTextQuestionValidationErrorText:"* Campo obbligatorio, rispondi alla domanda.",FormDatePickerInputPlaceholderText:"Testo titolo data...",FormDatePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormDatePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Intervallo date",FormDatePickerInputValidationErrorText:"* Campo obbligatorio, inserisci una data.",FormDatePickerInputValidationInvalidRangeErrorText:"* Intervallo non valido, la data inizio è successiva alla fine.",FormTimePickerInputPlaceholderText:"Testo titolo ora...",FormTimePickerInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormTimePickerInputAdvancedOptionsRangeFieldCheckboxLabel:"Intervallo orario",FormTimePickerInputValidationErrorText:"* Campo obbligatorio, inserisci un orario.",FormTimePickerInputValidationInvalidRangeErrorText:"* Intervallo non valido, l'ora inizio è successiva alla fine.",FormSingleSelectionInputPlaceholderText:"Domanda a scelta singola...",FormSingleSelectionInputOptionPlaceholderText:"Opzione",FormSingleSelectionInputAddOptionButtonTitleText:"Aggiungi opzione",FormSingleSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormSingleSelectionInputValidationErrorText:"* Campo obbligatorio, seleziona un'opzione.",FormMultiSelectionInputPlaceholderText:"Domanda a scelta multipla...",FormMultiSelectionInputOptionPlaceholderText:"Opzione",FormMultiSelectionInputAddOptionButtonTitleText:"Aggiungi opzione",FormMultiSelectionInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormMultiSelectionInputValidationErrorText:"* Campo obbligatorio, seleziona almeno un'opzione.",FormFileUploadInputPlaceholderText:"Richiesta caricamento file...",FormFileUploadInputResetButtonTitleText:"Reset",FormFileUploadInputUploadButtonTitleText:"Carica file",FormFileUploadInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormFileUploadInputValidationErrorText:"* Campo obbligatorio, seleziona un file.",FormPhotoUploadInputPlaceholderText:"Richiesta caricamento foto...",FormPhotoUploadInputResetButtonTitleText:"Reset",FormPhotoUploadInputUploadButtonTitleText:"Carica foto",FormPhotoUploadAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormPhotoUploadInputValidationErrorText:"* Campo obbligatorio, seleziona una foto.",FormSignatureInputPlaceholderText:"Richiesta firma...",FormSignatureInputSignatureText:"Firma",FormSignatureInputResetButtonTitleText:"Reset",FormSignatureInputAdvancedOptionsManditoryFieldCheckboxLabel:"Campo obbligatorio",FormSignatureInputValidationErrorText:"* Campo obbligatorio, firma il modulo.",KiosksmanagementViewTitleText:"Gestione Kiosk",KiosksmanagementViewSearchFieldPlaceholderText:"Cerca",KiosksmanagementViewTitleBarMenu:{NewKioskButtonTitleText:"Nuovo Kiosk"},KiosksmanagementViewKiosksTableTitleText:"Kiosk",KiosksmanagementViewSearchBarInfoTextPart1:"Visualizzati",KiosksmanagementViewSearchBarInfoTextPart2:"di",KiosksmanagementViewSearchBarInfoTextPart3:"risultati",KioskmanagementViewTableItemStatusOnline:"Online",KioskmanagementViewTableItemStatusOffline:"Offline",KiosksmanagementViewTableItemMenu:{EditButtonTitleText:"Modifica",DeleteButtonTitleText:"Elimina"},KioskmanagementViewDeleteKioskAlert:{Title:"Eliminare Kiosk?",Description:"Sei sicuro di voler eliminare il Kiosk?",Button1Title:"Elimina",Button2Title:"Annulla",},KioskManagementViewEmptyTableItemText:"Nessun elemento trovato...",KioskeditorViewTitleText:"Editor Kiosk",KioskeditorViewKioskText:"Kiosk",KioskeditorViewKioskTitleText:"Titolo",KioskeditorViewKioskDescriptionText:"Descrizione",KioskeditorViewKioskLocationTitleText:"Sede Kiosk",KioskeditorViewKioskTypeTitleText:"Tipo Kiosk",KioskeditorViewKioskAccessSettingsTitleText:"Accesso statistiche chiosco",KioskeditorViewKioskAccessSettingsButtonText:"Imposta accesso",KioskeditorViewKioskUsernameText:"Username",KioskeditorViewKioskPasswordText:"Password",KioskeditorViewTitleBarMenu:{NewButtonTitleText:"Nuovo",SaveButtonTitleText:"Salva",DuplicateButtonTitleText:"Duplica",DeleteButtonTitleText:"Elimina",CloseButtonTitleText:"Chiudi"},KioskeditorViewKioskTypes:{TimeTracking:"Rilevazione presenze",CustomerSurvey:"Sondaggio clienti"},KioskeditorViewDeleteKioskAlert:{Title:"Eliminare Kiosk?",Description:"Sei sicuro di voler eliminare il Kiosk?",Button1Title:"Elimina",Button2Title:"Annulla",},FormItemsMenu:{FormTextInput:"Inserimento testo",FormTextArea:"Area di testo",FormTextQuestion:"Domanda di testo",FormSingleSelectionInput:"Scelta singola",FormMultiSelectionInput:"Scelta multipla",FormTimePickerInput:"Inserimento ora",FormDatePickerInput:"Inserimento data",FormRatingInput:"Valutazione stelle",FormSignatureInput:"Firma",FormPhotoUploadInput:"Caricamento foto",FormFileUploadInput:"Caricamento file"},TimePickerMenuEnterTimeText:"Inserisci ora:",TimePickerMenuAMButtonTitleText:"AM",TimePickerMenuPMButtonTitleText:"PM",TimePickerMenuOKButtonTitleText:"OK",TimePickerMenuCancelButtonTitleText:"Annulla",ImageGalleryTitleText:"Galleria immagini",FileExplorerTitleText:"Browser media",FileExplorerMenuItemImagesTitleText:"Immagini",FileExplorerMenuItemFilesTitleText:"File",FileExplorerFileListEmptyListItemTitleText:"Nessun file trovato in questa chat",FileExplorerImageGridEmptyListItemTitleText:"Nessuna immagine trovata in questa chat",ChatGroupNameEditorTitleText:"Inserisci nome gruppo",ChatGroupNameEditorButton1TitleText:"Salva",ChatGroupNameEditorButton2TitleText:"Annulla",FilenameEditorTitleText:"Inserisci un nome",FilenameEditorButton1TitleText:"Salva",FilenameEditorButton2TitleText:"Annulla",FilePickerChooseFolderTitleText:"Scegli cartella",FilePickerChooseFileTitleText:"Scegli file",FilePickerButton1TitleText:"Salva",FilePickerButton2TitleText:"Annulla",ChatGroupPickerDialogTableTitle:"Gruppi",ChatGroupPickerDialogTableSearchFieldPlaceholderText:"Cerca",ChatGroupPickerDialogTitleText:"Seleziona gruppi chat",ChatGroupPickerDialogEmptyListItemTitleText:"Nessun gruppo trovato",ChatGroupPickerDialogSelectButtonTitleText:"Seleziona",ChatGroupPickerDialogCancelButtonTitleText:"Annulla",UserPickerDialogTitleText:"Aggiungi membri",UserPickerDialogEmptyListItemTitleText:"Nessun utente trovato",UserPickerDialogAddButtonTitleText:"Aggiungi",UserPickerDialogCancelButtonTitleText:"Annulla",SharePickerDialogTitleText:"Condividi",SharePickerDialogTableSearchFieldPlaceholderText:"Cerca",SharePickerDialogUsersTableTitleText:"Utenti",SharePickerDialogDepartmentsTableTitleText:"Dipartimenti",SharePickerDialogTeamsTableTitleText:"Team",SharePickerDialogAddButtonTitleText:"Aggiungi",SharePickerDialogCancelButtonTitleText:"Annulla",SharePickerDialogEmptyListItemTitleText:"Nessun elemento trovato",ShareSettingsDialogTitleBarText:"Condividi",ShareSettingsDialogTitleText:"Impostazioni condivisione",ShareSettingsDialogCloseButtonTitle:"Chiudi",ShareSettingsDialogOwnerTableTitle:"Proprietario",ShareSettingsDialogUsersTableTitle:"Utenti",ShareSettingsDialogDepartmentsTableTitle:"Dipartimenti",ShareSettingsDialogTeamsTableTitle:"Team",ShareSettingsDialogAddButtonTitle:"Aggiungi",ShareSettingsDialogUsersTableEmptyTitleText:"Nessun utente selezionato",ShareSettingsDialogDepartmentsTableEmptyTitleText:"Nessun dipartimento selezionato",ShareSettingsDialogTeamsTableEmptyTitleText:"Nessun team selezionato",AccessDialogTabBarMenuItemTitleText:{TemplateAccess:"Template",ReviewAccess:"Revisori",Assignees:"Assegnatari"},AccessDialogAccessSettingsTemplateInfoText:"Accesso template:
Seleziona utenti, dipartimenti e team che avranno accesso a questo template.",AccessDialogAccessSettingsReviewTemplateInfoText:"Accesso revisori:
Seleziona chi potrà revisionare i risultati dei moduli creati da questo template.",AccessDialogAccessSettingsAssigneesTemplateInfoText:"Assegnatari modulo:
Seleziona chi verrà assegnato automaticamente ai moduli creati da questo template.",AccessDialogAccessSettingsReviewInfoText:"Accesso revisori:
Seleziona chi potrà revisionare i risultati di questo modulo.",AccessDialogAccessSettingsAssigneesInfoText:"Assegnatari modulo:
Seleziona chi sarà assegnato a questo modulo.",AccessDialogAccessSettingsAssigneesManagerOnlyInfoText:"Assegnatari modulo:
Il tipo scelto \"Richiesta al responsabile\" assegnerà automaticamente il superiore del dipendente.",AccessDialogAccessSettingsTitleText:"Impostazioni accesso:",AccessDialogAccessSettingsCloseButtonTitle:"Chiudi",AccessDialogAccessSettingsAddButtonTitleText:"Aggiungi",AccessDialogAccessSettingsPeopleTableTitleText:"Utenti con accesso:",AccessDialogAccessSettingsDepartmentsTableTitleText:"Dipartimenti con accesso:",AccessDialogAccessSettingsTeamsTableTitleText:"Team con accesso:",AccessDialogAccessSettingsManagerAssignedTableTitleText:"Responsabili assegnati:",AccessDialogAccessSettingsPeopleAssignedTableTitleText:"Utenti assegnati:",AccessDialogAccessSettingsDepartmentsAssignedTableTitleText:"Dipartimenti assegnati:",AccessDialogAccessSettingsTeamsAssignedTableTitleText:"Team assegnati:",AccessDialogAccessSettingsCreatorTagText:"Creatore",AccessDialogAccessSettingsUsersTableEmptyTitleText:"Nessun utente selezionato",AccessDialogAccessSettingsDepartmentsTableEmptyTitleText:"Nessun dipartimento selezionato",AccessDialogAccessSettingsTeamsTableEmptyTitleText:"Nessun team selezionato",AccessDialogAccessSettingsSingleResponderRequiredText:"Risposta singola richiesta.",AccessDialogAccessSettingsSingleResponderRequiredReadonlyText:"Sola lettura: Risposta singola richiesta.",AccessDialogAccessSettingsAnonymousResponsesTableTitleText:"Risposte anonime:",AccessDialogAccessSettingsAnonymousResponsesTableDescriptionText:"Se selezionato, tutti i moduli creati da questo template avranno risposte anonime.",AccessDialogAccessSettingsAnonymousResponsesText:"Imposta risposte anonime.",AccessDialogAccessSettingsAnonymousResponsesReadOnlyText:"Sola lettura: Valore modificabile solo nel template.",AccessDialogAccessSettingsAnonymousUserNameText:"Utente anonimo",AccessDialogResponsesEmptyResponseText:"Nessun dato inserito",AccessDialogResponsesNoFileAttachedResponseText:"Nessun file allegato",AccessDialogMaxAssigneesAlert:{TitleText:"Limite assegnatari raggiunto",DesciptionText:"Questo tipo di modulo permette un solo assegnatario. Rimuovi quello attuale per cambiarlo.",Button1Title:"OK"},WidgetsGenericLoadinMessageText:"Caricamento...",PhoneWidgetTitleText:"Chiamate",PhoneWidgetSearchFieldPlaceholderText:"Cerca",PhoneWidgetCallLogButtonTitleText:"Registro chiamate",PhoneWidgetContactsButtonTitleText:"Contatti",PhoneWidgetNoIntemsFound:"Nessun elemento trovato...",ShiftButtonWidgetTitleText:"Orologio turno",ShiftButtonWidgetStartTimeText:"Turno iniziato il",ShiftButtonWidgetStartTimeAtText:"alle",ShiftButtonWidgetInfoHolderElapsedTimeTitleText:"Turno attuale",ShiftButtonWidgetInfoHolderBreakElapsedTimeTitleText:"Pausa attuale",ShiftButtonWidgetStartBreakButtonText:"Inizia pausa",ShiftButtonWidgetEndBreakButtonText:"Termina pausa",EmailWidgetTitleText:"Email",EmailWidgetSearchFieldPlaceholderText:"Cerca",EmailWidgetNoIntemsFound:"Nessun elemento trovato...",OpenFormsWidgetTitleText:"Moduli aperti",BookmarkedFormsWidgetTitleText:"Template moduli",NewsWidgetTitleText:"Ultime notizie",CalculatorWidgetTitleText:"Calcolatrice",WeatherWidgetTitleText:"Meteo",WeatherWidgetWaitingForLocationText:"In attesa della posizione...",WeatherWidgetWindSpeedUnits:"km/h",KioskCustomerSurveyWidgetTitleText:"Sondaggio tra i clienti",KioskCustomerSurveyWidgetTotalText:"Invii totali",KioskCustomerSurveyWidgetThisMonthText:"Questo mese",KioskCustomerSurveyWidgetAllTimeAverageText:"Media totale",KioskCustomerSurveyWidgetThisMonthAverageText:"Media di questo mese",AdminViewTitleText:"Console Admin",SQLStatsViewTitleText:"Statistiche SQL Server",WebStatsViewTitleText:"Statistiche Web Server",CookiemanagementViewTitleText:"Gestione Cookie",LanguagemanagementViewTitleText:"Gestione lingue",ShiftToggleSwitchStartText:"Inizia turno",ShiftToggleSwitchStopText:"Termina turno",ShiftToggleSwitchAlertStartShiftTitle:"Inizia nuovo turno",ShiftToggleSwitchAlertStartShiftAlertText:"Pronto per iniziare il turno?",ShiftToggleSwitchAlertStartShiftPositionSelectionButtonTitle:"Scegli una posizione:",ShiftToggleSwitchAlertStartShiftButton1Title:"Sì",ShiftToggleSwitchAlertStartShiftButton2Title:"No",ShiftToggleSwitchAlertStopShiftTitle:"Terminare Turno?",ShiftToggleSwitchAlertStopShiftAlertText:"Sei sicuro di voler terminare il turno?",ShiftToggleSwitchAlertStopShiftAlertButton1:"Sì",ShiftToggleSwitchAlertStopShiftAlertButton2:"No"} if(typeof Strings=='undefined'){Strings={};} if(typeof Strings=='undefined'){Strings={};} var s=Strings;var l=null;Strings.EN=EN;Strings.FR=FR;Strings.HE=HE;HTMLElement.prototype.setAccessibility=function(options={}){const{type='button',label='',level=null,pressed=null,selected=null,expanded=null,live=null,focusable=false}=options;const isInput=this.tagName==='INPUT'||this.tagName==='TEXTAREA';if(isInput&&type!=='alert'){if(label)this.setAttribute('aria-label',label);return;} switch(type){case'toggle':case'checkbox':this.setAttribute('role',type);this.setAttribute('aria-checked',pressed===null?'false':!!pressed);break;case'heading':this.setAttribute('role','heading');if(level!==null)this.setAttribute('aria-level',level);break;case'popupmenu':this.setAttribute('role','button');this.setAttribute('aria-haspopup','true');this.setAttribute('aria-expanded',expanded===null?'false':!!expanded);this.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();this.click();}}.bind(this));break;case'menu':this.setAttribute('role','menu');break;case'button':this.setAttribute('role','button');this.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();this.click();}});break;case'menuitem':this.setAttribute('role','menuitem');this.setAttribute('aria-selected',selected===null?'false':!!selected);this.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();this.click();}});break;case'alert':this.setAttribute('role','alert');this.setAttribute('aria-live',live||'assertive');break;default:this.setAttribute('role','button');} const finalLabel=label||this.textContent.trim();if(finalLabel)this.setAttribute('aria-label',finalLabel);if(!this.hasAttribute('tabindex')&&type!=='alert'&&this.getAttribute('role')!=='menu'&&type!=='heading'||focusable){this.setAttribute('tabindex','0');}};HTMLElement.prototype.setLabel=function(label){if(label)this.setAttribute('aria-label',label);else this.removeAttribute('aria-label');};HTMLElement.prototype.setPressed=function(value){if(this.getAttribute('role')==='checkbox'||this.getAttribute('role')==='toggle'){this.setAttribute('aria-checked',!!value);}};HTMLElement.prototype.setSelected=function(value){if(this.getAttribute('role')==='menuitem'){this.setAttribute('aria-selected',!!value);}};HTMLElement.prototype.setExpanded=function(value){if(this.getAttribute('role')==='button'&&this.getAttribute('aria-haspopup')==='true'){this.setAttribute('aria-expanded',!!value);}};HTMLElement.prototype.selectMenuItem=function(itemToSelect){[...this.children].forEach(item=>{if(item.getAttribute('role')==='menuitem'){item.setSelected(item===itemToSelect);}});};function CookieManager(){this.set=function(name,value,domain,expire,days){if(days&&expire)expire=expire*60*24;var minutes=new Date();minutes.setMinutes(minutes.getMinutes()+expire);var c_value=(value)+((expire==null)?"":"; expires="+minutes.toUTCString());var c_path="; path=/";var c_domain=(domain!=undefined&&domain!=null?"; domain="+domain:"");document.cookie=name+"="+c_value+c_path+c_domain;};this.get=function(name){var i,x,y,ARRcookies=document.cookie.split(";");for(i=0;i-1?dateItems[yearIndex]:today.getFullYear();var month=monthIndex>-1?dateItems[monthIndex]-1:today.getMonth()-1;var day=dayIndex>-1?dateItems[dayIndex]:today.getDate();var hour=hourIndex>-1?dateItems[hourIndex]:today.getHours();var minute=minutesIndex>-1?dateItems[minutesIndex]:today.getMinutes();var second=secondsIndex>-1?dateItems[secondsIndex]:today.getSeconds();return new Date(year,month,day,hour,minute,second);};Date.getAdjustedDatefromTimestamp=function(timestamp){var date=new Date(timestamp);var timezoneDiff=date.getTimezoneOffset();date.setHours(date.getHours()-timezoneDiff/60);return date;};Date.getAdjustedCurrentTimestamp=function(){var date=new Date();var timezoneDiff=date.getTimezoneOffset();date.setHours(date.getHours()+timezoneDiff/60);var hours=date.getHours();var month=date.getMonth()+1;var timestamp=date.getFullYear()+"-"+(month<10?"0"+month:month)+"-"+(date.getDate()<10?"0"+date.getDate():date.getDate())+" "+(hours<10?"0"+hours:hours)+":"+(date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes())+":"+(date.getSeconds()<10?"0"+date.getSeconds():date.getSeconds()) return timestamp;};Date.getServerAdjustedTimestampFromDate=function(date){var timezoneDiff=date.getTimezoneOffset();date.setHours(date.getHours()+timezoneDiff/60);var hours=date.getHours();var month=date.getMonth()+1;var timestamp=date.getFullYear()+"-"+(month<10?"0"+month:month)+"-"+(date.getDate()<10?"0"+date.getDate():date.getDate())+" "+(hours<10?"0"+hours:hours)+":"+(date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes())+":"+(date.getSeconds()<10?"0"+date.getSeconds():date.getSeconds()) return timestamp;};Date.getCurrentTimestamp=function(){var date=new Date();var month=date.getMonth()+1;var timestamp=date.getFullYear()+"-"+(month<10?"0"+month:month)+"-"+(date.getDate()<10?"0"+date.getDate():date.getDate())+" "+(date.getHours()<10?"0"+date.getHours():date.getHours())+":"+(date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes())+":"+(date.getSeconds()<10?"0"+date.getSeconds():date.getSeconds()) return timestamp;};Date.getDayOfYear=function(date){return(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate())-Date.UTC(date.getFullYear(),0,0))/24/60/60/1000;} Date.getTimeString=function(date){var now=new Date() var timezoneDiff=now.getTimezoneOffset();var timeStamp=new Date(date);var timeString="";var hour=((timeStamp.getHours()-timezoneDiff/60)%24);var minutes=timeStamp.getMinutes();if(minutes<10)minutes="0"+minutes;timeString=hour+":"+minutes;return timeString;} Date.getLocalTimeString=function(date){var timeStamp=new Date(date);var timeString="";var hour=timeStamp.getHours();var minutes=timeStamp.getMinutes();if(minutes<10)minutes="0"+minutes;timeString=hour+":"+minutes;return timeString;} Date.getTimeElapsed=function(startDate){var date1=new Date(startDate);var date2=new Date();var timezoneDiff=date2.getTimezoneOffset();var diffTime=Math.abs(date2-date1);var diffSeconds=Math.floor(diffTime/1000);var hours=Math.floor(diffSeconds/60/60) var leftOver=diffSeconds-(hours*60*60);var minutes=Math.floor(leftOver/60);var seconds=leftOver-(minutes*60);hours=hours+(timezoneDiff/60) return(hours<10?"0"+hours:hours)+":"+(minutes<10?"0"+minutes:minutes)+":"+(seconds<10?"0"+seconds:seconds);} Date.getTimeElapsedBetweenDates=function(startDate,endDate){var date1=new Date(startDate);var date2=new Date(endDate);var diffMiliseconds=Math.abs(date2-date1);return diffMiliseconds;} Date.getTimeElapsedInMiliseconds=function(startDate){var date1=new Date(startDate);var date2=new Date();var timezoneDiff=date2.getTimezoneOffset()*60*1000;var diffMiliseconds=(Math.abs(date2-date1)+timezoneDiff) return diffMiliseconds;} Date.getTimeFromMiliseconds=function(miliseconds){var diffSeconds=Math.floor(miliseconds/1000);var hours=Math.floor(diffSeconds/60/60) var leftOver=diffSeconds-(hours*60*60);var minutes=Math.floor(leftOver/60);var seconds=leftOver-(minutes*60);return(hours<10?"0"+hours:hours)+":"+(minutes<10?"0"+minutes:minutes)+":"+(seconds<10?"0"+seconds:seconds);} Date.getDateStringFromDate=function(date){var today=new Date();var timezoneDiff=today.getTimezoneOffset();var timeStamp=new Date(date);var miliseconds=timeStamp.getTime()-(timezoneDiff*60000);timeStamp=new Date(miliseconds);var timeString="";var time="";var hour=timeStamp.getHours();var minutes=timeStamp.getMinutes();if(minutes<10)minutes="0"+minutes;time=hour+":"+minutes;if(today.getFullYear()==timeStamp.getFullYear()&&today.getMonth()==timeStamp.getMonth()){if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)==Date.getDayOfYear(timeStamp)){timeString=time;}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)==Date.getDayOfYear(timeStamp)+1){var dayOfWeek=timeStamp.getDay();timeString=s[l].DaysOfWeekShortHand[dayOfWeek]+" "+time;}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)-Date.getDayOfYear(timeStamp)<7&&Date.getDayOfYear(today)-Date.getDayOfYear(timeStamp)>0){var dayOfWeek=timeStamp.getDay();timeString=s[l].DaysOfWeekShortHand[dayOfWeek]+" "+time;}else{timeString=timeStamp.getDate()+"/"+(parseInt(timeStamp.getMonth())+1)+"/"+timeStamp.getFullYear().toString().substring(2,4)+" "+time;}}else{timeString=timeStamp.getDate()+"/"+(parseInt(timeStamp.getMonth())+1)+"/"+timeStamp.getFullYear().toString().substring(2,4)+" "+time;} return timeString;};Date.getDayStringFromDate=function(date){var today=new Date();var timeStamp=new Date(date);var timeString="";if(today.getFullYear()==timeStamp.getFullYear()&&today.getMonth()==timeStamp.getMonth()){if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)==Date.getDayOfYear(timeStamp)){timeString=s[l].DateAndTimeToday+" "+s[l].DateAndTimeByText;var hour=timeStamp.getHours();var minutes=timeStamp.getMinutes();if(minutes<10)minutes="0"+minutes;timeString+=" "+hour+":"+minutes;}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)==Date.getDayOfYear(timeStamp)+1){timeString=s[l].DateAndTimeYesterday;}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)+1==Date.getDayOfYear(timeStamp)){timeString=s[l].DateAndTimeTomorrow+" "+s[l].DateAndTimeByText;var hour=timeStamp.getHours();var minutes=timeStamp.getMinutes();if(minutes<10)minutes="0"+minutes;timeString+=" "+hour+":"+minutes;}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(today)-Date.getDayOfYear(timeStamp)<7&&Date.getDayOfYear(today)-Date.getDayOfYear(timeStamp)>0){var dayOfWeek=timeStamp.getDay();timeString=(s[l].Direction=="rtl"?s[l].DaysOfWeek[dayOfWeek]+" "+s[l].DateAndTimeLastText:s[l].DateAndTimeLastText+" "+s[l].DaysOfWeek[dayOfWeek]);}else if(today.getFullYear()==timeStamp.getFullYear()&&Date.getDayOfYear(timeStamp)-Date.getDayOfYear(today)<7&&Date.getDayOfYear(timeStamp)-Date.getDayOfYear(today)>0){var dayOfWeek=timeStamp.getDay();timeString=s[l].DaysOfWeek[dayOfWeek];}else{timeString=timeStamp.getDate()+"/"+(parseInt(timeStamp.getMonth())+1)+"/"+timeStamp.getFullYear().toString().substring(2,4);}}else{timeString=timeStamp.getDate()+"/"+(parseInt(timeStamp.getMonth())+1)+"/"+timeStamp.getFullYear().toString().substring(2,4);} return timeString;};Date.checkIfOverdue=function(timestamp){var today=new Date();var date=new Date(timestamp);if(today.getFullYear()==date.getFullYear()){if(Date.getDayOfYear(today)==Date.getDayOfYear(date))return 0;else if(Date.getDayOfYear(today)>Date.getDayOfYear(date))return-1;else if(Date.getDayOfYear(today)date.getFullYear())return-1;else if(today.getFullYear()1&&/Macintosh/i.test(this.userAgent));this.isMobile=/Mobi|Android.*Mobile|iPhone|IEMobile|WPDesktop|Opera Mini|BlackBerry|BB10/i.test(this.userAgent)&&!this.isTablet;this.isDesktop=!this.isMobile&&!this.isTablet&&!this.isSmartTV&&!this.isConsole;this.getOS=()=>{if(/Windows NT 10.0/.test(this.userAgent))return"Windows 10";if(/Windows NT 6.3/.test(this.userAgent))return"Windows 8.1";if(/Windows NT 6.2/.test(this.userAgent))return"Windows 8";if(/Windows NT 6.1/.test(this.userAgent))return"Windows 7";if(/Windows NT 6.0/.test(this.userAgent))return"Windows Vista";if(/Windows NT 5.1/.test(this.userAgent))return"Windows XP";if(/Mac OS X 10[._]\d+/.test(this.userAgent))return"macOS";if(/Android/.test(this.userAgent))return"Android";if(/iPhone|iPad|iPod/.test(this.userAgent))return"iOS";if(/Linux/.test(this.userAgent))return"Linux";return"Unknown OS";};this.getBrowser=()=>{if(/Edg\//.test(this.userAgent))return"Edge";if(/Chrome\//.test(this.userAgent))return"Chrome";if(/Safari\//.test(this.userAgent)&&!/Chrome\//.test(this.userAgent))return"Safari";if(/Firefox\//.test(this.userAgent))return"Firefox";if(/MSIE|Trident/.test(this.userAgent))return"Internet Explorer";return"Unknown Browser";};return{deviceType:this.isSmartTV?"Smart TV":this.isConsole?"Console":this.isTablet?"Tablet":this.isMobile?"Mobile":this.isDesktop?"Desktop":"Unknown",os:this.getOS(),browser:this.getBrowser(),userAgent:this.userAgent};},getUUID:function(){var uuid=localStorage.getItem("daily_report_client_uuid");if(!uuid){uuid=this.generateUUID();localStorage.setItem('daily_report_client_uuid',uuid);} return uuid;},generateUUID:function(){return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){const r=crypto.getRandomValues(new Uint8Array(1))[0]%16;const v=c==='x'?r:(r&0x3|0x8);return v.toString(16);});}} HTMLElement.prototype.listenForSwipeEvents=function(onSwipeLeft,onSwipeRight){let touchstartX=0;let touchstartY=0;this.addEventListener('touchstart',(e)=>{touchstartX=e.touches[0].clientX;touchstartY=e.touches[0].clientY;},{passive:true});this.addEventListener('touchend',(e)=>{const touchendX=e.changedTouches[0].clientX;const touchendY=e.changedTouches[0].clientY;const deltaX=touchendX-touchstartX;const deltaY=touchendY-touchstartY;const absX=Math.abs(deltaX);const absY=Math.abs(deltaY);if(absX>80&&absX>absY*2){if(deltaX>0){onSwipeRight();}else{onSwipeLeft();}}},{passive:true});};var LoadTest=function(){this.intervalId=null;this.total=0;this.delayMs=500;this.msg="This is a load test";this.runLoadTest=function(total=1000,delayMs=500,msg=this.msg){this.count=0;this.total=total;this.delayMs=delayMs;this.msg=(msg==null?this.msg:msg);console.log(`Starting load test:${this.total}messages at ${this.delayMs}ms intervals...`);this.intervalId=setInterval(function(){if(this.count>=this.total){clearInterval(this.intervalId);console.log("Load test complete.");return;} ChatView.sendChatMessage(7,null,msg+" - "+this.count,'text',1);console.log("Sent message #"+this.count);this.count++;}.bind(this),this.delayMs);};this.stopTest=function(){console.log("Stopping test after "+this.count);this.count=this.total;};} var loadTest=new LoadTest();var MD5=function(string){function RotateLeft(lValue,iShiftBits){return(lValue<>>(32-iShiftBits));} function AddUnsigned(lX,lY){var lX4,lY4,lX8,lY8,lResult;lX8=(lX&0x80000000);lY8=(lY&0x80000000);lX4=(lX&0x40000000);lY4=(lY&0x40000000);lResult=(lX&0x3FFFFFFF)+(lY&0x3FFFFFFF);if(lX4&lY4){return(lResult^0x80000000^lX8^lY8);} if(lX4|lY4){if(lResult&0x40000000){return(lResult^0xC0000000^lX8^lY8);}else{return(lResult^0x40000000^lX8^lY8);}}else{return(lResult^lX8^lY8);}} function F(x,y,z){return(x&y)|((~x)&z);} function G(x,y,z){return(x&z)|(y&(~z));} function H(x,y,z){return(x^y^z);} function I(x,y,z){return(y^(x|(~z)));} function FF(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(F(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b);};function GG(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(G(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b);};function HH(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(H(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b);};function II(a,b,c,d,x,s,ac){a=AddUnsigned(a,AddUnsigned(AddUnsigned(I(b,c,d),x),ac));return AddUnsigned(RotateLeft(a,s),b);};function ConvertToWordArray(string){var lWordCount;var lMessageLength=string.length;var lNumberOfWords_temp1=lMessageLength+8;var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1%64))/64;var lNumberOfWords=(lNumberOfWords_temp2+1)*16;var lWordArray=Array(lNumberOfWords-1);var lBytePosition=0;var lByteCount=0;while(lByteCount>>29;return lWordArray;};function WordToHex(lValue){var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;for(lCount=0;lCount<=3;lCount++){lByte=(lValue>>>(lCount*8))&255;WordToHexValue_temp="0"+lByte.toString(16);WordToHexValue=WordToHexValue+WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);} return WordToHexValue;};function Utf8Encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);} else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}} return utftext;};var x=Array();var k,AA,BB,CC,DD,a,b,c,d;var S11=7,S12=12,S13=17,S14=22;var S21=5,S22=9,S23=14,S24=20;var S31=4,S32=11,S33=16,S34=23;var S41=6,S42=10,S43=15,S44=21;string=Utf8Encode(string);x=ConvertToWordArray(string);a=0x67452301;b=0xEFCDAB89;c=0x98BADCFE;d=0x10325476;for(k=0;k'+url+'';});}} Window.scrollIntoView=function(parent,child){var parentRect=parent.getBoundingClientRect();var parentViewableArea={height:parent.clientHeight,width:parent.clientWidth};var childRect=child.getBoundingClientRect();var isViewable=(childRect.top>=parentRect.top)&&(childRect.bottom<=parentRect.top+parentViewableArea.height);if(!isViewable){const scrollTop=childRect.top-parentRect.top;const scrollBot=childRect.bottom-parentRect.bottom;if(Math.abs(scrollTop)=this.children.length){this.appendChild(child)}else{this.insertBefore(child,this.children[index])}} const capitalize=(s)=>{if(typeof s!=='string')return'' return s.charAt(0).toUpperCase()+s.slice(1)} App_Version={"version":"1.39.72","build":3972,"date":"2026-02-28T09:51:57Z","commit":"14bf15752"};var AbsencerequestView=JS.subClass(JSAppView,{name:"AbsencerequestView",title:"Daily Report - Absence reqest",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,requestID:null,requestType:1,files:null,TEXTAREA_MAX_LENGTH:512,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.responseFormHolder=document.createElement('div');this.responseFormHolder.className="ResponseFormHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].AbsencerequestViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"absence_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.innerHolder);},start:function(data=null){this.resetForm();if(data!=null&&data.request_id!=undefined&&data.request_id!=null){this.getAbsenceRequest(data.request_id);}else{this.buildAbsencerequestForm(null);this.titleMenuButton.appendChild(this.buildTitleBarMenu(data));this.getAbsenceRequestTypes();}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},resetForm:function(){this.requestID=null;this.requestType=1;this.files=null;},buildTitleBarMenu:function(data){this.titleMenuButton.innerHTML="";if(data!=null&&data.request_id!=undefined&&data.request_id!=null)this.requestID=data.request_id;if(data!=null&&data.uid!=undefined&&data.uid!=Application.sessionManager.sessionData.uid){var items=[{title:s[l].AbsencerequestViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"AbsencerequestView.dismiss();"}];}else if(data!=null&&data.request_id!=undefined&&data.request_id!=null){var items=[{title:s[l].AbsencerequestViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"AbsencerequestView.new();"},{title:s[l].AbsencerequestViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"AbsencerequestView.delete();"},{title:s[l].AbsencerequestViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"AbsencerequestView.dismiss();"}];}else if(data!=null&&data.error==404){var items=[{title:s[l].AbsencerequestViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"AbsencerequestView.new();"},{title:s[l].AbsencerequestViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"AbsencerequestView.dismiss();"}];}else{var items=[{title:s[l].AbsencerequestViewTitleBarMenu.SubmitButtonTitleText,icon:"/assets/images/icons/submit_black.svg",action:"AbsencerequestView.submit();"},{title:s[l].AbsencerequestViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"AbsencerequestView.new();"},{title:s[l].AbsencerequestViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"AbsencerequestView.dismiss();"}];} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0))){var responseNoteTitle=document.createElement('div');responseNoteTitle.className="ResponseTitleText";responseForm.appendChild(responseNoteTitle);var titleText=document.createElement('div');titleText.className="InnerTitle";titleText.innerHTML=s[l].AbsencerequestViewFormResponseNoteTitleText+":";responseNoteTitle.appendChild(titleText);this.responseNotesCounter=document.createElement('div');this.responseNotesCounter.className="TextAreaCounterHolder";responseNoteTitle.appendChild(this.responseNotesCounter);if(s[l].Direction=="rtl"){this.responseNotesCounter.classList.add("ltr");responseNoteTitle.style.unicodeBidi='unset';} this.responseNoteInput=document.createElement('textarea');this.responseNoteInput.setAttribute('maxlength',this.TEXTAREA_MAX_LENGTH);this.responseNoteInput.value=(data.approver_notes!=null&&data.approver_notes.length>0?data.approver_notes:"");if(data.approver_uid!=null&&data.approver_uid!=Application.sessionManager.sessionData.uid)this.responseNoteInput.disabled=true;responseForm.appendChild(this.responseNoteInput);this.responseNoteInput.addEventListener('input',function(){this.responseNotesCounter.innerHTML=this.TEXTAREA_MAX_LENGTH-this.responseNoteInput.value.length;}.bind(this));} if(data!=null&&data.is_manager!=undefined&&data.is_manager!=null&&parseInt(data.is_manager)==1&&data.uid!=undefined&&data.uid!=Application.sessionManager.sessionData.uid&&(data.approver_uid==null||data.approver_uid==Application.sessionManager.sessionData.uid)){var approveButton=document.createElement('div');approveButton.className="Button";approveButton.classList.add("ApproveButton");var buttonTitle=document.createElement('div');buttonTitle.className="Title";buttonTitle.innerHTML=s[l].AbsencerequestViewFormApproveButtonTitleText;approveButton.appendChild(buttonTitle);var buttonIcon=document.createElement('div');buttonIcon.className="Icon";buttonIcon.classList.add("ApproveIcon");approveButton.appendChild(buttonIcon);approveButton.addEventListener('click',function(){this.approve();}.bind(this));responseForm.appendChild(approveButton);var rejectButton=document.createElement('div');rejectButton.className="Button";rejectButton.classList.add("RejectButton");var buttonTitle=document.createElement('div');buttonTitle.className="Title";buttonTitle.innerHTML=s[l].AbsencerequestViewFormRejectButtonTitleText;rejectButton.appendChild(buttonTitle);var buttonIcon=document.createElement('div');buttonIcon.className="Icon";buttonIcon.classList.add("RejectIcon");rejectButton.appendChild(buttonIcon);rejectButton.addEventListener('click',function(){this.reject();}.bind(this));responseForm.appendChild(rejectButton);} if(this.requestID==null){var submitButton=document.createElement('div');submitButton.className="Button";submitButton.classList.add("SubmitButton");var submitButtonTitle=document.createElement('div');submitButtonTitle.className="Title";submitButtonTitle.innerHTML=s[l].AbsencerequestViewFormSubmitButtonTitleText;submitButton.appendChild(submitButtonTitle);var submitButtonIcon=document.createElement('div');submitButtonIcon.className="Icon";submitButton.appendChild(submitButtonIcon);submitButton.addEventListener('click',function(){this.submit();}.bind(this));form.appendChild(submitButton);} if(data!=null&&data.uid!=undefined&&data.approver_uid!=null&&(data.uid==Application.sessionManager.sessionData.uid||(data.approver_uid!=Application.sessionManager.sessionData.uid))){this.responseFormHolder.appendChild(responseForm);this.formHolder.appendChild(this.responseFormHolder);this.formHolder.appendChild(form);}else{this.formHolder.appendChild(form);this.responseFormHolder.appendChild(responseForm);this.formHolder.appendChild(this.responseFormHolder);}},addFile:function(){if(this.files.length==0){this.attachmentsTable.innerHTML="";} var fileInput=this.fileInput;var file=fileInput.files[0];fileInput.value=null;var reader=new FileReader();reader.readAsDataURL(file);reader.onload=(event)=>{this.url=event.target.result;var fileObject={name:encodeURIComponent(file.name),dataURL:encodeURIComponent(this.url)} this.addFileToAttachmentsTable(fileObject);this.files.push(fileObject);}},addFileToAttachmentsTable:function(fileObject){var fileItem=document.createElement('div');fileItem.className="FileItem";var fileIcon=document.createElement('div');fileIcon.className="FileIcon";fileItem.appendChild(fileIcon);var fileName=document.createElement('div');fileName.className="FileName";fileName.innerHTML=decodeURIComponent(fileObject.name);fileItem.appendChild(fileName);var deleteButton=document.createElement('div');deleteButton.className="DeleteButton";fileItem.appendChild(deleteButton);deleteButton.addEventListener('click',function(){this.delegate.attachmentsTable.removeChild(this.fileItem);for(var i=0;iendDate){Alert.present(s[l].AbsencerequestViewFormValidationAlert.TitleText,s[l].AbsencerequestViewFormValidationAlert.InfoTextDatesSwitchedMessage,s[l].AbsencerequestViewFormValidationAlert.Button1Title,null,function(buttonPressed){}.bind(this));}else{var requestID=this.requestID;var start=this.startDatePickerMenu.getSQLDate();var end=this.endDatePickerMenu.getSQLDate();var notes=this.requestNoteInput.value;var files=JSON.stringify(this.files);var type=this.requestType;this.submitAbsenceRequest(requestID,type,start,end,notes,files);}},approve:function(){this.approveAbsenceRequest(this.requestID,(this.responseNoteInput!=undefined?this.responseNoteInput.value:""),1);},reject:function(){this.approveAbsenceRequest(this.requestID,(this.responseNoteInput!=undefined?this.responseNoteInput.value:""),0);},new:function(){setTimeout(function(){this.resetForm();this.buildAbsencerequestForm(null);this.titleMenuButton.appendChild(this.buildTitleBarMenu(null));this.getAbsenceRequestTypes();}.bind(this),100);},delete:function(){Alert.present(s[l].AbsencerequestViewDeleteRequestAlert.TitleText,s[l].AbsencerequestViewDeleteRequestAlert.MessageText,s[l].AbsencerequestViewDeleteRequestAlert.Button1Title,s[l].AbsencerequestViewDeleteRequestAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:this.deleteAbsenceRequest(this.requestID);break;case 2:break}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},buildRequestTypeMenu:function(id,requestTypes){this.requestTypeMenuHolder.innerHTML="";this.requestTypeMenuTitle=document.createElement('div');this.requestTypeMenuTitle.className="RequestTypeMenuTitle";this.requestTypeMenuHolder.appendChild(this.requestTypeMenuTitle);if(this.requestID==null){this.requestTypeMenuTitle.addEventListener('click',function(){this.toggleRequestTypeMenu();}.bind(this));this.requestTypeMenuTitle.style.cursor="pointer";} this.requestTypeMenu=document.createElement('div');this.requestTypeMenu.className="RequestTypeMenu";this.requestTypeMenuHolder.appendChild(this.requestTypeMenu);for(var i=0;i0){this.presentViewInDialog(CalendareventView,data);}},stop:function(){},onApplicationMovedToForeground:function(){if(this.presentedView!=null&&this.presentedView.onApplicationMovedToForeground!=undefined)this.presentedView.onApplicationMovedToForeground();},onApplicationMovedToBackground:function(){if(this.presentedView!=null&&this.presentedView.onApplicationMovedToBackground!=undefined)this.presentedView.onApplicationMovedToBackground();},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.layoutPickerButtonMenu.style.display="none";this.hideMobileSidebarMenu();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/event_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].CalendarViewTitleBarMenu.CreateEventButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){this.onCreateEventButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/calendar_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].CalendarViewTitleBarMenu.CreateCalendarButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){this.onCreateCalendarButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');return this.titleBarMenu;},buildSidebar:function(day,month,year){this.calendarSidebar=document.createElement('div');this.calendarSidebar.className="CalendarSidebar";this.sidebarCalendarHolder=document.createElement('div');this.sidebarCalendarHolder.className="SidebarCalendarHolder";this.sidebarMiniCalendar=new MiniCalendar(day,month,year,this);this.sidebarCalendarHolder.appendChild(this.sidebarMiniCalendar.calendarHolder);this.calendarSidebar.appendChild(this.sidebarCalendarHolder);this.sidebarCalendarListHolder=document.createElement('div');this.sidebarCalendarListHolder.className="SidebarCalendarListHolder";this.calendarSidebar.appendChild(this.sidebarCalendarListHolder);return this.calendarSidebar;},onMiniCalendarDateSelected(calendar,day,month,year){this.calendarDay=day;this.calendarMonth=month;this.calendarYear=year;this.calendarSelectedDate=new Date(year,month-1,day);this.calendarContainer.innerHTML="";switch(this.currentViewType){case this.CalendarViewTypes.MonthView:this.calendarContainer.appendChild(this.buildMonthView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.WeekView:this.calendarContainer.appendChild(this.buildWeekView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.DayView:this.calendarContainer.appendChild(this.buildDayView(this.calendarDay,this.calendarMonth,this.calendarYear));break;} if(calendar==this.sidebarMiniCalendar){this.navigationBarMiniCalendar.setDate(day,month,year);}else{this.sidebarMiniCalendar.setDate(day,month,year);} this.hideMobileSidebarMenu();this.getEvents();},onNavigationLeftButtonPressed:function(){switch(this.currentViewType){case this.CalendarViewTypes.MonthView:if(this.calendarMonth>1){this.calendarMonth-=1;}else{this.calendarMonth=12;this.calendarYear-=1;} var d=(this.calendarMonth==(this.calendarSelectedDate.getMonth()+1)&&this.calendarYear==this.calendarSelectedDate.getFullYear()?this.calendarSelectedDate.getDate():null);this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildMonthView(d,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(1,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(1,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,1);break;case this.CalendarViewTypes.WeekView:var currentDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);currentDate.setDate(currentDate.getDate()-7);this.calendarDay=currentDate.getDate();this.calendarMonth=currentDate.getMonth()+1;this.calendarYear=currentDate.getFullYear();this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildWeekView(this.calendarDay,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);break;case this.CalendarViewTypes.DayView:var currentDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);currentDate.setDate(currentDate.getDate()-1);this.calendarDay=currentDate.getDate();this.calendarMonth=currentDate.getMonth()+1;this.calendarYear=currentDate.getFullYear();this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildDayView(this.calendarDay,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);break;} this.getEvents();},onNavigationRightButtonPressed:function(){switch(this.currentViewType){case this.CalendarViewTypes.MonthView:if(this.calendarMonth<12){this.calendarMonth+=1;}else{this.calendarMonth=1;this.calendarYear+=1;} var d=(this.calendarMonth==(this.calendarSelectedDate.getMonth()+1)&&this.calendarYear==this.calendarSelectedDate.getFullYear()?this.calendarSelectedDate.getDate():null);this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildMonthView(d,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(1,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(1,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,1);break;case this.CalendarViewTypes.WeekView:var currentDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);currentDate.setDate(currentDate.getDate()+7);this.calendarDay=currentDate.getDate();this.calendarMonth=currentDate.getMonth()+1;this.calendarYear=currentDate.getFullYear();this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildWeekView(this.calendarDay,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);break;case this.CalendarViewTypes.DayView:var currentDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);currentDate.setDate(currentDate.getDate()+1);this.calendarDay=currentDate.getDate();this.calendarMonth=currentDate.getMonth()+1;this.calendarYear=currentDate.getFullYear();this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildDayView(this.calendarDay,this.calendarMonth,this.calendarYear));this.sidebarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.calendarSelectedDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);break;} this.getEvents();},onNavigationHomeButtonPressed:function(){var date=new Date();this.calendarDay=date.getDate();this.calendarMonth=date.getMonth()+1;this.calendarYear=date.getFullYear();this.sidebarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);this.navigationBarMiniCalendar.setDate(this.calendarDay,this.calendarMonth,this.calendarYear);switch(this.currentViewType){case this.CalendarViewTypes.MonthView:this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildMonthView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.WeekView:this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildWeekView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.DayView:this.calendarContainer.innerHTML="";this.calendarContainer.appendChild(this.buildDayView(this.calendarDay,this.calendarMonth,this.calendarYear));break;} this.getEvents();},buildLayoutPickerMenu:function(){this.layoutPickerButton=document.createElement('div');this.layoutPickerButton.className="LayoutPickerButton";this.layoutPickerButtonTitle=document.createElement('div');this.layoutPickerButtonTitle.className="Title";this.layoutPickerButtonTitleIcon=document.createElement('div');this.layoutPickerButtonTitleIcon.className="Icon";this.layoutPickerButtonTitle.appendChild(this.layoutPickerButtonTitleIcon);this.layoutPickerButtonTitleText=document.createElement('div');this.layoutPickerButtonTitleText.className="Text";this.layoutPickerButtonTitle.appendChild(this.layoutPickerButtonTitleText);this.layoutPickerButton.appendChild(this.layoutPickerButtonTitle);this.layoutPickerButtonTitleText.innerText=(this.currentViewType==this.CalendarViewTypes.MonthView?s[l].CalendarViewLayoutPickerMonthTitleText:(this.currentViewType==this.CalendarViewTypes.WeekView?s[l].CalendarViewLayoutPickerWeekTitleText:s[l].CalendarViewLayoutPickerDayTitleText));this.layoutPickerButtonTitleIcon.className=((this.currentViewType==this.CalendarViewTypes.MonthView?"Icon Month":(this.currentViewType==this.CalendarViewTypes.WeekView?"Icon Week":"Icon Day")));this.layoutPickerButtonTitle.addEventListener('click',function(){if(this.layoutPickerButtonMenu.style.display=="block"){this.layoutPickerButtonMenu.style.display="none";}else{this.layoutPickerButtonMenu.style.display="block";this.hideTitleBarMenu();this.hideMobileSidebarMenu();}}.bind(this));this.layoutPickerButtonMenu=document.createElement('div');this.layoutPickerButtonMenu.className="Menu";this.layoutPickerButton.appendChild(this.layoutPickerButtonMenu);var menuItem=document.createElement('div');menuItem.className="Item";var menuItemIcon=document.createElement('div');menuItemIcon.className="Icon Day";menuItem.appendChild(menuItemIcon);var menuItemTitle=document.createElement('div');menuItemTitle.className="Title";menuItemTitle.innerText=s[l].CalendarViewLayoutPickerDayTitleText menuItem.appendChild(menuItemTitle);this.layoutPickerButtonMenu.appendChild(menuItem);menuItem.addEventListener('click',function(){this.layoutPickerButtonTitleText.innerText=s[l].CalendarViewLayoutPickerDayTitleText;this.layoutPickerButtonTitleIcon.className="Icon Day";this.onLayoutPickerMenuItemSelected(this.CalendarViewTypes.DayView);this.layoutPickerButtonMenu.style.display="none";}.bind(this));var menuItem=document.createElement('div');menuItem.className="Item";var menuItemIcon=document.createElement('div');menuItemIcon.className="Icon Week";menuItem.appendChild(menuItemIcon);var menuItemTitle=document.createElement('div');menuItemTitle.className="Title";menuItemTitle.innerText=s[l].CalendarViewLayoutPickerWeekTitleText menuItem.appendChild(menuItemTitle);this.layoutPickerButtonMenu.appendChild(menuItem);menuItem.addEventListener('click',function(){this.layoutPickerButtonTitleText.innerText=s[l].CalendarViewLayoutPickerWeekTitleText;this.layoutPickerButtonTitleIcon.className="Icon Week";this.onLayoutPickerMenuItemSelected(this.CalendarViewTypes.WeekView);this.layoutPickerButtonMenu.style.display="none";}.bind(this));var menuItem=document.createElement('div');menuItem.className="Item";var menuItemIcon=document.createElement('div');menuItemIcon.className="Icon Month";menuItem.appendChild(menuItemIcon);var menuItemTitle=document.createElement('div');menuItemTitle.className="Title";menuItemTitle.innerText=s[l].CalendarViewLayoutPickerMonthTitleText menuItem.appendChild(menuItemTitle);this.layoutPickerButtonMenu.appendChild(menuItem);menuItem.addEventListener('click',function(){this.layoutPickerButtonTitleText.innerText=s[l].CalendarViewLayoutPickerMonthTitleText;this.layoutPickerButtonTitleIcon.className="Icon Month";this.onLayoutPickerMenuItemSelected(this.CalendarViewTypes.MonthView);this.layoutPickerButtonMenu.style.display="none";}.bind(this));return this.layoutPickerButton;},buildNavigationBar:function(){var navigationBar=document.createElement('div');navigationBar.className="NavigationBar";var navigationBarButtonsHolder=document.createElement('div');navigationBarButtonsHolder.className="ButtonsHolder";navigationBar.appendChild(navigationBarButtonsHolder);this.navigationBarLeftButton=document.createElement('div');this.navigationBarLeftButton.className="LeftButton";navigationBarButtonsHolder.appendChild(this.navigationBarLeftButton);if(s[l].Direction=="rtl")this.navigationBarLeftButton.classList.add("LeftButton_rtl");this.navigationBarLeftButton.addEventListener("click",function(){this.onNavigationLeftButtonPressed();}.bind(this));this.navigationBarHomeButton=document.createElement('div');this.navigationBarHomeButton.className="HomeButton";navigationBarButtonsHolder.appendChild(this.navigationBarHomeButton);this.navigationBarHomeButton.addEventListener("click",function(){this.onNavigationHomeButtonPressed();}.bind(this));this.navigationBarRightButton=document.createElement('div');this.navigationBarRightButton.className="RightButton";navigationBarButtonsHolder.appendChild(this.navigationBarRightButton);if(s[l].Direction=="rtl")this.navigationBarRightButton.classList.add("RightButton_rtl");this.navigationBarRightButton.addEventListener("click",function(){this.onNavigationRightButtonPressed();}.bind(this));this.navigationBarDateHolder=document.createElement('div');this.navigationBarDateHolder.className="DateHolder";navigationBar.appendChild(this.navigationBarDateHolder);this.navigationBarDateHolderText=document.createElement('div');if(s[l].Direction=="rtl")this.navigationBarDateHolderText.className="DateText_rtl";else this.navigationBarDateHolderText.className="DateText";this.navigationBarDateHolder.appendChild(this.navigationBarDateHolderText);this.navigationBarDateHolder.addEventListener("click",function(){const mediaQuery=window.matchMedia("(max-width: 780px)");if(mediaQuery.matches){if(this.mobileSidebarMenu.style.display=="block"){this.hideMobileSidebarMenu();}else{this.showMobileSidebarMenu();this.hideTitleBarMenu();this.layoutPickerButtonMenu.style.display="none";}}else{this.hideMobileSidebarMenu();}}.bind(this));return navigationBar;},buildMobileSidebarMenu:function(){this.mobileSidebarMenu=document.createElement('div');this.mobileSidebarMenu.className="MobileSidebarMenu";if(s[l].Direction=="rtl")this.mobileSidebarMenu.classList.add("MobileSidebarMenu_rtl");this.navigationBarMiniCalendar=new MiniCalendar(this.calendarDay,this.calendarMonth,this.calendarYear,this);this.mobileSidebarMenu.appendChild(this.navigationBarMiniCalendar.calendarHolder);this.mobileSidebarCalendarListHolder=document.createElement('div');this.mobileSidebarCalendarListHolder.className="MobileSidebarCalendarListHolder";this.mobileSidebarMenu.appendChild(this.mobileSidebarCalendarListHolder);return this.mobileSidebarMenu;},showMobileSidebarMenu:function(){this.mobileSidebarMenu.style.display="block";},hideMobileSidebarMenu:function(){this.mobileSidebarMenu.style.display="none";},buildMonthView:function(day,month,year){this.currentViewType=this.CalendarViewTypes.MonthView;this.monthViewDays=new Array();if(day!=null)this.calendarSelectedDate=new Date(year,month-1,day);var view=document.createElement('div');view.className="CalendarView";view.classList.add("MonthView");this.currentView=view;var calendarHearder=document.createElement('div');calendarHearder.className="CalendarHeader";view.appendChild(calendarHearder);var calendar=document.createElement('div');calendar.className="Calendar";view.appendChild(calendar);var firstDate=this.dayInMonth(1,(month!=null?month:new Date().getMonth()+1),(year!=null?year:new Date().getFullYear()));var lastDate=new Date(year,month,0);var totalDays=this.daysInMonth((month!=null?month:new Date().getMonth()+1),(year!=null?year:new Date().getFullYear()));var weeksInMonth=this.weeksInMonth(month-1,year);calendar.style.gridTemplateRows="repeat("+weeksInMonth+",1fr)";for(var i=0;i<7;i++){var calendarTitleItem=document.createElement('div');calendarTitleItem.className="CalendarTitleItem";calendarTitleItem.innerHTML=s[l].DaysOfWeekShortHand[i];calendarHearder.appendChild(calendarTitleItem);} for(var i=0;i"+startTime+": "+data.title;} eventItem.appendChild(title);eventItem.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.delegate.hideTitleBarMenu();this.delegate.hideMobileSidebarMenu();this.delegate.presentViewInDialog(CalendareventView,this.data);}.bind({delegate:this,eventItem:eventItem,data:data}));eventsHolder.appendChild(eventItem);return eventItem;},buildWeekView:function(day,month,year){this.currentViewType=this.CalendarViewTypes.WeekView;this.weekViewDays=new Array();var today=new Date();var currentDate=new Date(year,month-1,day);var weekday=currentDate.getDay();var firstDay=new Date(currentDate);firstDay.setDate(currentDate.getDate()-weekday);var lastDay=new Date(firstDay);lastDay.setDate(firstDay.getDate()+6);this.viewStartDate=new Date(firstDay).setHours(0,0,0,0);this.viewEndDate=new Date(lastDay).setHours(23,59,59,999);var view=document.createElement('div');view.className="CalendarView";this.currentView=view;var weekDays=document.createElement('div');weekDays.className="WeekDays";view.appendChild(weekDays);var headerSpacer=document.createElement('div');headerSpacer.className="WeekDay";headerSpacer.style.width="60px";headerSpacer.style.flex="0 0 auto";weekDays.appendChild(headerSpacer);for(var i=0;i<7;i++){var weekDay=document.createElement('div');weekDay.className="WeekDay";weekDay.style.flex="1";var headerDate=new Date(firstDay);headerDate.setDate(firstDay.getDate()+i);var hDay=headerDate.getDate();var hMonth=headerDate.getMonth()+1;var hYear=headerDate.getFullYear();var dayName=document.createElement('div');dayName.className="Name";dayName.innerText=s[l].DaysOfWeek[i].substring(0,3);weekDay.appendChild(dayName);var date=document.createElement('div');date.className="Date";if(today.getDate()==hDay&&today.getMonth()+1==hMonth&&today.getFullYear()==hYear){date.classList.add("CurrentDate");} date.innerText=hDay;weekDay.appendChild(date);weekDay.addEventListener('click',function(){this.delegate.calendarDay=this.day;this.delegate.calendarMonth=this.month;this.delegate.calendarYear=this.year;this.delegate.calendarContainer.innerHTML="";this.delegate.calendarContainer.appendChild(this.delegate.buildDayView(this.day,this.month,this.year));this.delegate.sidebarMiniCalendar.setDate(this.delegate.calendarDay,this.delegate.calendarMonth,this.delegate.calendarYear);this.delegate.navigationBarMiniCalendar.setDate(this.delegate.calendarDay,this.delegate.calendarMonth,this.delegate.calendarYear);this.delegate.getEvents();}.bind({delegate:this,day:hDay,month:hMonth,year:hYear}));weekDays.appendChild(weekDay);} this.buildAllDayRow(view);for(var i=0;i<7;i++){var dayCell=document.createElement('div');dayCell.className="AllDayDayCell";this.allDayEventsHolder.appendChild(dayCell);} var weekView=document.createElement('div');weekView.className="WeekView";view.appendChild(weekView);var timeline=document.createElement('div');timeline.className="Timeline";if(s[l].Direction=="rtl")timeline.classList.add("Timeline_rtl");weekView.appendChild(timeline);for(var i=0;i<24;i++){var timeItem=document.createElement('div');timeItem.className="TimeItem";timeItem.innerText=(i<10?"0":"")+i+":00";timeline.appendChild(timeItem);} var weekHolder=document.createElement('div');weekHolder.className="WeekHolder";weekView.appendChild(weekHolder);for(var i=0;i<7;i++){var dayItem=document.createElement('div');dayItem.className="Day";dayItem.addEventListener('mousemove',function(e){if(e.target.className!=="Day"){this.delegate.getGhostEvent().style.display="none";return;} this.delegate.updateGhostPosition(this.el,e);}.bind({delegate:this,el:dayItem}));dayItem.addEventListener('mouseleave',function(){this.delegate.getGhostEvent().style.display="none";}.bind({delegate:this}));weekHolder.appendChild(dayItem);var colDate=new Date(firstDay);colDate.setDate(firstDay.getDate()+i);var d=colDate.getDate();var m=colDate.getMonth()+1;var y=colDate.getFullYear();this.weekViewDays[d+"_"+m+"_"+y]=dayItem;dayItem.addEventListener('click',function(e){if(e.target!==this.el)return;var rect=this.el.getBoundingClientRect();var hourHeight=60;var totalHours=(e.clientY-rect.top)/hourHeight;var snappedHours=Math.floor(totalHours*2)/2;var startH=Math.floor(snappedHours);var startM=(snappedHours%1)*60;var startDate=new Date(this.y,this.m-1,this.d,startH,startM,0);this.delegate.hideTitleBarMenu();this.delegate.hideMobileSidebarMenu();this.delegate.presentViewInDialog(CalendareventeditorView,{start_time:startDate.getTime(),end_time:startDate.getTime()+3600000},false);}.bind({delegate:this,el:dayItem,d:d,m:m,y:y}));} if(firstDay.getMonth()==lastDay.getMonth()){this.navigationBarDateHolderText.innerHTML=firstDay.getDate()+" - "+lastDay.getDate()+" "+s[l].MonthsOfYear[month-1]+" "+year;}else if((firstDay.getMonth()!=lastDay.getMonth())&&(firstDay.getFullYear()==lastDay.getFullYear())){this.navigationBarDateHolderText.innerHTML=firstDay.getDate()+" "+(s[l].MonthsOfYear[firstDay.getMonth()]).substring(0,3)+" - "+lastDay.getDate()+" "+(s[l].MonthsOfYear[lastDay.getMonth()]).substring(0,3)+" "+year;}else{this.navigationBarDateHolderText.innerHTML=(s[l].MonthsOfYear[firstDay.getMonth()]).substring(0,3)+" "+firstDay.getFullYear()+" - "+(s[l].MonthsOfYear[lastDay.getMonth()]).substring(0,3)+" "+lastDay.getFullYear();} var now=new Date();if(now.getTime()>=firstDay.getTime()&&now.getTime()<=lastDay.getTime()+86400000){this.currentTimeIndicator=document.createElement('div');this.currentTimeIndicator.className="CurrentTimeIndicator";this.currentTimeIndicatorText=document.createElement('div');this.currentTimeIndicatorText.className="CurrentTimeIndicatorText";this.currentTimeIndicator.appendChild(this.currentTimeIndicatorText);var hour=now.getHours();var minute=now.getMinutes();const hourHeight=60;this.currentTimeIndicatorText.innerText=(hour<10?"0"+hour:hour)+":"+(minute<10?"0"+minute:minute);this.currentTimeIndicator.style.top=(hour+minute/60)*hourHeight+"px";var todayKey=now.getDate()+"_"+(now.getMonth()+1)+"_"+now.getFullYear();if(this.weekViewDays[todayKey]){this.weekViewDays[todayKey].appendChild(this.currentTimeIndicator);} if(s[l].Direction=="rtl")this.currentTimeIndicatorText.classList.add("CurrentTimeIndicatorText_rtl");} this.titleBarLayoutPickerMenuHolder.innerHTML="";this.titleBarLayoutPickerMenuHolder.appendChild(this.buildLayoutPickerMenu());return view;},addEventToWeekView:function(day,month,year,data){var weekViewDay=this.weekViewDays[day+"_"+month+"_"+year];var eventItem=document.createElement('div');eventItem.className="Event";const isDeclined=(parseInt(data.is_invite)==1&&data.attendee_status==='declined')||(parseInt(data.is_external_invite)==1&&data.response_status==='declined');const isPending=(parseInt(data.is_invite)==1&&data.attendee_status==='pending')||(parseInt(data.is_external_invite)==1&&data.response_status==='pending');const isTentative=(parseInt(data.is_invite)==1&&(data.attendee_status==='tentative'||data.attendee_status==='maybe'))||(parseInt(data.is_external_invite)==1&&(data.response_status==='tentative'||data.response_status==='maybe'));if(isDeclined)eventItem.classList.add("Declined");else if(isPending)eventItem.classList.add("Pending");else if(isTentative){eventItem.classList.add("Tentative");eventItem.style.backgroundColor=this.eventCalendars["c_"+data.calendar_id].color;}else{eventItem.style.backgroundColor=this.eventCalendars["c_"+data.calendar_id].color;} var startTime=Date.getTimeString(data.start_time);var endTime=Date.getTimeString(data.end_time);var eventLength=Date.getTimeElapsedBetweenDates(data.end_time,data.start_time)/1000/60;var title=document.createElement('div');title.className="Title";eventItem.appendChild(title);if(eventLength<=30){title.innerText=startTime+", "+data.title;}else{title.classList.add("MultiLine");title.innerText=data.title;var timeHolder=document.createElement('div');timeHolder.className="TimeHolder";timeHolder.innerText=startTime+" - "+endTime;eventItem.appendChild(timeHolder);} const[startH,startM]=startTime.split(':').map(Number);const[endH,endM]=endTime.split(':').map(Number);const hourHeight=60;const top=(startH+startM/60)*hourHeight+1;const height=((endH+endM/60)-(startH+startM/60))*hourHeight-3;const overlappingEvents=this.getOverlappingEvents(day,month,year,startH,startM);const overlapCount=overlappingEvents.length;const widthPerEvent="calc("+(100/(overlapCount+1))+"% - 4px)";eventItem.style.top=`${top}px`;eventItem.style.height=`${height}px`;eventItem.style.width=widthPerEvent;if(overlapCount>0){if(s[l].Direction=="ltr"){eventItem.style.left=`${overlapCount*(100/(overlapCount+1))}%`;}else{eventItem.style.right=`${overlapCount*(100/(overlapCount+1))}%`;}} weekViewDay.appendChild(eventItem);this.storeEvent(day,month,year,startH,startM,eventItem);this.updateEventWidths(day,month,year,startH,startM);eventItem.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.delegate.hideTitleBarMenu();this.delegate.hideMobileSidebarMenu();this.delegate.presentViewInDialog(CalendareventView,this.data);}.bind({delegate:this,eventItem:eventItem,data:data}));return eventItem;},getOverlappingEvents:function(day,month,year,startH,startM){const key=day+"_"+month+"_"+year;const dayEvents=this.weekViewDays[key].events||[];return dayEvents.filter(event=>{const eventStart=event.startTime;const[eventH,eventM]=eventStart.split(':').map(Number);return eventH===startH&&eventM===startM;});},storeEvent:function(day,month,year,startH,startM,eventItem){const key=day+"_"+month+"_"+year;if(!this.weekViewDays[key].events){this.weekViewDays[key].events=[];} this.weekViewDays[key].events.push({startTime:`${startH}:${startM}`,element:eventItem});},updateEventWidths:function(day,month,year,hour){const key=day+"_"+month+"_"+year;const dayEvents=this.weekViewDays[key].events||[];const overlappingEvents=dayEvents.filter(event=>{const[eventH,eventM]=event.startTime.split(':').map(Number);return eventH===hour;});const count=overlappingEvents.length;if(count===0)return;overlappingEvents.forEach((event,index)=>{const baseWidth=(100/count);event.element.style.boxSizing="border-box";event.element.style.width="calc("+baseWidth+"% - 2px)";var offset="0px";if(index>0)offset=(index*baseWidth)+"%";if(s[l].Direction=="ltr"){event.element.style.left=offset;event.element.style.right="auto";}else{event.element.style.right=offset;event.element.style.left="auto";}});},removeEvent:function(day,month,year,eventItem){const key=day+"_"+month+"_"+year;const dayEvents=this.weekViewDays[key].events||[];this.weekViewDays[key].events=dayEvents.filter(event=>event.element!==eventItem);eventItem.parentNode.removeChild(eventItem);this.updateEventWidths(day,month,year);},updateEventPosition:function(day,month,year,data){this.removeEvent(day,month,year,eventItem);this.addEventToWeekView(day,month,year,data);},buildDayView:function(day,month,year){this.currentViewType=this.CalendarViewTypes.DayView;this.weekViewDays=new Array();var view=document.createElement('div');view.className="CalendarView";this.currentView=view;this.buildAllDayRow(view);var dayCell=document.createElement('div');dayCell.className="AllDayDayCell";dayCell.style.width="100%";this.allDayEventsHolder.appendChild(dayCell);var dayView=document.createElement('div');dayView.className="DayView";view.appendChild(dayView);var timeline=document.createElement('div');timeline.className="Timeline";if(s[l].Direction=="rtl")timeline.classList.add("Timeline_rtl");dayView.appendChild(timeline);for(var i=0;i<24;i++){var timeItem=document.createElement('div');timeItem.className="TimeItem";timeItem.innerText=(i<10?"0":"")+i+":00";timeline.appendChild(timeItem);} var dayHolder=document.createElement('div');dayHolder.className="DayHolder";dayView.appendChild(dayHolder);dayHolder.addEventListener('mousemove',function(e){if(e.target!==dayHolder){this.getGhostEvent().style.display="none";return;} this.updateGhostPosition(dayHolder,e);}.bind(this));dayHolder.addEventListener('mouseleave',function(){this.getGhostEvent().style.display="none";}.bind(this));this.dayViewDay=dayHolder;this.weekViewDays[day+"_"+month+"_"+year]=dayHolder;var date=new Date(year,month-1,day);var weekDay=date.getDay();this.navigationBarDateHolderText.innerHTML=s[l].DaysOfWeek[weekDay]+", "+day+" "+s[l].MonthsOfYear[month-1].substring(0,3)+" "+year;var now=new Date();if(now.getDate()==this.calendarDay&&(now.getMonth()+1)==this.calendarMonth&&now.getFullYear()==this.calendarYear){this.currentTimeIndicator=document.createElement('div');this.currentTimeIndicator.className="CurrentTimeIndicator";this.currentTimeIndicatorText=document.createElement('div');this.currentTimeIndicatorText.className="CurrentTimeIndicatorText";this.currentTimeIndicator.appendChild(this.currentTimeIndicatorText);var hour=now.getHours();var minute=now.getMinutes();const hourHeight=60;this.currentTimeIndicatorText.innerText=(hour<10?"0"+hour:hour)+":"+(minute<10?"0"+minute:minute);this.currentTimeIndicator.style.top=(hour+minute/60)*hourHeight+"px";dayHolder.appendChild(this.currentTimeIndicator);if(s[l].Direction=="rtl")this.currentTimeIndicatorText.classList.add("CurrentTimeIndicatorText_rtl");} this.titleBarLayoutPickerMenuHolder.innerHTML="";this.titleBarLayoutPickerMenuHolder.appendChild(this.buildLayoutPickerMenu());dayHolder.addEventListener('click',function(e){if(e.target!==dayHolder)return;const rect=dayHolder.getBoundingClientRect();const y=e.clientY-rect.top;const hourHeight=60;const totalHours=y/hourHeight;const snappedHours=Math.floor(totalHours*2)/2;const startH=Math.floor(snappedHours);const startM=(snappedHours%1)*60;const selectedDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);selectedDate.setHours(startH,startM,0);const endDate=new Date(selectedDate);endDate.setHours(startH+1);this.hideTitleBarMenu();this.hideMobileSidebarMenu();this.presentViewInDialog(CalendareventeditorView,{start_time:selectedDate.getTime(),end_time:endDate.getTime(),title:""},false);}.bind(this));return view;},addEventToDayView:function(day,month,year,data){var eventItem=document.createElement('div');eventItem.className="Event";const isDeclined=(parseInt(data.is_invite)==1&&data.attendee_status==='declined')||(parseInt(data.is_external_invite)==1&&data.response_status==='declined');const isPending=(parseInt(data.is_invite)==1&&data.attendee_status==='pending')||(parseInt(data.is_external_invite)==1&&data.response_status==='pending');const isTentative=(parseInt(data.is_invite)==1&&(data.attendee_status==='tentative'||data.attendee_status==='maybe'))||(parseInt(data.is_external_invite)==1&&(data.response_status==='tentative'||data.response_status==='maybe'));if(isDeclined)eventItem.classList.add("Declined");else if(isPending)eventItem.classList.add("Pending");else if(isTentative){eventItem.classList.add("Tentative");eventItem.style.backgroundColor=this.eventCalendars["c_"+data.calendar_id].color;}else{eventItem.style.backgroundColor=this.eventCalendars["c_"+data.calendar_id].color;} var startTime=Date.getTimeString(data.start_time);var endTime=Date.getTimeString(data.end_time);var eventLength=Date.getTimeElapsedBetweenDates(data.end_time,data.start_time)/1000/60;var title=document.createElement('div');title.className="Title";eventItem.appendChild(title);if(eventLength<=30){title.innerText=startTime+", "+data.title;}else{title.classList.add("MultiLine");title.innerText=data.title;var timeHolder=document.createElement('div');timeHolder.className="TimeHolder";timeHolder.innerText=startTime+" - "+endTime;eventItem.appendChild(timeHolder);} const[startH,startM]=startTime.split(':').map(Number);const[endH,endM]=endTime.split(':').map(Number);const hourHeight=60;const top=(startH+startM/60)*hourHeight+2;const height=(((endH+endM/60)-(startH+startM/60))*hourHeight)-5;const overlappingEvents=this.getOverlappingEvents(day,month,year,startH,startM);const overlapCount=overlappingEvents.length;const widthPerEvent="calc("+(100/(overlapCount+1))+"% - 4px)";eventItem.style.top=`${top}px`;eventItem.style.height=`${height}px`;eventItem.style.width=widthPerEvent;if(overlapCount>0){const offset=(overlapCount*(100/(overlapCount+1)))+"%";if(s[l].Direction=="ltr"){eventItem.style.left=offset;}else{eventItem.style.right=offset;}} this.dayViewDay.appendChild(eventItem);this.storeEvent(day,month,year,startH,startM,eventItem);this.updateEventWidths(day,month,year,startH,startM);eventItem.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.delegate.hideTitleBarMenu();this.delegate.hideMobileSidebarMenu();this.delegate.presentViewInDialog(CalendareventView,this.data,false);}.bind({delegate:this,eventItem:eventItem,data:data}));return eventItem;},buildAllDayRow:function(view){var allDayRow=document.createElement('div');allDayRow.className="AllDayRow";var spacer=document.createElement('div');spacer.className="TimelineSpacer";spacer.innerText=s[l].CalendarViewAllDayRowTitleText;if(s[l].Direction=="rtl"){spacer.className+=" TimelineSpacer_rtl";} allDayRow.appendChild(spacer);var eventsHolder=document.createElement('div');eventsHolder.className="AllDayEventsHolder";this.allDayEventsHolder=eventsHolder;allDayRow.appendChild(eventsHolder);view.appendChild(allDayRow);},addAllDayEvent:function(day,month,year,event){if(!this.allDayEventsHolder)return null;if(this.currentView)this.currentView.classList.add("WithAllDay");if(!this.allDayLanes)this.allDayLanes=[];if(this.maxLaneUsed===undefined)this.maxLaneUsed=0;var startDate=Date.getAdjustedDatefromTimestamp(event.start_time);var endDate=Date.getAdjustedDatefromTimestamp(event.end_time);var evStart=startDate.getTime();var evEnd=endDate.getTime();var eventItem=document.createElement('div');eventItem.className="Event AllDayEvent";const isDeclined=(parseInt(event.is_invite)==1&&event.attendee_status==='declined')||(parseInt(event.is_external_invite)==1&&event.response_status==='declined');const isPending=(parseInt(event.is_invite)==1&&event.attendee_status==='pending')||(parseInt(event.is_external_invite)==1&&event.response_status==='pending');const isTentative=(parseInt(event.is_invite)==1&&(event.attendee_status==='tentative'||event.attendee_status==='maybe'))||(parseInt(event.is_external_invite)==1&&(event.response_status==='tentative'||event.response_status==='maybe'));if(isDeclined)eventItem.classList.add("Declined");else if(isPending)eventItem.classList.add("Pending");else if(isTentative){eventItem.classList.add("Tentative");eventItem.style.backgroundColor=this.eventCalendars["c_"+event.calendar_id].color;}else{eventItem.style.backgroundColor=this.eventCalendars["c_"+event.calendar_id].color;} var laneHeight=28;if(this.currentViewType==this.CalendarViewTypes.WeekView){var vStart=new Date(year,month-1,day);vStart.setDate(vStart.getDate()-vStart.getDay());vStart.setHours(0,0,0,0);var viewStart=vStart.getTime();var vEnd=new Date(vStart);vEnd.setDate(vEnd.getDate()+6);vEnd.setHours(23,59,59,999);var viewEnd=vEnd.getTime();if(evEndviewEnd)return null;var startCol=(evStartviewEnd)?6:endDayDate.getDay();var visibleSpan=(endCol-startCol)+1;var targetLane=0;while(true){if(!this.allDayLanes[targetLane])this.allDayLanes[targetLane]=new Array(7).fill(false);var isCollision=false;for(var i=startCol;i<(startCol+visibleSpan);i++){if(this.allDayLanes[targetLane][i]){isCollision=true;break;}} if(!isCollision){for(var i=startCol;i<(startCol+visibleSpan);i++){this.allDayLanes[targetLane][i]=true;} break;} targetLane++;} if(targetLane>this.maxLaneUsed)this.maxLaneUsed=targetLane;eventItem.innerHTML='
'+event.title+'
';var unit=100/7;if(s[l].Direction=="ltr"){eventItem.style.left=(startCol*unit)+"%";}else{eventItem.style.right=(startCol*unit)+"%";} eventItem.style.marginLeft="2px";eventItem.style.marginRight="2px";eventItem.style.width="calc("+(visibleSpan*unit)+"% - 24px)";eventItem.style.top=(targetLane*laneHeight)+"px";eventItem.style.height=(laneHeight-4)+"px";this.allDayEventsHolder.appendChild(eventItem);}else{eventItem.innerHTML='
'+event.title+'
';eventItem.style.position="relative";eventItem.style.marginLeft="2px";eventItem.style.marginRight="2px";eventItem.style.width="calc(100% - 24px)";eventItem.style.marginBottom="2px";eventItem.style.height=(laneHeight-4)+"px";this.allDayEventsHolder.appendChild(eventItem);this.maxLaneUsed=this.allDayEventsHolder.querySelectorAll('.AllDayEvent').length-1;} var totalHeight=((this.maxLaneUsed+1)*laneHeight+2);this.allDayEventsHolder.style.height=totalHeight+"px";eventItem.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.delegate.presentViewInDialog(CalendareventView,event,false);}.bind({delegate:this,event:event}));return eventItem;},onCalendarItemPressed:function(day,month,year,data=null){this.calendarDay=day;this.calendarMonth=month;this.calendarYear=year;this.calendarSelectedDate=new Date(year,month-1,day);this.sidebarMiniCalendar.setDate(day,month,year);this.navigationBarMiniCalendar.setDate(day,month,year);this.navigationBarDateHolderText.innerHTML=s[l].MonthsOfYear[month-1]+" "+year;},onLayoutPickerMenuItemSelected:function(layout){this.currentViewType=layout;this.calendarContainer.innerHTML="";switch(this.currentViewType){case this.CalendarViewTypes.MonthView:this.calendarContainer.appendChild(this.buildMonthView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.WeekView:this.calendarContainer.appendChild(this.buildWeekView(this.calendarDay,this.calendarMonth,this.calendarYear));break;case this.CalendarViewTypes.DayView:this.calendarContainer.appendChild(this.buildDayView(this.calendarDay,this.calendarMonth,this.calendarYear));break;} window.localStorage.setItem("CalendarViewType",this.currentViewType);this.getEvents();},daysInMonth:function(month,year){return new Date(year,month,0).getDate();},dayInMonth:function(day,month,year){return new Date(year+"/"+month+"/"+day).getDay();},weeksInMonth:function(month,year){var first=new Date(year,month,1);var last=new Date(year,month+1,0);var startOffset=first.getDay();var totalDays=last.getDate();return Math.ceil((startOffset+totalDays)/7);},populateCalendarView:function(data){this.allDayLanes=[];this.maxLaneUsed=0;if(this.allDayEventsHolder){this.allDayEventsHolder.style.height="30px";} if(this.allDayDayCells){for(var key in this.allDayDayCells){this.allDayDayCells[key].innerHTML="";}} if(this.monthViewDays){for(var key in this.monthViewDays){var dayItem=this.monthViewDays[key];if(dayItem.eventsHolder)dayItem.eventsHolder.innerHTML="";}} if(this.weekViewDays){for(var key in this.weekViewDays){var dayColumn=this.weekViewDays[key];dayColumn.innerHTML="";dayColumn.events=[];}} if(this.dayViewDay){this.dayViewDay.innerHTML="";var today=new Date();if(this.currentTimeIndicator&&this.calendarDay==today.getDate()&&this.calendarMonth==(today.getMonth()+1)&&this.calendarYear==today.getFullYear()){this.dayViewDay.appendChild(this.currentTimeIndicator);}} if(this.allDayEventsHolder){this.allDayEventsHolder.innerHTML="";if(this.currentViewType==this.CalendarViewTypes.WeekView){this.allDayEventsHolder.classList.add("WeekViewGrid");}else{this.allDayEventsHolder.classList.remove("WeekViewGrid");} if(this.currentView)this.currentView.classList.remove("WithAllDay");} this.updateCurrentTimeIndicator();this.eventCalendars={};this.calendarMenus=new Array();var calendars=data.calendars;var visibility=data.calendar_visiblity;this.sidebarCalendarListHolder.innerHTML="";this.sidebarCalendarListHolder.appendChild(this.buildCalendarList(calendars,visibility));this.mobileSidebarCalendarListHolder.innerHTML="";this.mobileSidebarCalendarListHolder.appendChild(this.buildCalendarList(calendars,visibility));if(data!=null&&data.events!=undefined&&data.events.length>0){var events=data.events.filter(function(event){var calendar=this.eventCalendars["c_"+event.calendar_id];return!(calendar&&calendar.isHidden==1);}.bind(this));events.sort(function(a,b){var isAllDayA=(a.all_day!=undefined&&parseInt(a.all_day)==1)?1:0;var isAllDayB=(b.all_day!=undefined&&parseInt(b.all_day)==1)?1:0;if(isAllDayA!==isAllDayB)return isAllDayB-isAllDayA;var timeA=new Date(a.start_time).getTime();var timeB=new Date(b.start_time).getTime();if(timeA!==timeB)return timeA-timeB;return(new Date(b.end_time).getTime()-timeB)-(new Date(a.end_time).getTime()-timeA);});for(var i=0;i(23*hourHeight))snappedTop=23*hourHeight;var formatTime=function(h){var hours=Math.floor(h);var minutes=(h%1)*60;return(hours<10?"0"+hours:hours)+":"+(minutes===0?"00":minutes);};var startTimeStr=formatTime(snappedHours);var endTimeStr=formatTime(snappedHours+1);this.ghostTimeLabel.innerText=startTimeStr+" - "+endTimeStr;ghost.style.top=snappedTop+"px";ghost.style.height=hourHeight+"px";ghost.style.display="flex";if(ghost.parentNode!==parent){parent.appendChild(ghost);}},getEvents:function(shouldScrollToCurrentHour=true){this.shouldScrollToCurrentHour=shouldScrollToCurrentHour;var startTime=new Date();var endTime=new Date();this.eventCalendars={};switch(this.currentViewType){case this.CalendarViewTypes.MonthView:var firstDayInMonth=new Date(this.calendarYear,this.calendarMonth-1,1,0,0,0);var daysInMonth=this.daysInMonth(this.calendarMonth-1,(this.calendarYear));var lastDay=new Date(this.calendarYear,this.calendarMonth-1,daysInMonth,0,0,0);startTime=Date.getServerAdjustedTimestampFromDate(firstDayInMonth);endTime=Date.getServerAdjustedTimestampFromDate(lastDay);break;case this.CalendarViewTypes.WeekView:var startDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);var weekday=startDate.getDay();var firstDay=new Date(startDate);firstDay.setDate(startDate.getDate()-weekday);var lastDay=new Date(firstDay);lastDay.setDate(firstDay.getDate()+7);startTime=Date.getServerAdjustedTimestampFromDate(firstDay);endTime=Date.getServerAdjustedTimestampFromDate(lastDay);break;case this.CalendarViewTypes.DayView:var startDate=new Date(this.calendarYear,this.calendarMonth-1,this.calendarDay);var endDate=new Date(startDate);endDate.setDate(startDate.getDate()+1);startTime=Date.getServerAdjustedTimestampFromDate(startDate);endTime=Date.getServerAdjustedTimestampFromDate(endDate);break;} this.getCalendarEvents(startTime,endTime);},onCreateEventButtonPressed:function(){this.presentViewInDialog(CalendareventeditorView,null,false);},onCreateCalendarButtonPressed:function(){this.presentViewInDialog(CalendareditorView,null,false);},presentViewInDialog:function(view,data=null,animation){if(this.presentedView!=null){this.presentedView.stop();this.presentedView=null;} this.popupContainerInnerHolder.innerHTML="";this.presentedView=view;this.presentedView._init(this);var viewHolder=this.presentedView.load();this.popupContainerInnerHolder.appendChild(viewHolder);this.presentedView.start(data);if(animation==true){this.popupContainer.style.display="block";this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);}else{this.popupContainerInnerHolder.style.top="0px";this.popupContainer.style.display="block";}},dismissDialog:function(){if(this.presentedView!=null){this.presentedView.stop();this.presentedView=null;} this.popupContainer.style.display="none";this.popupContainerInnerHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";},onDismissDialogView:function(){this.dismissDialog();this.getEvents(false);},refreshLayout:function(){this.onLayoutPickerMenuItemSelected(this.currentViewType);},getCalendarEvents:function(startTime,endTime){var request=new NetworkRequest();var params="start_time="+startTime+"&end_time="+endTime;request.postRequest(Globals.ServicesURL.getCalendarEventsURL,params,function(responseData){this.onGetCalendarEventsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCalendarEventsFailed(statusCode,errorMessage)}.bind(this));},setCalendarVisibility:function(calendarID,isHidden){var request=new NetworkRequest();var params="calendar_id="+calendarID+"&is_hidden="+isHidden;request.postRequest(Globals.ServicesURL.setCalendarVisibilityURL,params,function(responseData){this.onSetCalendarVisibilitySuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetCalendarVisibilityFailed(statusCode,errorMessage)}.bind(this));},setCalendarColor:function(calendarID,color){var request=new NetworkRequest();var params="calendar_id="+calendarID+"&color="+color;request.postRequest(Globals.ServicesURL.setCalendarColorURL,params,function(responseData){this.onSetCalendarColorSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetCalendarColorFailed(statusCode,errorMessage)}.bind(this));},onGetCalendarEventsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateCalendarView(data);},onGetCalendarEventsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSetCalendarVisibilitySuccess:function(responseData){this.getEvents(false);},onSetCalendarVisibilityFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSetCalendarColorSuccess:function(responseData){var data=JSON.parse(responseData);this.getEvents(false);},onSetCalendarVisibilityFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},});var CalendareditorView=JS.subClass(JSAppView,{name:"CalendareditorView",title:"Daily Report - Calendar editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,cid:null,sharedUsers:[],sharedDepartments:[],sharedTeams:[],allMenus:new Array(),init:function(){this.domViewId="CalendareditorView";this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.calendarForm=document.createElement('div');this.calendarForm.className="EventForm";this.shareSettingsDialogContainer=document.createElement('div');this.shareSettingsDialogContainer.className="ShareSettingsDialogContainer";},create:function(domView){domView.id=this.domViewId;this.titleBarText.innerHTML=s[l].CalendareditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"calendar_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.formHolder.appendChild(this.calendarForm);this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.innerHolder);domView.appendChild(this.shareSettingsDialogContainer);this.shareSettingsDialog=new ShareSettingsDialog(this.shareSettingsDialogContainer,this);if(s[l].Direction=="rtl"){domView.classList.add("rtl");}else{domView.classList.remove("rtl");}},start:function(data=null){this.shareSettingsDialog.dismiss();if(data!=null&&data.cid!=undefined){this.cid=data.cid;this.getCaledarDetails(this.cid);}else{this.cid=null;this.buildCalendarDetailsForm(null);}},stop:function(){this.calendarForm.innerHTML="";},buildTitleBarMenu:function(){var menuStrings=s[l].CalendareditorViewTitleBarMenu;var items=[{title:menuStrings.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"new"},{title:menuStrings.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"save"},{title:menuStrings.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"delete"},{title:menuStrings.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"dismiss"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');for(var i=0;i0){list.forEach(function(item){var first=item[labelKey]?item[labelKey]:"";var last=item.lastname?" "+item.lastname:"";container.appendChild(this.renderInternalInviteeItem(first+last,item[iconKey]));}.bind(this));}else{container.appendChild(this.renderInternalInviteeItem(emptyText,null));}},renderInternalInviteeItem:function(title,iconUrl=null){var item=document.createElement('div');item.className="Item";if(iconUrl!=null){var icon=document.createElement('div');icon.className="ProfilePicture";icon.style.backgroundImage="url('"+iconUrl+"')";item.appendChild(icon);} var name=document.createElement('div');name.className="Name";name.innerText=title;item.appendChild(name);return item;},presentShareDialog:function(){this.shareSettingsDialog.present(this.cid,this.sharedUsers,this.sharedDepartments,this.sharedTeams);this.shareSettingsDialogContainer.style.display="block";},onShareSettingsDialogUpdateWithExpandedData:function(resourceID,accessRights){this.sharedUsers=accessRights.users;this.sharedDepartments=accessRights.departments;this.sharedTeams=accessRights.teams;this.refreshSharingTables();},parseAccessRightsUIDs:function(list){var ids=[];for(var i in list){var item=list[i];if(item.uid!=undefined&&(item.is_owner==undefined||parseInt(item.is_owner)==0))ids.push(parseInt(item.uid));else if(item.did!=undefined)ids.push(parseInt(item.did));else if(item.tid!=undefined)ids.push(parseInt(item.tid));} return ids;},new:function(){this.cid=null;this.buildCalendarDetailsForm(null);},save:function(){var eventData={cid:this.cid,title:this.calendarTitleInput.value,description:this.calendarDescriptionInput.value,read_only:this.readOnlyCheckbox.checked?1:0,is_externally_available:this.externalCheckbox.checked?1:0,shared_with_users:this.parseAccessRightsUIDs(this.sharedUsers),shared_with_departments:this.parseAccessRightsUIDs(this.sharedDepartments),shared_with_teams:this.parseAccessRightsUIDs(this.sharedTeams)};if(this.cid==null)this.createCalendar(eventData);else this.editCalendar(eventData);},delete:function(){if(this.cid==null)return;var alert=s[l].CalendareditorViewDeleteAlert;Alert.present(alert.Title,alert.Body,alert.Confirm,alert.Cancel,function(btn){if(btn==1)this.deleteCalendar(this.cid);}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},getCaledarDetails:function(cid){var request=new NetworkRequest();request.postRequest(Globals.ServicesURL.getCalendarDetailsURL,"cid="+cid,function(responseData){this.onGetCalendarDetailsSuccess(responseData)}.bind(this),function(){}.bind(this));},createCalendar:function(data){var request=new NetworkRequest();var params="data="+encodeURIComponent(JSON.stringify(data));request.postRequest(Globals.ServicesURL.createCalendarURL,params,function(responseData){this.onCreateCalendarSuccess(responseData)}.bind(this),function(error){this.onCreateCalendarFailed(error)}.bind(this));},editCalendar:function(data){var request=new NetworkRequest();var params="data="+encodeURIComponent(JSON.stringify(data));request.postRequest(Globals.ServicesURL.editCalendarURL,params,function(responseData){this.onEditCalendarSuccess(responseData)}.bind(this),function(error){this.onEditCalendarFailed(error)}.bind(this));},deleteCalendar:function(cid){var request=new NetworkRequest();request.postRequest(Globals.ServicesURL.deleteCalendarURL,"cid="+cid,function(responseData){this.onDeleteCalendarSuccess(responseData)}.bind(this),function(error){this.onDeleteCalendarFailed(error)}.bind(this));},onGetCalendarDetailsSuccess:function(responseData){try{var data=JSON.parse(responseData);this.buildCalendarDetailsForm(data);}catch(e){console.error("Failed to parse calendar data",e);}},onCreateCalendarSuccess:function(responseData){this.dismiss();},onCreateCalendarFailed:function(error){},onEditCalendarSuccess:function(responseData){this.dismiss();},onEditCalendarFailed:function(error){},onDeleteCalendarSuccess:function(responseData){this.dismiss();},onDeleteCalendarFailed:function(error){}});var CalendareventView=JS.subClass(JSAppView,{name:"CalendareventView",title:"Daily Report - Event",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,eid:null,creator:null,startupData:null,isRecurring:false,originalInstanceDate:null,invitedUsers:[],invitedDepartments:[],invitedTeams:[],invitedEmails:[],allMenus:new Array(),TEXTAREA_MAX_LENGTH:512,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.eventForm=document.createElement('div');this.eventForm.className="EventForm";this.formHeader=document.createElement('div');this.formHeader.className="FormHeaderRow";this.responseDropdown=document.createElement('div');this.responseDropdown.className="ResponseDropdown";this.responseStatusDisplay=document.createElement('div');this.responseStatusDisplay.className="StatusDisplay";this.responseDropdownArrow=document.createElement('div');this.responseDropdownArrow.className="DropdownArrow";this.responseDropdownMenu=document.createElement('div');this.responseDropdownMenu.className="ResponseMenu";this.responseDropdown.appendChild(this.responseStatusDisplay);this.responseDropdown.appendChild(this.responseDropdownArrow);this.responseDropdown.appendChild(this.responseDropdownMenu);this.responseDropdown.addEventListener('click',function(e){e.stopPropagation();this.responseDropdownMenu.style.display=(this.responseDropdownMenu.style.display=="block")?"none":"block";}.bind(this));this.formHeader.appendChild(this.responseDropdown);this.formHeaderSpace=document.createElement('div');this.formHeaderSpace.className="FormHeaderSpace";this.formHeader.appendChild(this.formHeaderSpace);this.formHeaderButtonsHolder=document.createElement('div');this.formHeaderButtonsHolder.className="FormHeaderButtonsHolder";this.formHeader.appendChild(this.formHeaderButtonsHolder);this.formHeaderEditButton=document.createElement('div');this.formHeaderEditButton.className="EditButton";this.formHeaderEditButton.addEventListener("click",function(){this.edit();}.bind(this));this.formHeaderCloseButton=document.createElement('div');this.formHeaderCloseButton.className="CloseButton";this.formHeaderCloseButton.addEventListener("click",function(){this.dismiss();}.bind(this));this.formHeaderButtonsHolder.appendChild(this.formHeaderEditButton);this.formHeaderButtonsHolder.appendChild(this.formHeaderCloseButton);this.shareSettingsDialogContainer=document.createElement('div');this.shareSettingsDialogContainer.className="ShareSettingsDialogContainer";},create:function(domView){this.titleBarText.innerHTML=s[l].CalendareventViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"calendar_event_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);this.formHolder.appendChild(this.formHeader);this.formHolder.appendChild(this.eventForm);this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.innerHolder);domView.appendChild(this.shareSettingsDialogContainer);this.shareSettingsDialog=new ShareSettingsDialog(this.shareSettingsDialogContainer,this);if(s[l].Direction=="rtl"){this.innerHolder.classList.add("rtl");this.shareSettingsDialogContainer.classList.add("rtl");}else{this.innerHolder.classList.remove("rtl");this.shareSettingsDialogContainer.classList.remove("rtl");}},start:function(data=null){this.eid=null;this.isRecurring=false;this.startupData=null;if(data!=null){this.startupData=data;if(data.event_id!=undefined){this.eid=data.event_id;var targetDate=data.start_time?data.start_time:null;if(data.rrule)this.isRecurring=true;this.getEventDetails(data.event_id,targetDate);}}},stop:function(){this.eid=null;this.cid=null;this.isRecurring=false;this.startupData=null;this.eventForm.innerHTML="";this.responseDropdown.style.display="none";},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(data){var items=[{title:s[l].CalendareventViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"CalendareventView.new();"}];if(data.can_edit&&parseInt(data.can_edit)==1){items.push({title:s[l].CalendareventViewTitleBarMenu.EditButtonTitleText,icon:"/assets/images/icons/edit_document_black.svg",action:"CalendareventView.edit();"});items.push({title:s[l].CalendareventViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"CalendareventView.delete();"});}else if((data.is_invite&&parseInt(data.is_invite)==1)||(data.is_external_invite&&parseInt(data.is_external_invite)==1)){items.push({title:s[l].CalendareventViewTitleBarMenu.RejectButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"CalendareventView.reject();"});} items.push({title:s[l].CalendareventViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"CalendareventView.dismiss();"});this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');items.forEach(function(item){var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('"+item.icon+"')";var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=item.title;titleMenuItem.appendChild(titleMenuItemIcon);titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){eval(this.action);}.bind(item));this.titleBarMenu.appendChild(titleMenuItem);}.bind(this));return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},buildEventDetailsForm:function(data=null){if(data.can_edit!=undefined&&parseInt(data.can_edit)==1){this.formHeaderEditButton.style.display="inline-block";}else{this.formHeaderEditButton.style.display="none";} var currentStatus='pending';if(data.is_external_invite==1){if(data.is_override&&data.status){currentStatus=data.status;}else{currentStatus=data.response_status||'pending';}}else if(data.is_invite==1){currentStatus=data.attendee_status||'pending';} data.attendee_status=currentStatus;if(this.acceptInviteButton)this.acceptInviteButton.classList.remove("Active");if(this.tentativeInviteButton)this.tentativeInviteButton.classList.remove("Active");if(this.declinedInviteButton)this.declinedInviteButton.classList.remove("Active");this.responseDropdown.style.display="none";this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(data));this.eid=data.event_id;this.eventForm.innerHTML="";var isInvitee=(parseInt(data.is_invite)==1||parseInt(data.is_external_invite)==1);if((parseInt(data.is_invite)==1||(parseInt(data.is_external_invite)==1&&parseInt(data.is_owner)==1))&&(data.attendee_status!=='pending'||data.is_override)){this.responseDropdown.style.display="inline-block";this.responseDropdownMenu.innerHTML="";if(data.attendee_status==='pending'){this.responseStatusDisplay.innerText=s[l].CalendareventViewStatusPending;} var options=[{id:1,text:s[l].CalendareventViewResponseGoing,slug:'accepted'},{id:2,text:s[l].CalendareventViewResponseMaybe,slug:'tentative'},{id:3,text:s[l].CalendareventViewResponseNotGoing,slug:'declined'}];options.forEach(function(opt){var item=document.createElement('div');item.className="MenuItem";item.innerText=opt.text;if(currentStatus===opt.slug){this.responseStatusDisplay.innerText=opt.text;item.style.fontWeight="bold";} item.addEventListener('click',function(e){e.stopPropagation();var isExternal=(data.is_external_invite==1);this.responseStatusDisplay.innerText=opt.text;this.responseDropdown.className="ResponseDropdown "+opt.slug;Array.from(this.responseDropdownMenu.children).forEach(el=>el.style.fontWeight="normal");item.style.fontWeight="bold";if(this.acceptInviteButton)this.acceptInviteButton.classList.toggle("Active",opt.id===1);if(this.tentativeInviteButton)this.tentativeInviteButton.classList.toggle("Active",opt.id===2);if(this.declinedInviteButton)this.declinedInviteButton.classList.toggle("Active",opt.id===3);var targetDate=data.original_date?data.original_date:data.start_time;this.promptStatusUpdate(opt.id,data.event_id,targetDate,this.cid,isExternal);this.responseDropdownMenu.style.display="none";}.bind(this));this.responseDropdownMenu.appendChild(item);}.bind(this));this.responseDropdown.className="ResponseDropdown "+(data.attendee_status||"");}else{this.responseDropdown.style.display="none";} var shouldShowHeader=((data.is_invite||data.is_external_invite)&&data.attendee_status==='pending'&&!data.is_override);if(shouldShowHeader){this.ownerHeader=document.createElement("div");this.ownerHeader.className="OwnerHeader";this.ownerProfilePicture=document.createElement("div");this.ownerProfilePicture.className="ProfilePicutre";if(data.creator_profile_picture){this.ownerProfilePicture.style.backgroundImage="url('"+data.creator_profile_picture+"')";}else{this.ownerProfilePicture.style.backgroundColor="var(--color-scheme-gray-l2--)";} this.ownerName=document.createElement("div");this.ownerName.className="Name";this.ownerName.innerText=data.creator_firstname+" "+data.creator_lastname+" "+s[l].CalendareventViewInvitationHeaderText+":";this.ownerHeader.appendChild(this.ownerProfilePicture);this.ownerHeader.appendChild(this.ownerName);this.eventForm.appendChild(this.ownerHeader);this.responseButtonsRow=document.createElement("div");this.responseButtonsRow.className="ResponseButtonsRow";var responses=[{id:1,text:s[l].CalendareventViewResponseGoing,slug:'accepted'},{id:2,text:s[l].CalendareventViewResponseMaybe,slug:'tentative'},{id:3,text:s[l].CalendareventViewResponseNotGoing,slug:'declined'}];responses.forEach(function(resp){var btn=document.createElement("div");btn.className="ResponseButton";btn.innerText=resp.text;switch(resp.id){case 1:this.acceptInviteButton=btn;break;case 2:this.tentativeInviteButton=btn;break;case 3:this.declinedInviteButton=btn;break;} if(currentStatus===resp.slug){btn.classList.add("Active");} btn.addEventListener("click",function(){var statusId=this.resp.id;var eventId=data.event_id;var isExternal=(data.is_external_invite==1);if(isExternal){var slugs={1:'accepted',2:'tentative',3:'declined'};this.delegate.updateExternalInvitationStatus(slugs[statusId],eventId,null);}else{this.delegate.updateInvitationStatus(statusId,eventId,null,this.delegate.cid);} this.delegate.ownerHeader.style.display="none";}.bind({delegate:this,resp:resp}));this.responseButtonsRow.appendChild(btn);}.bind(this));this.ownerHeader.appendChild(this.responseButtonsRow);} this.eventTitle=document.createElement("div");this.eventTitle.className="EventTitle";if(data!=null&&data.title!=undefined)this.eventTitle.innerText=data.title;this.eventForm.appendChild(this.eventTitle);var startTime=Date.getAdjustedDatefromTimestamp(data.start_time);var endTime=Date.getAdjustedDatefromTimestamp(data.end_time);var isSameDay=(startTime.toDateString()===endTime.toDateString());var timeString="";var startStr=s[l].DaysOfWeek[startTime.getDay()]+", "+s[l].MonthsOfYear[startTime.getMonth()]+" "+startTime.getDate()+" "+startTime.getFullYear()+" @ "+startTime.getHours().toString().padStart(2,'0')+":"+startTime.getMinutes().toString().padStart(2,'0');if(isSameDay){timeString=startStr+" - "+endTime.getHours().toString().padStart(2,'0')+":"+endTime.getMinutes().toString().padStart(2,'0');}else{var endStr=s[l].DaysOfWeek[endTime.getDay()]+", "+s[l].MonthsOfYear[endTime.getMonth()]+" "+endTime.getDate()+" "+endTime.getFullYear()+" @ "+endTime.getHours().toString().padStart(2,'0')+":"+endTime.getMinutes().toString().padStart(2,'0');timeString=startStr+" - "+endStr;} this.eventTime=document.createElement("div");this.eventTime.className="EventTime";this.eventTime.innerText=timeString;this.eventForm.appendChild(this.eventTime);this.recurrenceRule=document.createElement("div");this.recurrenceRule.className="RecurrenceRule";if(data.rrule){var rruleText="";var parts={};data.rrule.split(';').forEach(function(part){var kv=part.split('=');if(kv.length==2)parts[kv[0]]=kv[1];});if(parts.FREQ==="DAILY"){rruleText=s[l].CalendareventViewRecurrenceDailyText;}else if(parts.FREQ==="WEEKLY"){var days=parts.BYDAY?parts.BYDAY.split(','):[];var dayNames=days.map(function(d){var dayMap={'SU':0,'MO':1,'TU':2,'WE':3,'TH':4,'FR':5,'SA':6};return s[l].DaysOfWeek[dayMap[d]];});rruleText=s[l].CalendareventViewRecurrenceWeeklyText+" "+dayNames.join(', ');}else if(parts.FREQ==="MONTHLY"){rruleText=s[l].CalendareventViewRecurrenceMonthlyText;}else if(parts.FREQ==="YEARLY"){rruleText=s[l].CalendareventViewRecurrenceYearlyText;} if(parts.UNTIL){var u=parts.UNTIL;var uYear=parseInt(u.substring(0,4));var uMonth=parseInt(u.substring(4,6))-1;var uDay=parseInt(u.substring(6,8));var untilDate=new Date(uYear,uMonth,uDay);var formattedUntil=s[l].DaysOfWeek[untilDate.getDay()]+" "+s[l].MonthsOfYear[untilDate.getMonth()]+" "+uDay+", "+uYear;rruleText+=". "+s[l].CalendareventViewRecurrenceEndDateTitleText+" "+formattedUntil;} this.recurrenceRule.innerText=rruleText;this.eventForm.appendChild(this.recurrenceRule);} if(data!=null&&data.description!=undefined&&data.description!=null&&data.description.length>0){var descriptionTitle=document.createElement('div');descriptionTitle.className="Title WithTopMargin";descriptionTitle.innerText=s[l].CalendareventViewEventDescriptionTitleText+":";this.eventForm.appendChild(descriptionTitle);this.description=document.createElement('div');this.description.className="Description";this.description.innerHTML=data.description;this.eventForm.appendChild(this.description);} if(data.location&&data.location.trim().length>0){var locationTitle=document.createElement("div");locationTitle.className="Title WithNavigateButton";if(data.description==null&&data.description.length==0)locationTitle.classList.add("WithTopMargin");locationTitle.innerHTML=s[l].CalendareventViewEventLocationTitleText+":";this.eventForm.appendChild(locationTitle);var navigateButton=document.createElement("div");navigateButton.className="NavigateButton";if(data.location&&data.location.includes("meet.google.com"))navigateButton.innerText=s[l].CalendareventViewJoinButtonText;else navigateButton.innerText=s[l].CalendareventViewNavigateButtonText;this.eventForm.appendChild(navigateButton);navigateButton.addEventListener("click",function(){var url="";if(this.data.place_id){url="https://www.google.com/maps/search/?api=1&query="+encodeURIComponent(this.data.location)+"&query_place_id="+this.data.place_id;}else if(this.data.location&&this.data.location.includes("meet.google.com")){var match=this.data.location.match(/href=['"]([^'"]+)['"]/);if(match&&match[1])url=match[1];}else{url="https://www.google.com/maps/search/?api=1&query="+encodeURIComponent(this.data.location);} window.open(url,'_blank');}.bind({data:data,navigateButton:navigateButton}));var locationRow=document.createElement("div");locationRow.className="LocationRow";var locationIcon=document.createElement("div");locationIcon.className="LocationIcon";locationRow.appendChild(locationIcon);var locationText=document.createElement("div");locationText.className="LocationText";locationText.innerHTML=data.location;locationRow.appendChild(locationText);this.eventForm.appendChild(locationRow);} if(parseInt(data.is_owner)==1){this.remindersTitle=document.createElement("div");this.remindersTitle.className="Title WithTopMargin";this.remindersTitle.innerHTML=s[l].CalendareventViewRemindersTitleInputTitle+":";this.eventForm.appendChild(this.remindersTitle);this.eventForm.appendChild(this.buildRemindersDropdownList(data));} this.calendarTitle=document.createElement("div");this.calendarTitle.className="Title WithTopMargin";this.calendarTitle.innerHTML=s[l].CalendareventeditorViewCalendarTitleInputTitle+":";this.eventForm.appendChild(this.calendarTitle);this.eventForm.appendChild(this.buildCalendarDropdownList(data));this.attendees=data.attendees||[];this.attendees.sort(function(a,b){if((b.is_organizer||0)!==(a.is_organizer||0)){return(b.is_organizer||0)-(a.is_organizer||0);} var aPending=(a.status==='pending'?1:0);var bPending=(b.status==='pending'?1:0);if(aPending!==bPending){return aPending-bPending;} var nameA=(a.firstname||a.email||"").toLowerCase();var nameB=(b.firstname||b.email||"").toLowerCase();return nameA.localeCompare(nameB);});this.inviteRow=document.createElement('div');this.inviteRow.className="InviteRow";this.eventForm.appendChild(this.inviteRow);var inviteTitle=document.createElement('div');inviteTitle.className="InviteeTitle";inviteTitle.innerText=s[l].CalendareventViewAttendeesTitleText+" ("+this.attendees.length+"):";this.inviteRow.appendChild(inviteTitle);this.expandAttendeesButton=document.createElement('div');this.expandAttendeesButton.className="ExpandInviteButton";this.expandAttendeesButton.innerText=s[l].CalendareventViewExpandAttendeesButtonShowTitleText;this.expandAttendeesButton.addEventListener('click',function(){if(this.attendeesHolder.style.display=="block"){this.attendeesHolder.style.display="none";this.expandAttendeesButton.innerText=s[l].CalendareventViewExpandAttendeesButtonShowTitleText;}else{this.attendeesHolder.style.display="block";this.expandAttendeesButton.innerText=s[l].CalendareventViewExpandAttendeesButtonHideTitleText;}}.bind(this));this.inviteRow.appendChild(this.expandAttendeesButton);this.attendeesHolder=document.createElement('div');this.attendeesHolder.className="AttendeesHolder";this.eventForm.appendChild(this.attendeesHolder);this.attendeesTable=document.createElement('div');this.attendeesTable.className="ShareTable";this.attendeesHolder.appendChild(this.attendeesTable);if(this.attendees.length>0){this.attendees.forEach(function(person){var displayName=person.is_external?person.email:(person.firstname+" "+person.lastname);var item=this.renderInviteeItem(displayName,person.profile_picture,person.status,person.is_organizer);this.attendeesTable.appendChild(item);}.bind(this));}else{this.inviteRow.style.display="none";}},renderInviteeItem:function(title,iconUrl=null,status='pending',isOrganizer=false){var item=document.createElement('div');item.className="Item";var icon=document.createElement('div');icon.className="ProfilePicture";if(iconUrl){icon.style.backgroundImage="url('"+iconUrl+"')";}else{icon.style.backgroundColor="var(--color-scheme-gray-l2--)";icon.innerText=title.charAt(0).toUpperCase();icon.style.textAlign="center";icon.style.lineHeight="30px";icon.style.fontSize="12px";icon.style.color="#ffffff";} item.appendChild(icon);var name=document.createElement('div');name.className="Name";name.innerText=title;item.appendChild(name);var statusLabel=document.createElement('div');statusLabel.className="StatusLabel "+(isOrganizer?"organizer":status);var statusText="";if(isOrganizer){statusText=s[l].CalendareventViewStatusOrganizer;}else{switch(status){case'accepted':statusText=s[l].CalendareventViewStatusAccepted;break;case'tentative':statusText=s[l].CalendareventViewStatusTentative;break;case'declined':statusText=s[l].CalendareventViewStatusDeclined;break;default:statusText=s[l].CalendareventViewStatusPending;break;}} statusLabel.innerText=statusText;item.appendChild(statusLabel);return item;},buildRemindersDropdownList:function(data){var currentReminders=data.reminders;this.remindersSelectionDropdown=document.createElement('div');this.remindersSelectionDropdown.className="RemindersSelectionDropdown";this.remindersHolder=document.createElement('div');this.remindersHolder.className="RemindersHolder";this.remindersSelectionDropdown.appendChild(this.remindersHolder);this.remindersIcon=document.createElement('div');this.remindersIcon.className="RemindersIcon";this.remindersIcon.style.backgroundImage="url('/assets/images/icons/alarm_black.svg')";this.remindersHolder.appendChild(this.remindersIcon);this.remindersName=document.createElement('div');this.remindersName.className="RemindersName";this.remindersHolder.appendChild(this.remindersName);this.remindersMenu=document.createElement('div');this.remindersMenu.className="RemindersMenu";this.remindersSelectionDropdown.appendChild(this.remindersMenu);var reminderOptions=[{minutes:null,text:s[l].CalendareventViewRemindersDropdownNone},{minutes:1440,text:s[l].CalendareventViewRemindersDropdown1Day},{minutes:60,text:s[l].CalendareventViewRemindersDropdown1Hour},{minutes:30,text:s[l].CalendareventViewRemindersDropdown30Mins},{minutes:15,text:s[l].CalendareventViewRemindersDropdown15Mins},{minutes:1,text:s[l].CalendareventViewRemindersDropdown1Min}];var selectedMins=null;if(currentReminders&¤tReminders!=="[]"&¤tReminders!=="null"){try{var parsed=(typeof currentReminders==='string')?JSON.parse(currentReminders):currentReminders;if(Array.isArray(parsed)&&parsed.length>0&&parsed[0].minutes!==undefined){selectedMins=parseInt(parsed[0].minutes);}}catch(e){selectedMins=null;}} this.remindersName.innerHTML=reminderOptions[0].text;reminderOptions.forEach(function(opt){if(selectedMins===opt.minutes){this.remindersName.innerHTML=opt.text;} var menuItem=document.createElement('div');menuItem.className="MenuItem";menuItem.innerHTML=opt.text;this.remindersMenu.appendChild(menuItem);menuItem.addEventListener('click',function(){var minutes=this.opt.minutes;var text=this.opt.text;var targetDate=data.original_date?data.original_date:data.start_time;this.delegate.promptReminderUpdate(minutes,text,this.data.event_id,targetDate);this.delegate.remindersMenu.style.display="none";}.bind({delegate:this,opt:opt,data:data}));}.bind(this));this.remindersHolder.addEventListener('click',function(){this.remindersMenu.style.display=(this.remindersMenu.style.display==="block")?"none":"block";}.bind(this));return this.remindersSelectionDropdown;},buildCalendarDropdownList:function(data){var calendars=data.calendars||[];var myUID=parseInt(Application.sessionManager.sessionData.uid);var isOwner=(data.is_owner!=undefined&&parseInt(data.is_owner)==1);var isInvite=((data.is_invite!=undefined&&parseInt(data.is_invite)==1)||(data.is_external_invite!=undefined&&parseInt(data.is_external_invite)==1));var incomingCid=parseInt(data.calendar_id)||0;this.calendarSelectionDropdown=document.createElement('div');this.calendarSelectionDropdown.className="CalendarSelectionDropdown";this.calendarsHolder=document.createElement('div');this.calendarsHolder.className="CalendarsHolder";this.calendarSelectionDropdown.appendChild(this.calendarsHolder);this.calendarIcon=document.createElement('div');this.calendarIcon.className="CalendarIcon";this.calendarsHolder.appendChild(this.calendarIcon);this.calendarName=document.createElement('div');this.calendarName.className="CalendarName";this.calendarsHolder.appendChild(this.calendarName);this.calendarArrow=document.createElement('div');this.calendarArrow.className="Arrow";this.calendarsHolder.appendChild(this.calendarArrow);this.calendarMenu=document.createElement('div');this.calendarMenu.className="CalendarMenu";this.calendarSelectionDropdown.appendChild(this.calendarMenu);if(!isOwner&&!isInvite){this.calendarSelectionDropdown.classList.add("Disabled");this.calendarArrow.style.display="none";var currentCal=calendars.find(c=>parseInt(c.cid)===incomingCid);if(currentCal){this.calendarName.innerHTML=currentCal.title;} return this.calendarSelectionDropdown;} var myDefaultCalendar=null;var currentCidIsMine=false;for(var i=0;i0&&calId===incomingCid&&isCalOwnedByMe){currentCidIsMine=true;} if(isCalOwnedByMe){var menuItem=document.createElement('div');menuItem.className="MenuItem";menuItem.innerHTML=calendar.title;var colorDot=document.createElement('div');colorDot.className="ColorDot";colorDot.style.backgroundColor=calendar.color;menuItem.prepend(colorDot);menuItem.addEventListener('click',function(){this.delegate.calendarName.innerHTML=this.data.title;this.delegate.calendarIcon.style.backgroundColor=this.data.color;this.delegate.onCalendarSelected(this.data);this.delegate.calendarMenu.style.display="none";}.bind({delegate:this,data:calendar}));this.calendarMenu.appendChild(menuItem);}} var selectedCal=(currentCidIsMine)?calendars.find(c=>parseInt(c.cid)===incomingCid):myDefaultCalendar;if(selectedCal){this.cid=selectedCal.cid;this.calendarName.innerHTML=selectedCal.title;this.calendarIcon.style.backgroundColor=selectedCal.color;this.selectedCalendar=selectedCal;} this.calendarsHolder.addEventListener('click',function(){this.calendarMenu.style.display=(this.calendarMenu.style.display=="block")?"none":"block";}.bind(this));return this.calendarSelectionDropdown;},onCalendarSelected:function(calendar){this.cid=calendar.cid;this.updateEventCalendar(this.eid,this.cid);},promptReminderUpdate:function(minutes,text,eventId,targetDate){if(!this.isRecurring){this.setEventReminder(eventId,minutes,null);this.remindersName.innerHTML=text;this.selectedReminderMinutes=minutes;return;} Alert.present(s[l].CalendareventViewReminderUpdateAlert.Title,s[l].CalendareventViewReminderUpdateAlert.Body,s[l].CalendareventViewReminderUpdateAlert.Button1Title,s[l].CalendareventViewReminderUpdateAlert.Button2Title,function(buttonPressed){var finalDate=(buttonPressed==1)?targetDate:null;this.setEventReminder(eventId,minutes,finalDate);this.remindersName.innerHTML=text;this.selectedReminderMinutes=minutes;}.bind(this));},promptStatusUpdate:function(statusId,eventId,targetDate,calendarId,isExternal=false){if(!this.isRecurring){if(isExternal){var slugs={1:'accepted',2:'tentative',3:'declined'};this.updateExternalInvitationStatus(slugs[statusId],eventId,null);}else{this.updateInvitationStatus(statusId,eventId,null,calendarId);} return;} Alert.present(s[l].CalendareventViewStatusUpdateAlert.Title,s[l].CalendareventViewStatusUpdateAlert.Body,s[l].CalendareventViewStatusUpdateAlert.Button1Title,s[l].CalendareventViewStatusUpdateAlert.Button2Title,function(buttonPressed){var finalDate=(buttonPressed==1)?targetDate:null;if(isExternal){var slugs={1:'accepted',2:'tentative',3:'declined'};this.updateExternalInvitationStatus(slugs[statusId],eventId,finalDate);}else{this.updateInvitationStatus(statusId,eventId,finalDate,calendarId);}}.bind(this));},edit:function(){if(this.delegate!=null&&this.delegate.presentViewInDialog!=undefined)this.delegate.presentViewInDialog(CalendareventeditorView,this.startupData,false);},new:function(){if(this.delegate!=null&&this.delegate.presentViewInDialog!=undefined)this.delegate.presentViewInDialog(CalendareventeditorView,null,false);},delete:function(){if(this.eid==null)return;var targetDate=this.startupData.start_time;if(this.isRecurring){Alert.present(s[l].CalendareventViewDeleteEventAlert.Title,s[l].CalendareventViewDeleteEventAlert.Body,s[l].CalendareventViewDeleteEventAlert.Button1Title,s[l].CalendareventViewDeleteEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){Alert.present(s[l].CalendareventViewRecurrenceDeletePrompt.Title,s[l].CalendareventViewRecurrenceDeletePrompt.Body,s[l].CalendareventViewRecurrenceDeletePrompt.Button1Title,s[l].CalendareventViewRecurrenceDeletePrompt.Button2Title,function(scopePressed){var mode=(scopePressed==1)?'instance':'series';this.deleteCalendarEvent(this.eid,mode,targetDate);}.bind(this));}}.bind(this));}else{Alert.present(s[l].CalendareventViewDeleteEventAlert.Title,s[l].CalendareventViewDeleteEventAlert.Body,s[l].CalendareventViewDeleteEventAlert.Button1Title,s[l].CalendareventViewDeleteEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1)this.deleteCalendarEvent(this.eid,'series');}.bind(this));}},reject:function(){if(this.eid==null)return;var targetDate=this.startupData.start_time;if(this.isRecurring){Alert.present(s[l].CalendareventViewRejectEventAlert.Title,s[l].CalendareventViewRejectEventAlert.Body,s[l].CalendareventViewRejectEventAlert.Button1Title,s[l].CalendareventViewRejectEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){Alert.present(s[l].CalendareventViewRecurrenceRejectPrompt.Title,s[l].CalendareventViewRecurrenceRejectPrompt.Body,s[l].CalendareventViewRecurrenceRejectPrompt.Button1Title,s[l].CalendareventViewRecurrenceRejectPrompt.Button2Title,function(scopePressed){var finalDate=(scopePressed==1)?targetDate:null;this.updateInvitationStatus(3,this.eid,finalDate,this.cid);}.bind(this));}}.bind(this));}else{Alert.present(s[l].CalendareventViewRejectEventAlert.Title,s[l].CalendareventViewRejectEventAlert.Body,s[l].CalendareventViewRejectEventAlert.Button1Title,s[l].CalendareventViewRejectEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1)this.updateInvitationStatus(3,this.eid,null,this.cid);}.bind(this));}},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},getEventDetails:function(eid,targetDate=null){var request=new NetworkRequest();var params="event_id="+eid;if(targetDate)params+="&target_date="+encodeURIComponent(targetDate);request.postRequest(Globals.ServicesURL.getCalendarEventDetailsURL,params,function(responseData){this.onGetEventDetailsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetEventDetailsFailed(statusCode,errorMessage)}.bind(this));},updateInvitationStatus:function(statusId,eventId,targetDate=null,calendarId){var request=new NetworkRequest();var params="event_id="+eventId+"&status="+statusId+"&calendar_id="+calendarId+(targetDate?"&target_date="+encodeURIComponent(targetDate):"");request.postRequest(Globals.ServicesURL.updateCalendarInvitationStatusURL,params,function(responseData){this.onUpdateInvitationStatusSuccess(responseData,eventId,targetDate);}.bind(this),function(statusCode,errorMessage){this.onUpdateInvitationStatusFailed(statusCode,errorMessage);}.bind(this));},updateExternalInvitationStatus:function(status,eventId,targetDate=null){var request=new NetworkRequest();var params="event_id="+eventId+"&status="+status+(targetDate?"&target_date="+encodeURIComponent(targetDate):"");request.postRequest(Globals.ServicesURL.respondToEmailInviteViaCalendarURL,params,function(responseData){this.onUpdateExternalInvitationStatusSuccess(responseData);}.bind(this),function(statusCode,errorMessage){this.onUpdateExternalInvitationStatusFailed(statusCode,errorMessage);}.bind(this));},updateEventCalendar:function(eventId,calendarId){var request=new NetworkRequest();var params="event_id="+eventId+"&calendar_id="+calendarId;request.postRequest(Globals.ServicesURL.updateEventCalendarURL,params,function(responseData){this.onUpdateEventCalendarSuccess(responseData);}.bind(this),function(statusCode,errorMessage){this.onUpdateEventCalendarFailed(statusCode,errorMessage);}.bind(this));},setEventReminder:function(eventId,minutes,targetDate=null){var request=new NetworkRequest();var params="event_id="+eventId+"&reminder="+minutes;if(targetDate)params+="&target_date="+encodeURIComponent(targetDate);request.postRequest(Globals.ServicesURL.setCalendarEventReminderURL,params,function(responseData){this.onSetCalendarEventReminderSuccess(responseData);}.bind(this),function(statusCode,errorMessage){this.onSetCalendarEventReminderFailed(statusCode,errorMessage)}.bind(this));},onGetEventDetailsSuccess:function(responseData){var data=JSON.parse(responseData);this.buildEventDetailsForm(data);},onGetEventDetailsFailed:function(responseData){},onUpdateInvitationStatusSuccess:function(responseData){var data=JSON.parse(responseData);},onUpdateInvitationStatusFailed:function(responseData){},onUpdateExternalInvitationStatusSuccess:function(responseData){var data=JSON.parse(responseData);},onUpdateExternalInvitationStatusFailed:function(statusCode,errorMessage){},onUpdateEventCalendarSuccess:function(responseData){},onUpdateEventCalendarFailed:function(statusCode,errorMessage){this.getEventDetails(this.eid);},onRespondToEmailInviteViaCalendarSuccess:function(responseData,eventId,targetDate){this.getEventDetails(eventId,targetDate);},onRespondToEmailInviteViaCalendarFailed:function(statusCode,errorMessage){Alert.present(s[l].CalendareventViewUpdateErrorAlert.Title,errorMessage,s[l].CalendareventViewUpdateErrorAlert.Button1Title);},onUpdateEventCalendarSuccess:function(responseData){},onUpdateEventCalendarFailed:function(statusCode,errorMessage){},onSetCalendarEventReminderSuccess:function(responseData){},onSetCalendarEventReminderFailed:function(statusCode,errorMessage){},});var CalendareventeditorView=JS.subClass(JSAppView,{name:"CalendareventeditorView",title:"Daily Report - Event editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,eid:null,creator:null,startupData:null,isRecurring:false,originalInstanceDate:null,isSeries:false,invitedUsers:[],invitedDepartments:[],invitedTeams:[],invitedEmails:[],allMenus:new Array(),TEXTAREA_MAX_LENGTH:512,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.eventForm=document.createElement('div');this.eventForm.className="EventForm";this.shareSettingsDialogContainer=document.createElement('div');this.shareSettingsDialogContainer.className="ShareSettingsDialogContainer";},create:function(domView){this.titleBarText.innerHTML=s[l].CalendareventeditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"calendar_event_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);this.formHolder.appendChild(this.eventForm);this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.innerHolder);domView.appendChild(this.shareSettingsDialogContainer);this.shareSettingsDialog=new ShareSettingsDialog(this.shareSettingsDialogContainer,this);if(s[l].Direction=="rtl"){this.innerHolder.classList.add("rtl");this.shareSettingsDialogContainer.classList.add("rtl");}else{this.innerHolder.classList.remove("rtl");this.shareSettingsDialogContainer.classList.remove("rtl");}},start:function(data=null){this.shareSettingsDialog.dismiss();this.eid=null;this.startupData=null;this.isRecurring=false;this.originalInstanceDate=null;this.instanceStartTime=null;this.instanceEndTime=null;this.isSeries=false;if(data!=null){if(data.start_time){this.instanceStartTime=(typeof data.start_time==='string')?new Date(data.start_time.replace(/-/g,"/")):new Date(data.start_time);} if(data.end_time){this.instanceEndTime=(typeof data.end_time==='string')?new Date(data.end_time.replace(/-/g,"/")):new Date(data.end_time);} if(data.event_id!=undefined){this.eid=data.event_id;this.originalInstanceDate=data.original_start_time||data.start_time;if(data.rrule){this.isRecurring=true;} this.getEventDetails(this.eid,this.originalInstanceDate);}else if(data.start_time!=undefined){this.startupData=data;this.getEventDetails(null);}}else{this.startupData=null;this.getEventDetails(null);}},stop:function(){this.eid=null;this.cid=null;this.eventForm.innerHTML="";},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(data){var items=[{title:s[l].CalendareventeditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"CalendareventeditorView.new();"},{title:s[l].CalendareventeditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"CalendareventeditorView.save();"}];var isOverride=(data!=null&&data.is_override===true);if(isOverride==true&&this.isRecurring){items.push({title:s[l].CalendareventeditorViewTitleBarMenu.RevertButtonTitleText,icon:"/assets/images/icons/revert_document_black.svg",action:"CalendareventeditorView.revertBackToSeries();"});} items.push({title:s[l].CalendareventeditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"CalendareventeditorView.delete();"});items.push({title:s[l].CalendareventeditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"CalendareventeditorView.dismiss();"});this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0){this.invitedUsers.forEach(function(user){var fullName=user.firstname+" "+user.lastname;var item=this.renderInternalInviteeItem(fullName,user.profile_picture);this.internalInviteesTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteUsersTableEmptyTitleText,null);this.internalInviteesTable.appendChild(item);} if(this.invitedDepartments.length>0){this.invitedDepartments.forEach(function(dept){var item=this.renderInternalInviteeItem(dept.title,null);this.internalInviteesDepartmentsTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteDepartmentsTableEmptyTitleText,null);this.internalInviteesDepartmentsTable.appendChild(item);} if(this.invitedTeams.length>0){this.invitedTeams.forEach(function(team){var item=this.renderInternalInviteeItem(team.title,null);this.internalInviteesTeamsTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteTeamsTableEmptyTitleText,null);this.internalInviteesTeamsTable.appendChild(item);} var externalInviteRow=document.createElement('div');externalInviteRow.className="InviteRow Underlined WithTopMargin WithBottomMargin";externalInviteRow.classList.add("Bold");this.inviteesHolder.appendChild(externalInviteRow);var externalInviteTitle=document.createElement('div');externalInviteTitle.className="Title";externalInviteTitle.innerText=s[l].CalendareventeditorViewExternalInviteTitleText+":";externalInviteRow.appendChild(externalInviteTitle);this.externalInviteEmailInput=new EmailAutocompleteInput(this.inviteesHolder,this,s[l].CalendareventeditorViewExternalInviteEmailTitleText+":");this.invitedEmails=data.invited_emails||[];if(typeof this.invitedEmails==='string'){try{this.invitedEmails=JSON.parse(this.invitedEmails);}catch(e){this.invitedEmails=[];}} if(Array.isArray(this.invitedEmails)){this.invitedEmails.forEach(function(email){if(email&&email.trim()!==""){this.externalInviteEmailInput.addEmail(email.trim());}}.bind(this));}},renderInternalInviteeItem:function(title,iconUrl=null){var item=document.createElement('div');item.className="Item";if(iconUrl!=null){var icon=document.createElement('div');icon.className="ProfilePicture";if(iconUrl)icon.style.backgroundImage="url('"+iconUrl+"')";else icon.style.backgroundColor="var(--color-scheme-gray-l2--)";item.appendChild(icon);} var name=document.createElement('div');name.className="Name";name.innerText=title;item.appendChild(name);return item;},buildRemindersDropdownList:function(currentReminders){this.remindersSelectionDropdown=document.createElement('div');this.remindersSelectionDropdown.className="RemindersSelectionDropdown";this.remindersHolder=document.createElement('div');this.remindersHolder.className="RemindersHolder";this.remindersSelectionDropdown.appendChild(this.remindersHolder);this.remindersIcon=document.createElement('div');this.remindersIcon.className="RemindersIcon";this.remindersIcon.style.backgroundImage="url('/assets/images/icons/alarm_black.svg')";this.remindersHolder.appendChild(this.remindersIcon);this.remindersName=document.createElement('div');this.remindersName.className="RemindersName";if(s[l].Direction=="rtl")this.remindersName.classList.add("RemindersName_rtl");this.remindersHolder.appendChild(this.remindersName);this.remindersMenu=document.createElement('div');this.remindersMenu.className="RemindersMenu";this.remindersSelectionDropdown.appendChild(this.remindersMenu);var reminderOptions=[{minutes:null,text:s[l].CalendareventeditorViewRemindersDropdownNone},{minutes:1440,text:s[l].CalendareventeditorViewRemindersDropdown1Day},{minutes:60,text:s[l].CalendareventeditorViewRemindersDropdown1Hour},{minutes:30,text:s[l].CalendareventeditorViewRemindersDropdown30Mins},{minutes:15,text:s[l].CalendareventeditorViewRemindersDropdown15Mins},{minutes:1,text:s[l].CalendareventeditorViewRemindersDropdown1Min}];var currentMin=null;if(currentReminders){try{var parsed=(typeof currentReminders==='string')?JSON.parse(currentReminders):currentReminders;if(Array.isArray(parsed)&&parsed.length>0)currentMin=parsed[0].minutes;}catch(e){currentMin=null;}} this.selectedReminderMinutes=currentMin;reminderOptions.forEach(function(opt){if(this.selectedReminderMinutes===opt.minutes){this.remindersName.innerHTML=opt.text;} var menuItem=document.createElement('div');menuItem.className="MenuItem";menuItem.innerHTML=opt.text;this.remindersMenu.appendChild(menuItem);menuItem.addEventListener('click',function(){this.delegate.remindersName.innerHTML=this.opt.text;this.delegate.selectedReminderMinutes=this.opt.minutes;this.delegate.remindersMenu.style.display="none";}.bind({delegate:this,opt:opt}));}.bind(this));if(!this.remindersName.innerHTML)this.remindersName.innerHTML=reminderOptions[0].text;this.remindersHolder.addEventListener('click',function(){this.remindersMenu.style.display=(this.remindersMenu.style.display==="block")?"none":"block";}.bind(this));return this.remindersSelectionDropdown;},buildCalendarDropdownList:function(calendars){var calendars=calendars||[];var myUID=parseInt(Application.sessionManager.sessionData.uid);var myDefault=null;for(var i=0;iparseInt(c.cid)===currentId)||myDefault;if(!selectedCal){selectedCal=calendars.find(c=>parseInt(c.owner_id)===myUID);} if(selectedCal){this.cid=selectedCal.cid;this.selectedCalendar=selectedCal;} this.calendarSelectionDropdown=document.createElement('div');this.calendarSelectionDropdown.className="CalendarSelectionDropdown";this.calendarsHolder=document.createElement('div');this.calendarsHolder.className="CalendarsHolder";this.calendarIcon=document.createElement('div');this.calendarIcon.className="CalendarIcon";this.calendarName=document.createElement('div');this.calendarName.className="CalendarName";this.calendarArrow=document.createElement('div');this.calendarArrow.className="Arrow";this.calendarMenu=document.createElement('div');this.calendarMenu.className="CalendarMenu";this.calendarsHolder.appendChild(this.calendarIcon);this.calendarsHolder.appendChild(this.calendarName);this.calendarsHolder.appendChild(this.calendarArrow);this.calendarSelectionDropdown.appendChild(this.calendarsHolder);this.calendarSelectionDropdown.appendChild(this.calendarMenu);if(selectedCal){this.calendarName.innerHTML=selectedCal.title;this.calendarIcon.style.backgroundColor=selectedCal.color;} for(var i=0;i86400000){var correctedEndDate=new Date(eventStartDate.getTime()+(durationMs%86400000||3600000));endTime=Date.getServerAdjustedTimestampFromDate(correctedEndDate);}else{endTime=Date.getServerAdjustedTimestampFromDate(eventEndDate);}}else{Alert.present(s[l].CalendareventeditorViewFormIncompleteAlert.Title,s[l].CalendareventeditorViewFormIncompleteAlert.InfoTextInvalidEndTime,s[l].CalendareventeditorViewFormIncompleteAlert.Button1Title);return;} if(eventStartDate.getTime()>=eventEndDate.getTime()){Alert.present(s[l].CalendareventeditorViewFormIncompleteAlert.Title,s[l].CalendareventeditorViewFormIncompleteAlert.InfoTextInvalidDateSequence,s[l].CalendareventeditorViewFormIncompleteAlert.Button1Title);return;} if(this.descriptionInput.value.length>this.TEXTAREA_MAX_LENGTH){Alert.present(s[l].CalendareventeditorViewFormIncompleteAlert.Title,s[l].CalendareventeditorViewFormIncompleteAlert.InfoTextInvalidNotesLength,s[l].CalendareventeditorViewFormIncompleteAlert.Button1Title);return;} var rrule=this.recurrence;var denormalizedEndDate=null;if(rrule!=='none'){if(rrule==='FREQ=WEEKLY'){var selectedDays=[];Object.keys(this.dayCheckboxes).forEach(function(id){if(this.dayCheckboxes[id].classList.contains("Active")){selectedDays.push(id);}}.bind(this));if(selectedDays.length>0){rrule+=";BYDAY="+selectedDays.join(",");}} var untilDate=this.recurrenceEndDatePickerMenu.getDate();if(untilDate){var y=untilDate.getFullYear();var m=("0"+(untilDate.getMonth()+1)).slice(-2);var d=("0"+untilDate.getDate()).slice(-2);rrule+=";UNTIL="+y+m+d+"T235959Z";denormalizedEndDate=y+"-"+m+"-"+d+" 23:59:59";}}else{rrule=null;} this.invitedEmails=this.externalInviteEmailInput.getEmails();var isMultiDay=eventStartDate.toDateString()!==eventEndDate.toDateString();var isAllDay=(this.allDayCheckbox.checked||isMultiDay)?1:0;var reminderValue=(this.selectedReminderMinutes!==null)?[{minutes:this.selectedReminderMinutes,type:"push"}]:null;var eventData={event_id:this.eid,title:this.eventTitleInput.value,description:this.descriptionInput.value,start_time:startTime,end_time:endTime,all_day:isAllDay,calendar_id:this.cid,invited_users:this.parseAccessRightsUIDs(this.invitedUsers),invited_departments:this.parseAccessRightsUIDs(this.invitedDepartments),invited_teams:this.parseAccessRightsUIDs(this.invitedTeams),invited_emails:this.invitedEmails,location:this.eventLocationInput.getValue(),place_id:this.eventLocationInput.getPlaceId(),rrule:rrule,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,end_date:denormalizedEndDate,edit_mode:'series',target_date:this.isSeries?null:this.originalInstanceDate,reminders:reminderValue};if(this.eid&&this.isRecurring){Alert.present(s[l].CalendareventeditorViewSaveEventAlert.Title,s[l].CalendareventeditorViewSaveEventAlert.Body,s[l].CalendareventeditorViewSaveEventAlert.Button1Title,s[l].CalendareventeditorViewSaveEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){eventData.edit_mode=this.isSeries?'series':'instance';eventData.target_date=this.isSeries?null:this.originalInstanceDate;this.saveCalendarEvent(this.eid,eventData);}}.bind(this));}else{this.saveCalendarEvent(this.eid,eventData);}},delete:function(){if(this.eid==null)return;if(this.isRecurring){Alert.present(s[l].CalendareventeditorViewDeleteEventAlert.Title,s[l].CalendareventeditorViewDeleteEventAlert.Body,s[l].CalendareventeditorViewDeleteEventAlert.Button1Title,s[l].CalendareventeditorViewDeleteEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var mode=this.isSeries?'series':'instance';var targetDate=(mode==='instance')?this.originalInstanceDate:null;this.deleteCalendarEvent(this.eid,mode,targetDate);}}.bind(this));}else{Alert.present(s[l].CalendareventeditorViewDeleteEventAlert.Title,s[l].CalendareventeditorViewDeleteEventAlert.Body,s[l].CalendareventeditorViewDeleteEventAlert.Button1Title,s[l].CalendareventeditorViewDeleteEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteCalendarEvent(this.eid,'series');}}.bind(this));}},revertBackToSeries:function(){if(!this.eid||!this.originalInstanceDate)return;Alert.present(s[l].CalendareventeditorViewRevertEventAlert.Title,s[l].CalendareventeditorViewRevertEventAlert.Body,s[l].CalendareventeditorViewRevertEventAlert.Button1Title,s[l].CalendareventeditorViewRevertEventAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.revertCalendarEvent(this.eid,this.originalInstanceDate);}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},presentShareDialog:function(){this.shareSettingsDialog.present(this.eid,this.invitedUsers,this.invitedDepartments,this.invitedTeams);this.shareSettingsDialog.titleBarText.innerText=s[l].CalendareventeditorViewInternalInviteTitleText;this.shareSettingsDialog.shareDialogTitle.innerText=s[l].CalendareventeditorViewInviteTitleText;},onShareSettingsDialogUpdateWithExpandedData:function(resourceID,accessRights){this.invitedUsers=accessRights.users;this.invitedDepartments=accessRights.departments;this.invitedTeams=accessRights.teams;this.internalInviteesTable.innerHTML="";this.internalInviteesDepartmentsTable.innerHTML="";this.internalInviteesTeamsTable.innerHTML="";if(this.invitedUsers.length>0){this.invitedUsers.forEach(function(user){var fullName=user.firstname+" "+user.lastname;var item=this.renderInternalInviteeItem(fullName,user.profile_picture);this.internalInviteesTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteUsersTableEmptyTitleText,null);this.internalInviteesTable.appendChild(item);} if(this.invitedDepartments.length>0){this.invitedDepartments.forEach(function(dept){var item=this.renderInternalInviteeItem(dept.title,null);this.internalInviteesDepartmentsTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteDepartmentsTableEmptyTitleText,null);this.internalInviteesDepartmentsTable.appendChild(item);} if(this.invitedTeams.length>0){this.invitedTeams.forEach(function(team){var item=this.renderInternalInviteeItem(team.title,null);this.internalInviteesTeamsTable.appendChild(item);}.bind(this));}else{var item=this.renderInternalInviteeItem(s[l].CalendareventeditorViewInternalInviteTeamsTableEmptyTitleText,null);this.internalInviteesTeamsTable.appendChild(item);}},onLocationSelected:function(location){},parseAccessRightsUIDs:function(list){var accessRightsUIDs=new Array();for(var i in list){var item=list[i];if(item.uid!=undefined&&(item.is_owner==undefined||parseInt(item.is_owner)==0))accessRightsUIDs.push(parseInt(item.uid));else if(item.did!=undefined)accessRightsUIDs.push(parseInt(item.did));else if(item.tid!=undefined)accessRightsUIDs.push(parseInt(item.tid));} return accessRightsUIDs;},getEventDetails:function(eid,targetDate=null){var request=new NetworkRequest();var params="event_id="+eid;if(targetDate){params+="&target_date="+encodeURIComponent(targetDate);} request.postRequest(Globals.ServicesURL.getCalendarEventDetailsURL,params,function(responseData){this.onGetEventDetailsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetEventDetailsFailed(statusCode,errorMessage)}.bind(this));},saveCalendarEvent:function(eid,data){var request=new NetworkRequest();var params="event_id="+eid+"&data="+encodeURIComponent(JSON.stringify(data));request.postRequest(Globals.ServicesURL.saveCalendarEventURL,params,function(responseData){this.onSaveCalendarEventSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveCalendarEventFailed(statusCode,errorMessage)}.bind(this));},deleteCalendarEvent:function(eid,mode,targetDate=null){var request=new NetworkRequest();var params="event_id="+eid+"&delete_mode="+mode;if(mode==='instance'&&targetDate)params+="&target_date="+encodeURIComponent(targetDate);request.postRequest(Globals.ServicesURL.deleteCalendarEventURL,params,function(responseData){this.onDeleteCalendarEventSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteCalendarEventFailed(statusCode,errorMessage)}.bind(this));},revertCalendarEvent:function(eid,targetDate){var request=new NetworkRequest();var params="event_id="+eid+"&target_date="+encodeURIComponent(targetDate);request.postRequest(Globals.ServicesURL.revertCalendarEventURL,params,function(responseData){this.onRevertCalendarEventSuccess(responseData);}.bind(this),function(statusCode,errorMessage){this.onRevertCalendarEventFailed(statusCode,errorMessage);}.bind(this));},createExternalCallInvite:function(email,meetingTime=null){var request=new NetworkRequest();var params="email="+email+(meetingTime!=null?"&meeting_time="+meetingTime:"");request.postRequest(Globals.ServicesURL.createExternalCallInviteURL,params,function(responseData){this.onCreateExternalCallInviteSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateExternalCallInviteFailed(statusCode,errorMessage)}.bind(this));},onGetEventDetailsSuccess:function(responseData){var data=JSON.parse(responseData);this.isSeries=false;if(data.rrule){Alert.present(s[l].CalendareventeditorViewRecurrenceEditAlert.Title,s[l].CalendareventeditorViewRecurrenceEditAlert.Body,s[l].CalendareventeditorViewRecurrenceEditAlert.Button1Title,s[l].CalendareventeditorViewRecurrenceEditAlert.Button2Title,function(buttonPressed){if(buttonPressed==2){this.isSeries=true;if(data.series_start_time){data.start_time=data.series_start_time;data.end_time=data.series_end_time;} if(data.is_override){data.title=data.master_title;data.description=data.master_description;data.location=data.master_location;data.place_id=data.master_place_id;data.all_day=data.master_all_day;data.invited_users=data.master_invited_users;data.invited_departments=data.master_invited_departments;data.invited_teams=data.master_invited_teams;data.invited_emails=data.master_invited_emails;}}else{this.isSeries=false;} this.buildEventDetailsForm(data);}.bind(this));}else{this.buildEventDetailsForm(data);}},onGetEventDetailsFailed:function(responseData){},onSaveCalendarEventSuccess:function(statusCode,errorMessage){this.dismiss();},onSaveCalendarEventFailed:function(statusCode,errorMessage){},onDeleteCalendarEventSuccess:function(responseData){this.dismiss();},onDeleteCalendarEventFailed:function(statusCode,errorMessage){},onRevertCalendarEventSuccess:function(responseData){this.dismiss();},onRevertCalendarEventFailed:function(statusCode,errorMessage){},onCreateExternalCallInviteSuccess:function(responseData){var data=JSON.parse(responseData);console.log(decodeURIComponent(data.external_link));},onCreateExternalCallInviteFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var CallView=JS.subClass(JSAppView,{DEBUG:false,VIEW_STATES:{recipiet_on_a_call:"recipiet_on_a_call",call_waiting:"call_waiting",call_ringing:"call_ringing",call_answered:"call_answered",call_rejected:"call_rejected",call_ended:"call_ended"},PEER_TYPES:{SENDER:1,RECIPIENT:2,},name:"CallView",title:"Daily Report - Call",callActive:false,showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,currentViewState:null,currentVideoDeviceId:null,isMinimized:false,isMuted:false,isExternalCall:false,isSharingScreen:false,callID:null,peerUID:null,callType:1,callBackUserID:null,callData:null,offer:null,peerType:null,doneCollectigIceCandidates:false,sendOfferInterval:null,sendAnswerInterval:null,getOfferInterval:null,getAnswerInterval:null,callDurationInterval:null,peerConnection:null,localStream:null,screenStream:null,usingFrontCamera:true,hasRearCamera:false,applicationCallViewHolder:null,pcConfig:{'iceServers':[{urls:'turn:turn.dailyreport.co:443?transport=tcp',username:'dailyuser',credential:'dailypass'}]},init:function(){this.applicationTitleBar=document.createElement('div');this.applicationTitleBar.className="ApplicationTitlebar";this.applicationTitleBarText=document.createElement('div');this.applicationTitleBarText.className="LogoText";this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuPiPButton=document.createElement('div');this.titleMenuPiPButton.className="TitlePictureInPictureButton";this.titleMenuPiPButton.addEventListener("click",function(){this.toggleViewSize();}.bind(this));this.titleMenuChatButton=document.createElement('div');this.titleMenuChatButton.className="TitleChatButton";this.titleMenuChatButton.addEventListener("click",function(){this.onOpenChatButonPressed();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.backgroundVideoHolder=document.createElement('div');this.backgroundVideoHolder.className="VideoHolder";this.miniVideoHolder=document.createElement('div');this.miniVideoHolder.className="VideoHolder";this.remoteVideo=document.createElement('video');this.remoteVideo.className="RemoteVideo";this.remoteVideo.disablePictureInPicture=true;this.remoteVideo.autoplay=true;this.remoteVideo.playsInline=true;this.remoteVideo.addEventListener('playing',function(){if(this.hasRearCamera&&this.callType==2){this.switchCameraButton.style.display="block";}else{this.switchCameraButton.style.display="none";}}.bind(this));this.localVideo=document.createElement('video');this.localVideo.className="LocalVideo";this.localVideo.disablePictureInPicture=true;this.localVideo.autoplay=true;this.localVideo.playsInline=true;this.callInfoHolder=document.createElement('div');this.callInfoHolder.className="CallInfoHolder";this.callControlButtonsHolder=document.createElement('div');this.callControlButtonsHolder.className="CallControlButtonsHolder";this.callControlsInnerHolder=document.createElement('div');this.callControlsInnerHolder.className="CallControlButtonsInnerHolder";this.callButton=document.createElement('div');this.callButton.className="CallButton";this.callButton.addEventListener('click',function(){this.onCallButtonPressed();}.bind(this));this.videoCallButton=document.createElement('div');this.videoCallButton.className="VideoCallButton";this.videoCallButton.addEventListener('click',function(){this.onVideoCallButtonPressed();}.bind(this));this.audioOutputMenuButton=document.createElement('div');this.audioOutputMenuButton.className="AudioOutputMenuButton";this.audioOutputMenuButton.addEventListener('click',function(){this.toggleAudioOutputMenu();}.bind(this));this.answerButton=document.createElement('div');this.answerButton.className="AnswerButton";this.answerButton.addEventListener('click',function(){this.onAnswerButtonPressed();}.bind(this));this.rejectButton=document.createElement('div');this.rejectButton.className="RejectButton";this.rejectButton.addEventListener('click',function(){this.onRejectButtonPressed();}.bind(this));this.hangupButton=document.createElement('div');this.hangupButton.className="HangupButton";this.hangupButton.addEventListener('click',function(){this.onHangupButtonPressed();}.bind(this));this.muteButton=document.createElement('div');this.muteButton.className="MuteButton";this.muteButton.addEventListener('click',function(){this.onMuteButtonPressed();}.bind(this));this.shareSceenButton=document.createElement('div');this.shareSceenButton.className="ShareScreenButton";this.shareSceenButton.addEventListener('click',function(){this.onShareScreenButtonPressed();}.bind(this));this.closeButton=document.createElement('div');this.closeButton.className="CloseButton";this.closeButton.addEventListener('click',function(){this.onCloseButtonPressed();}.bind(this));this.switchCameraButton=document.createElement('div');this.switchCameraButton.className="SwitchCameraButton";this.switchCameraButton.addEventListener('click',function(){this.switchCameras();if(this.switchCameraButton.classList.contains("SwitchToBackCamera")){this.switchCameraButton.classList.remove("SwitchToBackCamera");}else{this.switchCameraButton.classList.add("SwitchToBackCamera");}}.bind(this));this.lowReceptionBanner=document.createElement("div");this.lowReceptionBanner.className="LowReceptionWarningBanner";this.lowReceptionBannerIcon=document.createElement("div");this.lowReceptionBannerIcon.className="Icon";this.lowReceptionBanner.appendChild(this.lowReceptionBannerIcon);this.lowReceptionBannerText=document.createElement("div");this.lowReceptionBannerText.className="Text";this.lowReceptionBanner.appendChild(this.lowReceptionBannerText);},create:function(domView){this.applicationCallViewHolder=document.getElementById('application_call_view_holder');this.applicationTitleBarText.innerHTML=Globals.WebsiteTitle;this.applicationTitleBar.appendChild(this.applicationTitleBarText);domView.appendChild(this.applicationTitleBar);if(s[l].Direction=="rtl"){this.applicationTitleBar.classList.add("rtl");this.titleBar.classList.add("rtl");}else{this.applicationTitleBar.classList.remove("rtl");this.titleBar.classList.remove("rtl");} this.titleBarText.innerHTML=s[l].CallViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"call_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuChatButton);this.titleBar.appendChild(this.titleMenuPiPButton);domView.appendChild(this.titleBar);this.backgroundVideoHolder.appendChild(this.remoteVideo);this.miniVideoHolder.appendChild(this.localVideo);this.innerHolder.appendChild(this.backgroundVideoHolder);this.innerHolder.appendChild(this.miniVideoHolder);this.innerHolder.appendChild(this.callInfoHolder);if(s[l].Direction=="rtl")this.callInfoHolder.classList.add("rtl");else this.callInfoHolder.classList.remove("rtl");this.callControlButtonsHolder.appendChild(this.callControlsInnerHolder);this.callControlsInnerHolder.appendChild(this.callButton);this.callControlsInnerHolder.appendChild(this.closeButton);this.callControlsInnerHolder.appendChild(this.videoCallButton);this.callControlsInnerHolder.appendChild(this.audioOutputMenuButton);this.callControlsInnerHolder.appendChild(this.answerButton);this.callControlsInnerHolder.appendChild(this.rejectButton);this.callControlsInnerHolder.appendChild(this.hangupButton);this.callControlsInnerHolder.appendChild(this.muteButton);this.callControlsInnerHolder.appendChild(this.shareSceenButton);this.innerHolder.appendChild(this.callControlButtonsHolder);this.innerHolder.appendChild(this.switchCameraButton);domView.appendChild(this.innerHolder);this.applicationCallViewHolder.addEventListener('mousedown',function(e){e.preventDefault();if(this.isMinimized==false)return;this.isMoving=true;this.startX=e.clientX;this.startY=e.clientY;this.currentDivX=this.applicationCallViewHolder.offsetLeft;this.currentDivY=this.applicationCallViewHolder.offsetTop;this.onMouseMove=document.addEventListener('mousemove',function(e){e.preventDefault();if(this.isMinimized==false)return;if(this.isMoving){var endX=e.clientX;var endY=e.clientY;var DeltaX=endX-this.startX;var DeltaY=endY-this.startY;var newLeft=this.currentDivX+DeltaX;var newTop=this.currentDivY+DeltaY;var maxLeft=window.innerWidth-this.applicationCallViewHolder.offsetWidth;var maxTop=window.innerHeight-this.applicationCallViewHolder.offsetHeight;newLeft=Math.max(0,Math.min(newLeft,maxLeft));newTop=Math.max(0,Math.min(newTop,maxTop));this.applicationCallViewHolder.style.left=newLeft+"px";this.applicationCallViewHolder.style.top=newTop+"px";}}.bind(this));this.onMouseUp=document.addEventListener('mouseup',function(e){e.preventDefault();this.isMoving=false;document.removeEventListener("mouseup",this.omMouseUp);document.removeEventListener("mousemove",this.onMouseMove);}.bind(this));}.bind(this));if(s[l].Direction=="rtl")this.lowReceptionBanner.classList.add("rtl");else this.lowReceptionBanner.classList.remove("rtl");this.lowReceptionBannerText.innerHTML=s[l].CallViewLowReceptionWarningText;this.innerHolder.appendChild(this.lowReceptionBanner);},start:function(data=null){this.buildCallInfoHolder(data);this.callID=data.call_id;this.callType=data.call_type;this.isExternalCall=(data.external_call!=undefined&&parseInt(data.external_call)==1?true:false);if(data.call_id!=undefined&&parseInt(data.call_id)==0){this.peerUID=data.recipient;this.peerType=this.PEER_TYPES.SENDER;this.setRecipientUnavailableState(data);}else if(data.call_id!=undefined&&parseInt(data.call_id)>0&&data.sender==Application.sessionManager.sessionData.uid){this.peerUID=data.recipient;this.peerType=this.PEER_TYPES.SENDER;this.setCallWaitingState(data);this.startCall(data.call_id,data.call_type);}else if(this.delegate.answerIncomingCallOnStartup!=undefined&&this.delegate.answerIncomingCallOnStartup==true){this.delegate.answerIncomingCallOnStartup=false;this.delegate.acceptCall(this.callID);this.startCall(this.callID,this.callType);}else{this.peerUID=data.sender;this.peerType=this.PEER_TYPES.RECIPIENT;this.setCallRingingState(data);} window.addEventListener("resize",function(){const mq=window.matchMedia("(max-width: 780px)");if(mq.matches){this.setFullScreen();}else if(this.isMinimized){var rect=this.applicationCallViewHolder.getBoundingClientRect();var maxLeft=window.innerWidth-rect.width;var maxTop=window.innerHeight-rect.height;var newLeft=Math.max(0,Math.min(this.applicationCallViewHolder.offsetLeft,maxLeft));var newTop=Math.max(0,Math.min(this.applicationCallViewHolder.offsetTop,maxTop));this.applicationCallViewHolder.style.left=newLeft+"px";this.applicationCallViewHolder.style.top=newTop+"px";}}.bind(this));Application.lockScreen();},stop:function(){this.resetCall();CallView.setFullScreen();Application.unlockScreen();},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildCallInfoHolder:function(data){var username="";var profilePictureURL="";if(data.sender==Application.sessionManager.sessionData.uid){username=data.recipient_firstname+" "+data.recipient_lastname;profilePictureURL=data.recipient_profile_picture;}else{username=data.sender_firstname+" "+data.sender_lastname;profilePictureURL=data.sender_profile_picture;} this.callInfoHolder.innerHTML="";this.profilePictureHolder=document.createElement('div');this.profilePictureHolder.className="ProfilePicture";this.profilePictureHolder.style.backgroundImage="url('"+profilePictureURL+"')";this.callInfoHolder.appendChild(this.profilePictureHolder);this.nameHolder=document.createElement('div');this.nameHolder.className="Name";this.nameHolder.innerHTML=username;this.callInfoHolder.appendChild(this.nameHolder);this.callInfoTextHolder=document.createElement('div');this.callInfoTextHolder.className="CallInfoTextHolder";this.callInfoHolder.appendChild(this.callInfoTextHolder);this.callTimerHolder=document.createElement('div');this.callTimerHolder.className="CallTimerHolder";this.callInfoHolder.appendChild(this.callTimerHolder);},setRecipientUnavailableState:function(data){this.callActive=false;this.currentViewState=this.VIEW_STATES.recipiet_on_a_call;this.callBackUserID=data.recipient;this.callInfoTextHolder.innerHTML=s[l].CallViewRemovePeerOnAnotherCallText;this.callInfoHolder.style.display="block";this.callInfoTextHolder.style.display="block";if(this.callDurationInterval!=null){clearInterval(this.callDurationInterval);this.callDurationInterval=null;} if(this.peerConnection!=null)this.peerConnection.close();this.peerConnection=null;this.localVideo.srcObject=null;this.remoteVideo.srcObject=null;this.miniVideoHolder.classList.remove("MiniVideoHolder");this.callButton.style.display="inline-block";this.videoCallButton.style.display="inline-block";this.audioOutputMenuButton.style.display="none";this.answerButton.style.display="none";this.rejectButton.style.display="none";this.hangupButton.style.display="none";this.muteButton.style.display="none";this.shareSceenButton.style.display="none";this.closeButton.style.display="inline-block";this.switchCameraButton.style.display="none";},setCallWaitingState:function(data){this.callActive=false;this.currentViewState=this.VIEW_STATES.call_waiting;this.callBackUserID=data.recipient;this.callInfoHolder.style.display="block";this.callTimerHolder.style.display="none";this.callInfoTextHolder.style.display="block";this.callInfoTextHolder.innerHTML=s[l].CallViewOutgoingCallText+"...";this.miniVideoHolder.classList.remove("MiniVideoHolder");this.profilePictureHolder.style.display="block";this.nameHolder.style.display="block";this.callButton.style.display="none";this.videoCallButton.style.display="none";this.audioOutputMenuButton.style.display="none";this.answerButton.style.display="none";this.rejectButton.style.display="none";this.hangupButton.style.display="inline-block";this.muteButton.style.display="none";this.shareSceenButton.style.display="none";this.closeButton.style.display="none";this.switchCameraButton.style.display="none";},setCallRingingState:function(data){this.callActive=false;this.currentViewState=this.VIEW_STATES.call_ringing;this.callBackUserID=data.sender;this.callInfoHolder.style.display="block";this.callTimerHolder.style.display="none";this.callInfoTextHolder.style.display="block";this.callInfoTextHolder.innerHTML=(data.call_type==1?s[l].CallViewIncomingVoiceCallText:s[l].CallViewIncomingVideoCallText)+"...";this.miniVideoHolder.classList.remove("MiniVideoHolder");this.profilePictureHolder.style.display="block";this.nameHolder.style.display="block";this.callButton.style.display="none";this.videoCallButton.style.display="none";this.audioOutputMenuButton.style.display="none";this.answerButton.style.display="inline-block";this.rejectButton.style.display="inline-block";this.hangupButton.style.display="none";this.muteButton.style.display="none";this.shareSceenButton.style.display="none";this.closeButton.style.display="none";this.switchCameraButton.style.display="none";},setCallAnsweredState:function(callData){this.callActive=true;this.currentViewState=this.VIEW_STATES.call_answered;this.callInfoHolder.style.display="block";this.callInfoTextHolder.style.display="none";this.callTimerHolder.style.display="block";var startTime=callData.start_time;var timeElapsed=Date.getTimeElapsed(startTime);this.callTimerHolder.innerHTML=timeElapsed;if(this.callDurationInterval==null&&callData.start_time!=null){this.callDurationInterval=setInterval(function(){var startTime=this.callData.start_time;var timeElapsed=Date.getTimeElapsed(startTime);this.delegate.callTimerHolder.innerHTML=timeElapsed;}.bind({delegate:this,callData:callData}),Globals.CALL_VIEW_INTERVAL_DURATION);} if(parseInt(callData.call_type)==2){setTimeout(function(){this.miniVideoHolder.classList.add("MiniVideoHolder");}.bind(this),2000);this.callInfoHolder.style.display="none";this.shareSceenButton.style.display="inline-block";}else{this.callInfoHolder.style.display="block";this.shareSceenButton.style.display="none";} this.callButton.style.display="none";this.videoCallButton.style.display="none";if(Application.isRunningNative==true){this.audioOutputMenuButton.style.display="inline-block";var audioOutput="earpiece";if(NativeWrapper.IsBluetoothAvailable()==true){NativeWrapper.switchToBluetooth();audioOutput="bluetooth";}else{if(parseInt(callData.call_type)==1){NativeWrapper.switchToEarpiece();audioOutput="earpiece";}else{NativeWrapper.switchToSpeaker();audioOutput="speaker";}} this.buildAudioOutputMenu(audioOutput);} this.answerButton.style.display="none";this.rejectButton.style.display="none";this.hangupButton.style.display="inline-block";this.muteButton.style.display="inline-block";this.closeButton.style.display="none";},setCallRejectedState:function(){this.callActive=false;clearInterval(this.getAnswerInterval);this.getAnswerInterval=null;this.currentViewState=this.VIEW_STATES.call_rejected;this.callInfoHolder.style.display="block";this.callInfoTextHolder.style.display="block";this.callTimerHolder.style.display="none";this.callInfoTextHolder.innerHTML=s[l].CallViewCallRejectedText;if(this.peerConnection!=null)this.peerConnection.close();this.peerConnection=null;this.localVideo.srcObject=null;this.localVideo.srcObject=null;this.remoteVideo.srcObject=null;this.callButton.style.display="inline-block";this.videoCallButton.style.display="inline-block";this.audioOutputMenuButton.style.display="none";this.answerButton.style.display="none";this.rejectButton.style.display="none";this.hangupButton.style.display="none";this.muteButton.style.display="none";this.shareSceenButton.style.display="none";this.closeButton.style.display="inline-block";this.switchCameraButton.style.display="none";},setCallEndedState:function(){this.lowReceptionBanner.style.display="none";this.callActive=false;clearInterval(this.getAnswerInterval);this.getAnswerInterval=null;clearInterval(this.getOfferInterval);this.getAnswerInterval=null;switch(this.currentViewState){case this.VIEW_STATES.call_waiting:this.callInfoTextHolder.innerHTML=s[l].CallViewCallNotAnsweredText;break;case this.VIEW_STATES.call_ringing:this.callInfoTextHolder.innerHTML=s[l].CallViewMissedCallText;break;case this.VIEW_STATES.call_answered:this.callInfoTextHolder.innerHTML=s[l].CallViewCallEndedText;break;case this.VIEW_STATES.call_ended:break;default:this.callInfoTextHolder.innerHTML=s[l].CallViewCallEndedText;} this.currentViewState=this.VIEW_STATES.call_ended;this.callInfoHolder.style.display="block";this.callInfoTextHolder.style.display="block";if(this.callDurationInterval!=null){clearInterval(this.callDurationInterval);this.callDurationInterval=null;} this.resetPeerConnection();this.miniVideoHolder.classList.remove("MiniVideoHolder");if(this.isExternalCall){this.callButton.style.display="none";this.videoCallButton.style.display="none";}else{this.callButton.style.display="inline-block";this.videoCallButton.style.display="inline-block";} this.audioOutputMenuButton.style.display="none";this.answerButton.style.display="none";this.rejectButton.style.display="none";this.hangupButton.style.display="none";this.muteButton.style.display="none";this.shareSceenButton.style.display="none";this.closeButton.style.display="inline-block";this.switchCameraButton.style.display="none";},toggleAudioOutputMenu:function(){if(this.audioOutputMenu.style.display=="block"){this.hideAudioOutputMen();}else{this.showAudioOutputMen();}},showAudioOutputMen:function(){this.audioOutputMenu.style.display="block";if(NativeWrapper.IsBluetoothAvailable()==true){this.bluetoothButton.style.display="block";}else{this.bluetoothButton.style.display="none";}},hideAudioOutputMen:function(){this.audioOutputMenu.style.display="none";},buildAudioOutputMenu:function(output){this.audioOutputMenuButton.classList.remove("earpiece");this.audioOutputMenuButton.classList.remove("bluetooth");this.audioOutputMenuButton.classList.remove("speaker");this.audioOutputMenuButton.classList.add(output);this.audioOutputMenuButton.innerHTML="";this.audioOutputMenu=document.createElement('div');this.audioOutputMenu.className="AudioOutputMenu";this.audioOutputMenuButton.appendChild(this.audioOutputMenu);this.speakerButton=document.createElement('div');this.speakerButton.className="MenuItem";this.speakerButton.classList.add("Speaker");this.speakerButton.addEventListener('click',function(){this.audioOutputMenuButton.classList.remove("earpiece");this.audioOutputMenuButton.classList.remove("bluetooth");this.audioOutputMenuButton.classList.add("speaker");NativeWrapper.switchToSpeaker();}.bind(this));this.audioOutputMenu.appendChild(this.speakerButton);this.earpieceButton=document.createElement('div');this.earpieceButton.className="MenuItem";this.earpieceButton.classList.add("Earpiece");this.earpieceButton.addEventListener('click',function(){this.audioOutputMenuButton.classList.add("earpiece");this.audioOutputMenuButton.classList.remove("bluetooth");this.audioOutputMenuButton.classList.remove("speaker");NativeWrapper.switchToEarpiece();}.bind(this));this.audioOutputMenu.appendChild(this.earpieceButton);this.bluetoothButton=document.createElement('div');this.bluetoothButton.className="MenuItem";this.bluetoothButton.classList.add("Bluetooth");this.bluetoothButton.addEventListener('click',function(){this.audioOutputMenuButton.classList.remove("earpiece");this.audioOutputMenuButton.classList.add("bluetooth");this.audioOutputMenuButton.classList.remove("speaker");NativeWrapper.switchToBluetooth();}.bind(this));this.audioOutputMenu.appendChild(this.bluetoothButton);},onCallButtonPressed:function(){if(this.delegate.setupCall!=undefined)this.delegate.setupCall(this.callBackUserID,1);},onVideoCallButtonPressed:function(){if(this.delegate.setupCall!=undefined)this.delegate.setupCall(this.callBackUserID,2);},onAnswerButtonPressed:function(){this.delegate.acceptCall(this.callID);this.startCall(this.callID,this.callType);},onRejectButtonPressed:function(){if(this.delegate!=null&&this.delegate.rejectCall!=undefined)this.delegate.rejectCall(this.callID);if(this.delegate!=null&&this.delegate.onDismissCallViewDialog!=undefined)this.delegate.onDismissCallViewDialog(this);},onHangupButtonPressed:function(){this.delegate.endCall(this.callID);if(this.delegate!=null&&this.delegate.onDismissCallViewDialog!=undefined)this.delegate.onDismissCallViewDialog(this);},onMuteButtonPressed:function(){if(this.isMuted==true){this.isMuted=false;this.localStream.getAudioTracks().forEach(track=>track.enabled=true);this.muteButton.style.backgroundImage="url('/assets/images/icons/mic_white.svg')";}else{this.isMuted=true;this.localStream.getAudioTracks().forEach(track=>track.enabled=false);this.muteButton.style.backgroundImage="url('/assets/images/icons/mic_off_white.svg')";}},onShareScreenButtonPressed:function(){if(this.isSharingScreen){this.stopScreenShare();}else{this.shareScreen();}},onCloseButtonPressed:function(){if(this.delegate!=null&&this.delegate.onDismissCallViewDialog!=undefined)this.delegate.onDismissCallViewDialog(this);},onOpenChatButonPressed:function(){Application.loadView(ChatView,{uid:this.peerUID});},toggleViewSize:function(){if(this.isMinimized)this.setFullScreen();else this.setMinimized();},setMinimized:function(){this.isMinimized=true;this.delegate.callViewHolder.classList.add("MiniCallView");this.innerHolder.classList.add("InnerHolderMinimized");this.applicationCallViewHolder.style.top="calc(100% - 320px)";this.applicationCallViewHolder.style.left="calc(100% - 480px)";this.titleMenuPiPButton.style.backgroundImage="url('/assets/images/icons/open_full_screen_white.svg')";},setFullScreen:function(){this.isMinimized=false;this.applicationCallViewHolder.style.top="0px";this.applicationCallViewHolder.style.left="0px";this.delegate.callViewHolder.classList.remove("MiniCallView");this.innerHolder.classList.remove("InnerHolderMinimized");this.titleMenuPiPButton.style.backgroundImage="url('/assets/images/icons/picture_in_picture_white.svg')";},switchCameras:function(){navigator.mediaDevices.enumerateDevices().then(function(devices){const videoDevices=devices.filter(device=>device.kind==='videoinput');const frontCamera=videoDevices.find(device=>device.label.toLowerCase().includes('front')||videoDevices[0]);const rearCamera=videoDevices.find(device=>device.label.toLowerCase().includes('camera 0')||device.label.toLowerCase().includes('back camera')||device.label.toLowerCase().includes('rear camera'));const nextCamera=this.usingFrontCamera?rearCamera:frontCamera;this.usingFrontCamera=(nextCamera==rearCamera?false:true);if(!nextCamera){if(this.DEBUG)console.log('Could not find the desired camera.');return;} return navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:nextCamera.deviceId},width:{ideal:1280},height:{ideal:720},aspectRatio:{ideal:16/9},},audio:false}).then(function(newStream){var newVideoTrack=newStream.getVideoTracks()[0];if(this.localStream){const oldTrack=this.localStream.getVideoTracks()[0];this.localStream.removeTrack(oldTrack);this.localStream.addTrack(newVideoTrack);this.localVideoStream=new MediaStream([newVideoTrack]);oldTrack.stop();}else{this.localVideoStream=new MediaStream([newVideoTrack]);} this.localVideoTrack=newVideoTrack;this.localVideo.srcObject=this.localVideoStream;if(this.peerConnection){const sender=this.peerConnection.getSenders().find(function(s){return s.track&&s.track.kind==="video";});if(sender){sender.replaceTrack(newVideoTrack);}}}.bind(this));}.bind(this)).catch(function(error){console.error("Error switching cameras:",error);}.bind(this));},shareScreen:function(){navigator.mediaDevices.getDisplayMedia({video:true}).then(function(screenStream){this.isSharingScreen=true;this.screenStream=screenStream;this.screenTrack=this.screenStream.getVideoTracks()[0];const senders=this.peerConnection.getSenders();const videoSender=senders.find(sender=>sender.track&&sender.track.kind==='video');if(videoSender)videoSender.replaceTrack(this.screenTrack);this.localVideo.srcObject=this.screenStream;this.shareSceenButton.style.backgroundImage="url('/assets/images/icons/cancel_share_screen_white.svg')";this.screenTrack.onended=()=>{this.stopScreenShare();};}.bind(this)).catch(function(error){this.isSharingScreen=false;this.shareSceenButton.style.backgroundImage="url('/assets/images/icons/share_screen_white.svg')";}.bind(this));},stopScreenShare:function(){this.isSharingScreen=false;this.usingFrontCamera=(this.usingFrontCamera==true?false:true);this.switchCameras();this.shareSceenButton.style.backgroundImage="url('/assets/images/icons/share_screen_white.svg')";},startCall:function(callID,callType){this.isMuted=false;this.muteButton.style.backgroundImage="url('/assets/images/icons/mic_white.svg')";this.backgroundVideoHolder.style.display="block";this.miniVideoHolder.style.display="block";navigator.mediaDevices.getUserMedia({video:(callType==2?{width:{ideal:1280},height:{ideal:720},aspectRatio:{ideal:16/9},}:false),audio:{echoCancellation:true,noiseSuppression:true,autoGainControl:true}}).then(stream=>{this.localStream=stream;if(callType==2){this.localVideoTrack=this.localStream.getVideoTracks()[0];this.localVideoStream=new MediaStream([this.localVideoTrack]);this.localVideo.style.display="block";this.remoteVideo.style.display="block";}else{this.localVideo.style.display="none";this.remoteVideo.style.display="none";} navigator.mediaDevices.enumerateDevices().then(function(devices){const videoDevices=devices.filter(device=>device.kind==='videoinput');const rearCamera=videoDevices.find(device=>device.label.toLowerCase().includes('camera 0')||device.label.toLowerCase().includes('back camera')||device.label.toLowerCase().includes('rear camera'));if(rearCamera){this.hasRearCamera=true;}}.bind(this));this.usingFrontCamera=true;this.localVideo.srcObject=this.localVideoStream;this.peerConnection=new RTCPeerConnection(this.pcConfig);this.localStream.getTracks().forEach(track=>{this.peerConnection.addTrack(track,this.localStream);});if(this.peerType==this.PEER_TYPES.SENDER){this.peerConnection.createOffer().then(offer=>{this.peerConnection.setLocalDescription(offer);this.offer=offer;this.sendOfferInterval=setInterval(function(){if(this.doneCollectigIceCandidates==true){this.signal('offer',this.offer);clearInterval(this.sendOfferInterval);this.sendOfferInterval=null;}}.bind(this),Globals.CALL_VIEW_INTERVAL_DURATION);}).catch(error=>{console.error('Error creating offer:',error);});}else{this.getOfferInterval=setInterval(function(){this.getCallSignal(this.callID,'offer');}.bind(this),Globals.CALL_VIEW_INTERVAL_DURATION);} this.peerConnection.ontrack=event=>{this.remoteStream=event.streams[0];this.remoteVideo.srcObject=this.remoteStream;};this.peerConnection.onicecandidate=event=>{if(event.candidate){this.signal('candidate',event.candidate);}};this.peerConnection.onicegatheringstatechange=event=>{if(this.peerConnection.iceGatheringState==='complete'){this.doneCollectigIceCandidates=true;}};this.peerConnection.addEventListener('iceconnectionstatechange',function(e){var state=this.peerConnection.iceConnectionState;if(this.DEBUG)console.log('ICE state:',state);if(['disconnected','failed'].includes(state)){if(this.DEBUG)console.log("Call "+this.callID+': ICE connection lost, restarting call handshake...');if(this.callActive==true)this.lowReceptionBanner.style.display="block";if(this.peerType==this.PEER_TYPES.SENDER){this.peerConnection.createOffer({iceRestart:true}).then(offer=>{this.peerConnection.setLocalDescription(offer);this.offer=offer;this.sendOfferInterval=setInterval(function(){if(this.doneCollectigIceCandidates==true){this.signal('offer',this.offer);clearInterval(this.sendOfferInterval);this.sendOfferInterval=null;}}.bind(this),Globals.CALL_VIEW_INTERVAL_DURATION);}).catch(error=>{console.error('Error creating offer:',error);});}else{this.getOfferInterval=setInterval(function(){this.getCallSignal(this.callID,'offer');}.bind(this),Globals.CALL_VIEW_INTERVAL_DURATION);}}else{this.lowReceptionBanner.style.display="none";}}.bind(this));}).catch(error=>{console.error('Error accessing media devices:',error);});},onData:function(data){},onAnswer:function(answer){this.peerConnection.setRemoteDescription(answer);},onIceCandidate:function(candidate){this.peerConnection.addIceCandidate(candidate);},onOffer:function(offer){this.peerConnection.setRemoteDescription(offer);this.peerConnection.createAnswer().then(answer=>{this.peerConnection.setLocalDescription(answer);this.answer=answer;this.sendAnswerInterval=setInterval(function(){if(this.doneCollectigIceCandidates==true){this.signal('answer',answer);clearInterval(this.sendAnswerInterval);this.sendAnswerInterval=null;}}.bind(this),500);}).catch(error=>{console.error('Error creating answer:',error);});},signal:function(eventName,data){this.sendCallSignal(this.callID,eventName,encodeURIComponent(JSON.stringify(data)));},resetCall:function(){this.callID=null;this.callBackUserID=null;this.callType=1;this.callTimerHolder.style.display="none";this.callTimerHolder.innerHTML="";this.callInfoTextHolder.style.display="none";this.callInfoTextHolder.innerHTML="";this.resetPeerConnection();if(this.getOfferInterval!=null){clearInterval(this.getOfferInterval);this.getOfferInterval=null;} if(this.getAnswerInterval!=null){clearInterval(this.getAnswerInterval);this.getAnswerInterval=null;} if(this.callDurationInterval!=null){clearInterval(this.callDurationInterval);this.callDurationInterval=null;} this.lowReceptionBanner.style.display="none";},resetPeerConnection:function(){if(this.localStream!=null){this.localStream.getTracks().forEach(t=>t.stop());this.localStream=null} if(this.screenStream!=null){this.screenStream.getTracks().forEach(t=>t.stop());this.screenStream=null;} if(this.peerConnection!=null)this.peerConnection.close();this.peerConnection=null;this.localVideo.srcObject=null;this.remoteVideo.srcObject=null;},sendCallSignal:function(callID,messageType,payload){var request=new NetworkRequest();var params="call_id="+callID+"&message_type="+messageType+"&payload="+payload;request.postRequest(Globals.ServicesURL.sendCallSignalURL,params,function(responseData){this.onSendCallSignalSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSendCallSignalFailed(statusCode,errorMessage)}.bind(this));},getCallSignal:function(callID,messageType){var request=new NetworkRequest();var params="call_id="+callID+"&message_type="+messageType;request.postRequest(Globals.ServicesURL.getCallSignalURL,params,function(responseData){this.onGetCallSignalSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCallSignalFailed(statusCode,errorMessage)}.bind(this));},onSendCallSignalSuccess:function(responseData){var data=JSON.parse(responseData);if(data!=null){switch(data.message_type){case"offer":this.getAnswerInterval=setInterval(function(){this.getCallSignal(this.callID,'answer');}.bind(this),Globals.CALL_VIEW_INTERVAL_DURATION);case"answer":this.getCallSignal(this.callID,'candidate');break;}}},onSendCallSignalFailed:function(statusCode,errorMessage){},onGetCallSignalSuccess:function(responseData){var data=JSON.parse(responseData);if(data!=null&&data.offer!=undefined&&this.getOfferInterval!=null){clearInterval(this.getOfferInterval);this.getOfferInterval=null;if(data.offer!=null&&data.offer.payload!=undefined){var offerData=data.offer.payload;this.onOffer(JSON.parse(offerData));}}else if(data!=null&&data.answer!=undefined&&this.getAnswerInterval!=null){clearInterval(this.getAnswerInterval);this.getAnswerInterval=null;if(data.answer!=null&&data.answer.payload!=undefined){var answerData=data.answer.payload;this.onAnswer(JSON.parse(answerData));setTimeout(function(){this.getCallSignal(this.callID,'candidate');}.bind(this),500);}}else if(data!=null&&data.candidate!=undefined){for(var i=0;i0){this.recordButton.style.display="none";this.sendButton.style.display="block";}else{this.recordButton.style.display="block";this.sendButton.style.display="none";}}.bind(this));this.messageInputField.addEventListener("paste",function(event){var newValue=event.clipboardData.getData('text');if(newValue.length>0){this.recordButton.style.display="none";this.sendButton.style.display="block";}else{this.recordButton.style.display="block";this.sendButton.style.display="none";}}.bind(this));this.messagesHolder.addEventListener('dragenter',function(e){e.stopPropagation();e.preventDefault();if(this.selectedChatID>0){this.messagesInnerHolderFileDropZone.style.display="block";}}.bind(this));this.messagesHolder.addEventListener('dragover',function(e){e.stopPropagation();e.preventDefault();if(this.selectedChatID>0){this.messagesHolder.classList.add(".drag_disable_pointer_events");this.messagesInnerHolderFileDropZone.style.display="block";}}.bind(this));this.messagesHolder.addEventListener('dragleave',function(e){e.stopPropagation();e.preventDefault();this.messagesHolder.classList.remove(".drag_disable_pointer_events");this.messagesInnerHolderFileDropZone.style.display="none";}.bind(this));this.messagesHolder.addEventListener('drop',function(e){e.stopPropagation();e.preventDefault();if(e.dataTransfer.items){var items=e.dataTransfer.items;for(var i=0;i0){if(file.type.match(/image.*/))this.proccessAndUploadImage(file);else this.proccessAndUploadFile(file);}}}}else{for(var i=0;i0){if(file.type.match(/image.*/))this.proccessAndUploadImage(file);else this.proccessAndUploadFile(file);}}} this.messagesInnerHolderFileDropZone.style.display="none";this.messagesHolder.classList.remove("drag_disable_pointer_events");}.bind(this));this.sendButton=document.createElement("div");this.sendButton.id="ChatViewMessagesSendButton";this.sendButton.addEventListener("click",function(){this.onChatSendButtonPressed();}.bind(this));this.recordButton=document.createElement("div");this.recordButton.id="ChatViewMessagesRecordButton";this.recordButton.addEventListener("click",function(){this.onChatRecordButtonPressed();}.bind(this));this.voiceRecorderMenu=document.createElement("div");this.voiceRecorderMenu.id="ChatViewMessagesVoiceRecorderMenu";this.voiceRecorderStopRecordingButton=document.createElement("div");this.voiceRecorderStopRecordingButton.id="ChatViewMessagesVoiceRecorderStopRecordingButton";this.voiceRecorderStopRecordingButton.addEventListener("click",function(){this.onVoiceRecorderStopRecordingButtonPressed();}.bind(this));this.voiceRecorderStopPlaybackButton=document.createElement("div");this.voiceRecorderStopPlaybackButton.id="ChatViewMessagesVoiceRecorderStopPlaybackButton";this.voiceRecorderStopPlaybackButton.addEventListener("click",function(){this.onVoiceRecorderStopPlaybackButtonPressed();}.bind(this));this.voiceRecorderPlayRecordingButton=document.createElement("div");this.voiceRecorderPlayRecordingButton.id="ChatViewMessagesVoiceRecorderPlayRecordingButton";this.voiceRecorderPlayRecordingButton.addEventListener("click",function(){this.onVoiceRecorderPlayRecordingButtonPressed();}.bind(this));this.voiceRecorderDeleteRecordingButton=document.createElement("div");this.voiceRecorderDeleteRecordingButton.id="ChatViewMessagesVoiceRecorderDeleteRecordingButton";this.voiceRecorderDeleteRecordingButton.addEventListener("click",function(){this.onVoiceRecorderDeleteRecordingButtonPressed();}.bind(this));this.voiceRecorderSendRecordingButton=document.createElement("div");this.voiceRecorderSendRecordingButton.id="ChatViewMessagesVoiceRecorderSendRecordingButton";this.voiceRecorderSendRecordingButton.addEventListener("click",function(){this.onVoiceRecorderSendRecordingButtonPressed();}.bind(this));this.voiceRecorderMenuTimerHolder=document.createElement("div");this.voiceRecorderMenuTimerHolder.id="ChatViewMessagesVoiceRecorderTimerHolder";this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.addAttachmentButton=document.createElement("div");this.addAttachmentButton.id="ChatViewMessagesAddAttachmentButton";this.addAttachmentsMenu=document.createElement("div");this.addAttachmentsMenu.id="ChatViewMessagesAddAttachmentsMenu";this.addAttachmentButton.addEventListener("click",function(){this.toggleAttachmentsMenu();}.bind(this));this.messagesPlaceholder=document.createElement("div");this.messagesPlaceholder.id="ChatViewMessagesPlaceholder";this.messagesEmojiMenu=document.createElement("div");this.messagesEmojiMenu.id="ChatViewMessagesFooterEmojiMenu";this.addEmojiButton=document.createElement("div");this.addEmojiButton.id="ChatViewMessagesAddEmojiButton";this.emojiMenu=new EmojiMenu(this.messagesEmojiMenu,this);this.addEmojiButton.addEventListener("click",function(){this.hideAttachmentsMenu();if(this.currentActiveReactionMessageItem!=null)this.currentActiveReactionMessageItem.emojiMenu.hideMenu();this.emojiMenu.toggleMenu();}.bind(this));this.cameraPickerButton=document.createElement("div");this.cameraPickerButton.id="ChatViewMessagesCameraPickerButton";var fileInput=document.createElement("input");fileInput.type="file";fileInput.accept="image/*";fileInput.capture="environment";fileInput.style.display="none";fileInput.addEventListener('change',function(e){if(e.target.files[0])this.onCameraPickerFileSelected(e);}.bind(this));this.cameraPickerButton.appendChild(fileInput);this.cameraPickerButton.addEventListener("click",function(){this.fileInput.click();}.bind({delegate:this,fileInput:fileInput}));window.addEventListener("resize",function(){const mq=window.matchMedia("(min-width: 700px)");if(mq.matches){this.contactsHolder.style.display="inline-block";this.messagesHolder.style.display="inline-block";}}.bind(this));this.chatMessagesDownButton=document.createElement('div');this.chatMessagesDownButton.className="ChatViewMessagesDownArrowButton";this.chatMessagesDownButton.addEventListener('click',function(){this.scrollToLastSeenChatItem();}.bind(this));this.chatGroupPickerDialogContainer=document.createElement('div');this.chatGroupPickerDialogContainer.className="ChatViewChatGroupPickerDialogContainer";this.popupContactsContainer=document.createElement('div');this.popupContactsContainer.id="ChatViewPopupContactsContainer";this.popupContactsContainerInnerHolder=document.createElement('div');this.popupContactsContainerInnerHolder.id="ChatViewPopupContactsContainerInnerHolder";this.loadingScreen=document.createElement('div');this.loadingScreen.className="ChatViewLoadingScreen";var plane=new PaperPlane();this.loadingScreen.appendChild(plane);this.loadingScreen.paperPlane=plane;},create:function(domView){if(s[l].Direction=="rtl"){this.contactsHolder.classList.add('ChatViewContactsHolder_rtl');this.messagesTitleBarMobileBackButton.classList.add('TitleBarMobileBackButton_rtl');this.messagesTitleBarTextHolder.style.textAlign="right";}else{this.contactsHolder.classList.remove('ChatViewContactsHolder_rtl');this.messagesTitleBarMobileBackButton.classList.remove('TitleBarMobileBackButton_rtl');this.messagesTitleBarTextHolder.style.textAlign="left";} this.emojiMenu.init();this.addAttachmentsMenu.appendChild(this.buildAttachmentsMenu());this.contactsTitleBarTextHolder.innerHTML=s[l].ChatViewContactsTitleBarText;this.searchInputField.placeholder=s[l].ChatViewContactsSearchBarText;domView.appendChild(this.contactsHolder);this.contactsTitleBar.appendChild(this.contactsTitleBarIconHolder);this.contactsTitleBar.appendChild(this.contactsTitleBarTextHolder);this.contactsTitleBar.appendChild(this.contactsTitleBarNewChatButton);this.contactsHolder.appendChild(this.contactsTitleBar);this.contactsSearchBar.appendChild(this.searchInputField);this.contactsSearchBar.appendChild(this.searchButton);this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.contactsSearchBar.appendChild(this.searchClearButton);this.contactsHolder.appendChild(this.contactsSearchBar);this.contactsHolder.appendChild(this.chatGroupsHolder);this.popupContactsContainer.appendChild(this.popupContactsContainerInnerHolder);this.contactsHolder.appendChild(this.popupContactsContainer);this.messagesTitleBar.appendChild(this.messagesTitleBarInnerHolder);this.messagesHolder.appendChild(this.messagesTitleBar);this.messagesPlaceholder.innerHTML=s[l].ChatViewMessagesPlaceholderText;this.messagesInnerHolder.innerHTML="";this.messagesInnerHolder.appendChild(this.messagesPlaceholder);this.messagesHolder.appendChild(this.messagesInnerHolder);this.messagesTitleMenuButton.innerHTML="";this.messagesTitleMenuButton.appendChild(this.buildTitleBarMenu());this.messagesInnerHolderFileDropZone.appendChild(this.messagesInnerHolderFileDropZoneIcon);this.messagesHolder.appendChild(this.messagesInnerHolderFileDropZone);this.messagesFooterBar.appendChild(this.messageInputField);this.messagesFooterBar.appendChild(this.addEmojiButton);this.messagesFooterBar.appendChild(this.cameraPickerButton);this.messagesFooterBar.appendChild(this.sendButton);this.messagesFooterBar.appendChild(this.recordButton);this.messagesFooterBar.appendChild(this.messagesEmojiMenu);this.messagesFooterBar.appendChild(this.addAttachmentButton);this.messagesFooterBar.appendChild(this.addAttachmentsMenu);this.messagesFooterBar.appendChild(this.voiceRecorderMenu);this.voiceRecorderMenu.appendChild(this.voiceRecorderStopRecordingButton);this.voiceRecorderMenu.appendChild(this.voiceRecorderStopPlaybackButton);this.voiceRecorderMenu.appendChild(this.voiceRecorderPlayRecordingButton);this.voiceRecorderMenu.appendChild(this.voiceRecorderDeleteRecordingButton);this.voiceRecorderMenu.appendChild(this.voiceRecorderSendRecordingButton);this.voiceRecorderMenu.appendChild(this.voiceRecorderMenuTimerHolder);this.messagesHolder.appendChild(this.messagesFooterBar);this.messagesHolder.appendChild(this.chatMessagesDownButton);this.messagesHolder.appendChild(this.chatGroupPickerDialogContainer);this.chatGroupPickerDialog=new ChatGroupPickerDialog(this.chatGroupPickerDialogContainer,this);this.popupMessagesContainer=document.createElement('div');this.popupMessagesContainer.id="ChatViewPopupMessagesContainer";this.popupMessagesContainerInnerHolder=document.createElement('div');this.popupMessagesContainerInnerHolder.id="ChatViewPopupMessagesContainerInnerHolder";this.popupMessagesContainer.appendChild(this.popupMessagesContainerInnerHolder);this.messagesHolder.appendChild(this.popupMessagesContainer);this.imageGalleryContainer=document.createElement('div');this.imageGalleryContainer.className="ChatViewImageGalleryContainer";this.messagesHolder.appendChild(this.imageGalleryContainer);this.imageGallery=new ImageGallery(this.imageGalleryContainer);this.messagesHolder.appendChild(this.loadingScreen);domView.appendChild(this.messagesHolder);this.messagesTitleBarTitle.innerHTML="";this.messagesTitleBarText.innerHTML="";this.messagesTitleBarProfilePicture.style.backgroundImage="";this.messagesTitleBarProfilePicture.style.border="";this.resetFooterVoiceRecoderMenu();this.messagesFooterBar.style.display="none";this.messagesInnerHolder.className="WithoutFooter";this.searchInputField.addEventListener("keyup",function(event){if(this.searchInputField.value.length>1){this.getChatGroups(this.searchInputField.value);}else if(this.searchInputField.value.length==0){this.getChatGroups(null);} if(this.searchInputField.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchInputField.value="";this.searchClearButton.style.display="none";this.getChatGroups(null);}.bind(this));},start:function(data=null){this.showLoadingScreen("top");this.selectedChatID=0;this.recipientID=0;this.selectedChatLatestMessageID=0;this.searchInputField.value="";this.messagesArray=new Array();this.pushedMessagesArray=new Array();this.firstLoad=true;this.messagesTitleMenuButton.style.display="none";this.dismissContactsDialog();this.dismissMessagesDialog();this.dismissMessagesDialog();this.chatGroupPickerDialog.dismiss();this.imageGallery.dismiss();const mq=window.matchMedia("(max-width: 700px)");if(mq.matches){this.contactsHolder.style.display="block";this.messagesHolder.style.display="none";} this.getChatGroups(null);this.messagesInnerHolder.addEventListener("scroll",function(e){if(this.messagesInnerHolder.scrollTop==0&&this.blockScrollPageCalls==false&&this.totalMessages>this.messagesArray.length){this.blockScrollPageCalls=true;this.getPreviousPage();} if(this.messagesInnerHolder.scrollHeight<=this.messagesInnerHolder.scrollTop+this.messagesInnerHolder.clientHeight+10){this.chatMessagesDownButton.style.display="none";}}.bind(this));this.startRefreshingChatGroups();if(data!=null&&data.uid!=undefined&&data.uid){this.loadDMChatGroup(data.uid);}else if(data!=null&&data.gid!=undefined&&data.gid){this.loadChatGroup(data.gid);}},stop:function(){this.resetChatMessages();this.stopRefreshingChatGroups();},onApplicationMovedToForeground:function(){this.startRefreshingChatGroups();},onApplicationMovedToBackground:function(){this.stopRefreshingChatGroups();},startRefreshingChatGroups:function(){this.refreshInterval=setInterval(function(){if(this.searchInputField.value.length>1){this.getChatGroups(this.searchInputField.value);}else if(this.searchInputField.value.length==0){this.getChatGroups(null);}}.bind(this),Globals.CHAT_REFRESH_TIMER_INTERVAL);},stopRefreshingChatGroups:function(){if(this.refreshInterval!=null){clearInterval(this.refreshInterval);this.refreshInterval=null;}},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";if(this.selectedChatIsGroup==0&&this.recipientID!=Application.sessionManager.sessionData.uid){var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/call_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].ChatViewTitleBarMenu.StartVoiceCallButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.startVoiceCallButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/call_videocam_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].ChatViewTitleBarMenu.StartVideoCallButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.startVideoCallButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);} var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/info_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].ChatViewTitleBarMenu.ShowChatDetailsButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.showChatInfoButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showMessagesTitleBarMenu:function(){this.titleBarMenu.style.display="block";},hideMessagesTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleMessagesTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showMessagesTitleBarMenu();else this.hideMessagesTitleBarMenu();},buildAttachmentsMenu:function(){this.addAttachmentsMenu.innerHTML="";var menu=document.createElement("div");menu.className="ChatViewAttachmentsMenu";var menuItem=document.createElement("div");menuItem.className="MenuItem";var itemIcon=document.createElement("div");itemIcon.className="Icon";itemIcon.style.backgroundImage="url('/assets/images/icons/photo_library_black.svg')";menuItem.appendChild(itemIcon);var itemTitle=document.createElement("div");itemTitle.className="Title";itemTitle.innerHTML=s[l].ChatViewAttachmentsMenu.PhotoMenuItemTitle;menuItem.appendChild(itemTitle);var fileInput=document.createElement("input");fileInput.type="file";fileInput.accept="image/*";fileInput.style.display="none";fileInput.addEventListener('change',function(e){if(e.target.files[0])this.onCameraPickerFileSelected(e);}.bind(this));menuItem.appendChild(fileInput);menuItem.addEventListener("click",function(){this.delegate.hideAttachmentsMenu();this.fileInput.click();}.bind({delegate:this,fileInput:fileInput}));menu.appendChild(menuItem);var menuItem=document.createElement("div");menuItem.className="MenuItem";var itemIcon=document.createElement("div");itemIcon.className="Icon";itemIcon.style.backgroundImage="url('/assets/images/icons/file_black.svg')";menuItem.appendChild(itemIcon);var itemTitle=document.createElement("div");itemTitle.className="Title";itemTitle.innerHTML=s[l].ChatViewAttachmentsMenu.FileMenuItemTitle;menuItem.appendChild(itemTitle);var fileInput=document.createElement("input");fileInput.type="file";fileInput.accept="application/pdf, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-powerpoint, text/plain";fileInput.style.display="none";fileInput.addEventListener('change',function(e){if(e.target.files[0])this.onFilePickerFileSelected(e);}.bind(this));menuItem.appendChild(fileInput);menuItem.addEventListener("click",function(){this.delegate.hideAttachmentsMenu();this.fileInput.click();}.bind({delegate:this,fileInput:fileInput}));menu.appendChild(menuItem);return menu;},showAttachmentsMenu:function(){this.addAttachmentsMenu.style.display="block";this.addAttachmentButton.classList.add("Selected");},hideAttachmentsMenu:function(){this.addAttachmentsMenu.style.display="none";this.addAttachmentButton.classList.remove("Selected");},toggleAttachmentsMenu:function(){this.emojiMenu.hideMenu();if(this.addAttachmentsMenu.style.display=="block"){this.hideAttachmentsMenu();}else{this.showAttachmentsMenu();}},populateChatGroups:function(data){var chatGroups=(data.chat_groups!=undefined?data.chat_groups:null);var chatDMGroups=(data.chat_members!=undefined?data.chat_members:null);this.groupsArray=new Array();for(var i in chatGroups){var group=chatGroups[i];var isSelected=false;if(group.gid==this.selectedChatID&&this.selectedChatIsGroup==group.is_group)isSelected=true;var groupItem=new ChatGroupItem(group,this,isSelected);this.groupsArray.push(groupItem);} for(var i in chatDMGroups){var group=chatDMGroups[i];var isSelected=false;if(group.gid==this.selectedChatID&&this.selectedChatIsGroup==group.is_group)isSelected=true;var groupItem=new ChatGroupItem(group,this,isSelected);this.groupsArray.push(groupItem);} this.groupsArray.sort((a,b)=>((new Date(b.itemData.latest_message_timestamp)).getTime())-(new Date(a.itemData.latest_message_timestamp)).getTime());this.chatGroupsHolder.innerHTML="";var shouldUpdateChatMessages=false;for(var i=0;i0){for(var x=0;x0?false:true) var firstItem=(this.messagesArray.length>0?this.messagesInnerHolder.childNodes[0]:null);this.totalMessages=messageData.total;if(messageData.messages!=undefined&&messageData.messages.length>0){var messages=messageData.messages;for(var i=0;i(a.itemData.mid-b.itemData.mid));var maxMessageID=parseInt(this.selectedChatLatestMessageID);for(var i=0;i0?this.messagesArray[this.messagesArray.length-1].message:null);if(this.selectedChatLatestMessageID0&&latestMessage.message_type!="call"&&(latestMessage.message_type!="system"&&latestMessage.message!="MessageReaction"))this.playNewMessageSound();}catch(e){this.playNewMessageSound();}} if(this.firstLoad||(this.shouldScrollDown()&&(latestMessage.message_type!="system"&&latestMessage.message!="MessageReaction"))){this.messagesInnerHolder.scrollTop=this.messagesInnerHolder.scrollHeight;if(this.messagesInnerHolder.childNodes.length>0){var totalItems=this.messagesInnerHolder.childNodes.length;this.lastSeenItem=this.messagesInnerHolder.childNodes[totalItems-1];this.chatMessagesDownButton.style.display="none";}}else if(this.blockScrollPageCalls==true&&firstItem!=null){this.messagesInnerHolder.scrollTop=(firstItem.getBoundingClientRect().top-firstItem.getBoundingClientRect().height-53);setTimeout(function(){this.messagesInnerHolder.scrollTop=this.messagesInnerHolder.scrollTop;}.bind(this),1);}else if(this.blockScrollPageCalls==false){if(latestMessage.message_type!="system"&&latestMessage.message!="MessageReaction")this.chatMessagesDownButton.style.display="block";}else{this.lastSeenItem=null;}} this.messagesTitleMenuButton.innerHTML="";this.messagesTitleMenuButton.appendChild(this.buildTitleBarMenu());},addChatMessage:function(message){var messageItem=new ChatMessageItem(message,this);var domMessage=messageItem.domItem;this.messagesInnerHolder.appendChild(domMessage);this.messagesInnerHolder.scrollTop=this.messagesInnerHolder.scrollHeight;this.pushedMessagesArray.push(messageItem);},updateSelectedChatWithNewMessages:function(gid,isGroup,start,count){this.getChatMessages(gid,isGroup,start,count);},scrollToLastSeenChatItem:function(){if(this.lastSeenItem!=null){this.messagesInnerHolder.scrollTop=this.messagesInnerHolder.scrollHeight;} this.chatMessagesDownButton.style.display="none";},shouldScrollDown:function(){if(this.messagesInnerHolder.scrollHeight-(this.messagesInnerHolder.clientHeight+this.messagesInnerHolder.scrollTop)this.messagesArray.length){this.showLoadingScreen();ChatView.getChatMessages(this.selectedChatID,this.selectedChatIsGroup,this.messagePageSize*this.currentPage,this.messagePageSize);this.currentPage+=1;}},resetChatMessages:function(){this.currentPage=1;this.totalPages=1;this.totalMessages=0;this.selectedChatID=0;this.recipientID=0;this.selectedChatLatestMessageID=0;this.lastSeenItem=null;this.firstLoad=true;this.messagesTitleBarTitle.innerHTML="";this.messagesTitleBarText.innerHTML="";this.messagesTitleBarProfilePicture.style.backgroundImage="";this.messagesTitleBarProfilePicture.style.border="";this.messagesTitleBarProfilePicture.classList.remove("Online");this.resetFooterVoiceRecoderMenu();this.messagesFooterBar.style.display="none";this.messagesInnerHolder.className="WithoutFooter";this.messagesInnerHolder.innerHTML="";this.messagesTitleMenuButton.style.display="none";this.pushedMessagesArray=new Array();this.messagesArray=new Array();this.hideMessagesTitleBarMenu();this.dismissContactsDialog();this.dismissMessagesDialog();this.hideAttachmentsMenu();},onNewChatButtonPressed:function(){this.resetChatMessages();this.messagesInnerHolder.appendChild(this.messagesPlaceholder);this.presentViewInContactsDialog(NewchatView,null);},startVoiceCallButtonPressed:function(){this.hideAttachmentsMenu();this.emojiMenu.hideMenu();Application.callManager.startCall(this.recipientID,1);},startVideoCallButtonPressed:function(){this.hideAttachmentsMenu();this.emojiMenu.hideMenu();Application.callManager.startCall(this.recipientID,2);},showChatInfoButtonPressed:function(){this.hideAttachmentsMenu();this.emojiMenu.hideMenu();this.presentViewInMessagesDialog(ChatdetailsView,{gid:this.selectedChatID,is_group:this.selectedChatIsGroup});},onChatGroupPickerDialogEnded:function(selectedGroups,data){var groupsIDs=Array();for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size;}}else{if(height>max_size){width*=max_size/height;height=max_size;}} canvas.width=width;canvas.height=height;canvas.getContext('2d').drawImage(image,0,0,width,height);var dataURL=canvas.toDataURL('image/jpeg');var resizedImage=Utils.dataURLToBlob(dataURL);var size=resizedImage.size;var fileSize=(size/(1024*1024)).toFixed(3);var message={message_type:"image",attachment_url:dataURL,attachment_metadata:JSON.stringify({width:parseInt(width),height:parseInt(height),filesize:fileSize,ext:"jpg"}),message:"",sender:SessionManager.sessionData.uid,sender_profile_picture:SessionManager.sessionData.profile_picture,sender_firstname:SessionManager.sessionData.firstname,sender_lastname:SessionManager.sessionData.lastname,creation_timestamp:timestamp} this.addChatMessage(message);var gid=this.selectedChatID;var uid=SessionManager.sessionData.uid;var recipient=this.recipientID;var isGroup=this.selectedChatIsGroup;var message="";var metadata={width:parseInt(width),height:parseInt(height),filesize:fileSize,ext:"jpg"};this.uploadImage(gid,uid,recipient,isGroup,message,resizedImage,JSON.stringify(metadata));}.bind(this);image.src=readerEvent.target.result;}.bind(this);reader.readAsDataURL(file);}},proccessAndUploadFile:function(file=null){if(file==null)return;var filename=file.name;var nameArray=filename.split(".");var ext=nameArray[nameArray.length-1];var size=file.size;var fileSize=(size/(1024*1024)).toFixed(2);var reader=new FileReader();reader.addEventListener("load",function(){var filename=file.name;var nameArray=filename.split(".");var ext=nameArray[nameArray.length-1];var dataURL=reader.result;var timestamp=Date.getAdjustedCurrentTimestamp();var message={message_type:"file",attachment_url:dataURL,attachment_metadata:JSON.stringify({filename:filename,filesize:fileSize,ext:ext}),message:"",sender:SessionManager.sessionData.uid,sender_profile_picture:SessionManager.sessionData.profile_picture,sender_firstname:SessionManager.sessionData.firstname,sender_lastname:SessionManager.sessionData.lastname,creation_timestamp:timestamp} this.addChatMessage(message);}.bind(this));reader.readAsDataURL(file);var gid=this.selectedChatID;var uid=SessionManager.sessionData.uid;var recipient=this.recipientID;var isGroup=this.selectedChatIsGroup;var message="";var metadata={filename:filename,filesize:fileSize,ext:ext};this.uploadFile(gid,uid,recipient,isGroup,message,file,JSON.stringify(metadata));},onEmojiMenuItemSelected:function(emoji){this.messageInputField.value=this.messageInputField.value+emoji;this.recordButton.style.display="none";this.sendButton.style.display="block";},onChatSendButtonPressed:function(){if(this.emojiMenu.isVisible)this.emojiMenu.hideMenu();this.hideAttachmentsMenu();var timestamp=Date.getAdjustedCurrentTimestamp();var message=this.messageInputField.value;var gid=this.selectedChatID;var recipient=(this.recipientID>0?this.recipientID:null);var type=(Utils.isURL(message)?"link":"text");var isGroup=this.selectedChatIsGroup;if(message.length>0){var msg={message_type:type,attachment_url:null,attachment_metadata:null,message:message,sender:SessionManager.sessionData.uid,sender_profile_picture:SessionManager.sessionData.profile_picture,sender_firstname:SessionManager.sessionData.firstname,sender_lastname:SessionManager.sessionData.lastname,creation_timestamp:timestamp} this.addChatMessage(msg);this.sendChatMessage(gid,recipient,message,type,isGroup);this.messageInputField.value="";}},onChatRecordButtonPressed:function(){this.emojiMenu.hideMenu();this.hideAttachmentsMenu();this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.voiceRecorderStopRecordingButton.style.display="block";this.voiceRecorderCounter=0;this.latestRecordingLength=0;this.voiceRecorderInterval=setInterval(function(){this.voiceRecorderCounter+=1;this.latestRecordingLength+=1;this.voiceRecorderMenuTimerHolder.innerHTML="00:"+(this.voiceRecorderCounter<10?"0"+this.voiceRecorderCounter:this.voiceRecorderCounter);if(this.voiceRecorderCounter>=this.audioRecorderDefaultDuration/1000)clearInterval(this.voiceRecorderInterval);}.bind(this),1000);if(this.voiceRecorderMenu.style.display=="block"){this.voiceRecorderMenu.style.display="none";}else{this.voiceRecorderMenu.style.display="block";} if(this.activeAudioMessageItem!=null&&this.activeAudioMessageItem.stopPlayback!=undefined)this.activeAudioMessageItem.stopPlayback();this.activeAudioRecorder=new AudioRecorder(this,this.audioRecorderDefaultDuration);this.activeAudioRecorder.record();this.emojiMenu.hideMenu();},onVoiceRecorderStopRecordingButtonPressed:function(){if(this.activeAudioRecorder!=null)this.activeAudioRecorder.stop();clearInterval(this.voiceRecorderInterval);},onVoiceRecorderPlayRecordingButtonPressed:function(){this.voiceRecorderCounter=0;this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.voiceRecorderPlayRecordingButton.style.display="none";this.voiceRecorderStopPlaybackButton.style.display="block";this.activeAudioPlayer.play();if(this.audioPlayerInterval!=null)clearInterval(this.audioPlayerInterval);this.audioPlayerInterval=setInterval(function(){this.voiceRecorderCounter+=1;this.voiceRecorderMenuTimerHolder.innerHTML="00:"+(this.voiceRecorderCounter<10?"0"+this.voiceRecorderCounter:this.voiceRecorderCounter);if(this.voiceRecorderCounter>=this.latestRecordingLength){clearInterval(this.audioPlayerInterval);this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.voiceRecorderPlayRecordingButton.style.display="block";this.voiceRecorderStopPlaybackButton.style.display="none";}}.bind(this),1000);},onVoiceRecorderStopPlaybackButtonPressed:function(){this.voiceRecorderPlayRecordingButton.style.display="block";this.voiceRecorderStopPlaybackButton.style.display="none";this.activeAudioPlayer.pause();this.activeAudioPlayer.currentTime=0;this.voiceRecorderCounter=0;this.voiceRecorderMenuTimerHolder.innerHTML="00:00";if(this.audioPlayerInterval!=null)clearInterval(this.audioPlayerInterval);this.audioPlayerInterval=null;},onVoiceRecorderDeleteRecordingButtonPressed:function(){this.activeAudioPlayer.pause();this.activeAudioPlayer.currentTime=0;this.voiceRecorderCounter=0;this.voiceRecorderMenuTimerHolder.innerHTML="00:00";if(this.audioPlayerInterval!=null)clearInterval(this.audioPlayerInterval);Alert.present(s[l].ChatViewDeleteMessageAlertTitle,s[l].ChatViewDeleteMessageAlertText,s[l].ChatViewDeleteMessageAlertButton1,s[l].ChatViewDeleteMessageAlertButton2,function(buttonPressed){if(buttonPressed==1){this.activeAudioPlayer.pause();this.activeAudioPlayer.currentTime=0;this.resetFooterVoiceRecoderMenu();}}.bind(this));},onVoiceRecorderSendRecordingButtonPressed:function(){this.activeAudioPlayer.pause();this.activeAudioPlayer.currentTime=0;this.voiceRecorderCounter=0;if(this.audioPlayerInterval!=null)clearInterval(this.audioPlayerInterval);var timestamp=Date.getAdjustedCurrentTimestamp();var encoding=this.latestRecordingData.type;var message={message_type:"audio",attachment_url:this.latestRecordingURL,sender:SessionManager.sessionData.uid,sender_profile_picture:SessionManager.sessionData.profile_picture,sender_firstname:SessionManager.sessionData.firstname,sender_lastname:SessionManager.sessionData.lastname,attachment_metadata:JSON.stringify({audio_length:this.latestRecordingLength,audio_encoding:encoding}),creation_timestamp:timestamp} this.addChatMessage(message);var blob=this.latestRecordingData;var gid=this.selectedChatID;var uid=SessionManager.sessionData.uid;var recipient=this.recipientID;var isGroup=this.selectedChatIsGroup;var message="";var metadata={'audio_length':this.latestRecordingLength,'audio_encoding':encoding};this.uploadAudio(gid,uid,recipient,isGroup,message,blob,JSON.stringify(metadata));this.resetFooterVoiceRecoderMenu();},onMobileBackButtonPressed:function(){this.showLoadingScreen("top");const mq=window.matchMedia("(max-width: 700px)");if(mq.matches){this.contactsHolder.style.display="block";this.messagesHolder.style.display="none";this.messagesInnerHolder.innerHTML="";this.messagesInnerHolder.appendChild(this.messagesPlaceholder);this.messagesTitleBarTitle.innerHTML="";this.messagesTitleBarText.innerHTML="";this.messagesTitleBarProfilePicture.style.backgroundImage="";this.messagesTitleBarProfilePicture.style.border="";this.messagesFooterBar.style.display="none";this.messagesInnerHolder.className="WithoutFooter";this.searchInputField.value="";this.selectedChatID=0;this.selectedChatIsGroup=0;this.recipientID=0;this.selectedChatLatestMessageID=0;this.getChatGroups(null);}},uploadFile:async function(gid,uid,recipient,isGroup,message,file,metadata=null){var filename=file.name;var nameArray=filename.split(".");var ext=nameArray[nameArray.length-1];const formData=new FormData();formData.append('gid',gid);formData.append('uid',uid);if(isGroup==false)formData.append('recipient',recipient);formData.append('is_group',isGroup);formData.append('message',message);formData.append('file',file);formData.append('file_ext',ext);formData.append('name',filename);formData.append('metadata',metadata);const apiUrl="api/v1.0/chat/sendmessage.php";const response=await fetch(apiUrl,{method:'POST',cache:'no-cache',contentType:"multipart/form-data",body:formData});return response;},uploadImage:async function(gid,uid,recipient,isGroup,message,image,metadata=null){const formData=new FormData();formData.append('gid',gid);formData.append('uid',uid);if(isGroup==false)formData.append('recipient',recipient);formData.append('is_group',isGroup);formData.append('message',message);formData.append('image',image);formData.append('file_ext',"jpg");formData.append('name',"temp.jpg");formData.append('metadata',metadata);const apiUrl="api/v1.0/chat/sendmessage.php";const response=await fetch(apiUrl,{method:'POST',cache:'no-cache',contentType:"multipart/form-data",body:formData});return response;},uploadAudio:async function(gid,uid,recipient,isGroup,message,blob,metadata=null){const formData=new FormData();formData.append('gid',gid);formData.append('uid',uid);if(isGroup==false)formData.append('recipient',recipient);formData.append('is_group',isGroup);formData.append('message',message);formData.append('audio',blob);formData.append('file_ext',"webm");formData.append('name',"temp.ogg");formData.append('metadata',metadata);const apiUrl="api/v1.0/chat/sendmessage.php";const response=await fetch(apiUrl,{method:'POST',cache:'no-cache',contentType:"multipart/form-data",body:formData});return response;},resetFooterVoiceRecoderMenu:function(){this.voiceRecorderDeleteRecordingButton.style.display="none";this.voiceRecorderPlayRecordingButton.style.display="none";this.voiceRecorderStopPlaybackButton.style.display="none";this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.voiceRecorderSendRecordingButton.style.display="none";this.voiceRecorderStopRecordingButton.style.display="block";this.voiceRecorderMenu.style.display="none";},presentViewInContactsDialog:function(view,data=null){this.searchInputField.value="";this.searchClearButton.style.display="none";this.popupContactsContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupContactsContainerInnerHolder.appendChild(viewHolder);view.start(data);this.popupContactsContainer.style.display="block";this.popupContactsContainerInnerHolder.style.transition="0s";this.popupContactsContainerInnerHolder.style.top="2000px";this.popupContactsContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContactsContainerInnerHolder.style.top="0px";}.bind(this),100);},dismissContactsDialog:function(){this.popupContactsContainer.style.display="none";this.popupContactsContainerInnerHolder.innerHTML="";this.popupContactsContainerInnerHolder.style.top="2000px";},presentViewInMessagesDialog:function(view,data=null){this.popupMessagesContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupMessagesContainerInnerHolder.appendChild(viewHolder);view.start(data);this.popupMessagesContainer.style.display="block";this.popupMessagesContainerInnerHolder.style.transition="0s";this.popupMessagesContainerInnerHolder.style.top="2000px";this.popupMessagesContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupMessagesContainerInnerHolder.style.top="0px";}.bind(this),100);},dismissMessagesDialog:function(){this.popupMessagesContainer.style.display="none";this.popupMessagesContainerInnerHolder.innerHTML="";this.popupMessagesContainerInnerHolder.style.top="2000px";},onDismissContactsDialog:function(){this.dismissContactsDialog();},onDismissMessagesDialog:function(){this.dismissMessagesDialog();},onNewChatGroupCreated:function(data=null){if(data!=null){if(data.chat_group!=undefined)this.loadChat(data.chat_group);this.dismissContactsDialog();this.getChatGroups(null);}},playNewMessageSound:function(){var snd=new Audio("/assets/sounds/send_message.mp3");snd.volume=0.5;snd.play();},onChatMessageItemImageSelected:function(messageItem){var imageData=messageItem.itemData;this.imageGallery.presentImageGalleryWithImages(imageData);},onChatMessageItemReactionsSelected:function(messageItem){console.log("TODO: Implement onChatMessageItemReactionsSelected in ChatView");},onAudioPlaybackStarted:function(messageItem){if(this.activeAudioMessageItem!=null&&this.activeAudioMessageItem.stopPlayback!=undefined&&this.activeAudioMessageItem!=messageItem)this.activeAudioMessageItem.stopPlayback();this.activeAudioMessageItem=messageItem;},onAudioPlaybackStopped:function(messageItem){if(this.activeAudioMessageItem==messageItem)this.activeAudioMessageItem=null;},onNewReactionRecieved:function(mid){for(var i=0;i0&&search.length<20?"search="+encodeURIComponent(search):"");request.postRequest(Globals.ServicesURL.getChatGroupsURL,params,function(responseData){this.onGetChatGroupsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetChatGroupsFailed(statusCode,errorMessage)}.bind(this));},getChatMessages:function(gid,isGroup,start=0,count=this.messagePageSize){var request=new NetworkRequest();var params="gid="+gid+"&is_group="+isGroup+"&start="+start+"&count="+count;request.postRequest(Globals.ServicesURL.getChatMessagesURL,params,function(responseData){this.onGetChatMessagesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetChatMessagesFailed(statusCode,errorMessage)}.bind(this));},deleteChatMessage:function(mid,recipient,gid,isGroup){var request=new NetworkRequest();var params="mid="+mid+"&recipient="+recipient+"&gid="+gid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.deleteChatMessageURL,params,function(responseData){this.onDeleteChatMessageSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteChatMessageFailed(statusCode,errorMessage)}.bind(this));},sendChatMessage:function(gid,recipient,message,type,isGroup){var request=new NetworkRequest();var params="gid="+gid+((recipient!=null||recipient>0)?"&recipient="+recipient:"")+"&type="+type+"&is_group="+isGroup+"&message="+encodeURIComponent(message);request.postRequest(Globals.ServicesURL.sendChatMessageURL,params,function(responseData){this.onSendChatMessageSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSendChatMessageFailed(statusCode,errorMessage)}.bind(this));},forwardChatMessage:function(groups,mid,gid,isGroup){var request=new NetworkRequest();var params="forward_groups="+groups+"&mid="+mid+"&gid="+gid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.forwardChatMessageURL,params,function(responseData){this.onForwardChatMessageSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onForwardChatMessageFailed(statusCode,errorMessage)}.bind(this));},loadDMChatGroup:function(recipient){var request=new NetworkRequest();var params="recipient="+recipient+"&is_group=false";request.postRequest(Globals.ServicesURL.createChatGroupURL,params,function(responseData){this.onLoadDMChatGroupSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onLoadDMChatGroupFailed(statusCode,errorMessage)}.bind(this));},loadChatGroup:function(gid){var request=new NetworkRequest();var params="gid="+gid+"&is_group=true";request.postRequest(Globals.ServicesURL.createChatGroupURL,params,function(responseData){this.onLoadChatGroupSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onLoadChatGroupFailed(statusCode,errorMessage)}.bind(this));},createExternalCallInvite:function(email,meetingTime=null){var request=new NetworkRequest();var params="email="+email+(meetingTime!=null?"&meeting_time="+meetingTime:"");request.postRequest(Globals.ServicesURL.createExternalCallInviteURL,params,function(responseData){this.onCreateExternalCallInviteSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateExternalCallInviteFailed(statusCode,errorMessage)}.bind(this));},onAudioRecorderAudioReady:function(blob){this.latestRecordingData=blob;this.latestRecordingURL=URL.createObjectURL(blob);this.voiceRecorderDeleteRecordingButton.style.display="block";this.voiceRecorderPlayRecordingButton.style.display="block";this.voiceRecorderStopPlaybackButton.style.display="none";this.voiceRecorderMenuTimerHolder.innerHTML="00:00";this.voiceRecorderSendRecordingButton.style.display="block";this.voiceRecorderStopRecordingButton.style.display="none";this.activeAudioPlayer=document.createElement('audio');this.activeAudioPlayer.controls=false;const source=document.createElement('source');source.src=this.latestRecordingURL;if(Device.getBrowser()=="Safari")source.type='audio/mp4';else source.type='audio/webm';this.activeAudioPlayer.appendChild(source);},onGetChatGroupsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateChatGroups(data);},onGetChatGroupsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetChatMessagesSuccess:function(responseData){this.populateChatMessages(JSON.parse(responseData));setTimeout(function(){this.blockScrollPageCalls=false;}.bind(this),500);setTimeout(function(){if(this.selectedChatID!=null&&this.selectedChatID>0)this.hideLoadingScreen();}.bind(this),this.MINIMAL_LOADING_SCREEN_ANIMATION_DURATION);},onGetChatMessagesFailed:function(statusCode,errorMessage){this.blockScrollPageCalls=false;var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();setTimeout(function(){if(this.selectedChatID!=null&&this.selectedChatID>0)this.hideLoadingScreen();}.bind(this),this.MINIMAL_LOADING_SCREEN_ANIMATION_DURATION);},onSendChatMessageSuccess:function(responseData){this.recordButton.style.display="block";this.sendButton.style.display="none";if(this.searchInputField.value.length>1){this.getChatGroups(this.searchInputField.value);}else if(this.searchInputField.value.length==0){this.getChatGroups(null);}},onSendChatMessageFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteChatMessageSuccess:function(responseData){var data=JSON.parse(responseData);},onDeleteChatMessageFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onForwardChatMessageSuccess:function(responseData){this.playNewMessageSound();},onForwardChatMessageFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onLoadDMChatGroupSuccess:function(responseData){var data=JSON.parse(responseData);if(data!=null){if(data.chat_group!=undefined)this.loadChat(data.chat_group);}},onLoadDMChatGroupFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onLoadChatGroupSuccess:function(responseData){var data=JSON.parse(responseData);if(data!=null){if(data.chat_group!=undefined)this.loadChat(data.chat_group);}},onLoadChatGroupFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateExternalCallInviteSuccess:function(responseData){var data=JSON.parse(responseData);console.log(decodeURIComponent(data.external_link));},onCreateExternalCallInviteFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},});var ChatdetailsView=JS.subClass(JSAppView,{name:"ChatdetailsView",title:"Daily Report - Chat details",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,gid:0,isGroup:0,isAdmin:false,membersTableHolder:null,membersTable:null,membersArray:null,tableMenuItems:null,imageGallery:null,fileExplorer:null,chatGroupNameEditor:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.notificationsButton=document.createElement('div');this.notificationsButton.className="NotificationsButton";this.notificationsButton.addEventListener('click',function(){if(this.sendNotifications==1){this.sendNotifications=0;this.notificationsButton.style.backgroundImage="url('/assets/images/icons/notifications_inactive_white.svg')";}else{this.sendNotifications=1;this.notificationsButton.style.backgroundImage="url('/assets/images/icons/notifications_active_white.svg')";} var isMuted=(this.sendNotifications==1?0:1);var uid=Application.sessionManager.sessionData.uid;this.muteChatNotifications(uid,this.gid,this.isGroup,isMuted);}.bind(this));this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.detailsHolder=document.createElement('div');this.detailsHolder.className="DetailsHolder";this.canvas=document.createElement('canvas');this.canvas.id="ChatdetailsViewCanvas";this.canvas.width=500;this.canvas.height=500;this.groupPictureFile=document.createElement('input');this.groupPictureFile.type="file";this.groupPictureFile.accept="image/png, image/jpeg";this.groupPictureFile.id="NewchatViewUploadFile";this.groupPictureFile.style.display="none";this.groupPictureFile.addEventListener('change',function(){this.onGroupImageSelected(this.groupPictureFile);}.bind(this));this.fileExplorerContainer=document.createElement('div');this.fileExplorerContainer.className="ChatdetailsViewFileExplorerContainer";this.imageGalleryContainer=document.createElement('div');this.imageGalleryContainer.className="ChatdetailsViewImageGalleryContainer";this.groupNameEditorContainer=document.createElement('div');this.groupNameEditorContainer.className="ChatdetailsViewGroupNameEditorContainer";this.userPickerDialogContainer=document.createElement('div');this.userPickerDialogContainer.className="ChatdetailsViewUserPickerDialogContainer";},create:function(domView){this.titleBarText.innerHTML=s[l].ChatdetailsViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"info_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.notificationsButton);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.detailsHolder);domView.appendChild(this.innerHolder);domView.appendChild(this.fileExplorerContainer);this.fileExplorer=new FileExplorer(this.fileExplorerContainer,this);domView.appendChild(this.imageGalleryContainer);this.imageGallery=new ImageGallery(this.imageGalleryContainer,this);domView.appendChild(this.groupNameEditorContainer);this.chatGroupNameEditor=new ChatGroupNameEditor(this.groupNameEditorContainer,this);domView.appendChild(this.userPickerDialogContainer);this.userPickerDialog=new UserPickerDialog(this.userPickerDialogContainer,this);},start:function(data=null){this.gid=0;this.isGroup=0;this.isAdmin=false;this.membersTable=null;this.imageGallery.dismiss();this.fileExplorer.dismiss();this.userPickerDialog.dismiss();if(data==null)data={gid:1,is_group:1};if(data!=null&&data.gid!=undefined&&data.is_group!=undefined){this.gid=data.gid;this.isGroup=data.is_group;var uid=Application.sessionManager.sessionData.uid;this.getChatDetails(uid,this.gid,this.isGroup);}},stop:function(){this.hideTitleBarMenu();},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=null;if(this.isGroup==1){if(this.isAdmin==1){items=[{title:s[l].ChatdetailsViewTitleBarMenu.ChangeGroupPictureButtonTitleText,icon:"/assets/images/icons/photo_library_black.svg",action:"ChatdetailsView.changeGroupPicture();"},{title:s[l].ChatdetailsViewTitleBarMenu.ChangeGroupNameButtonTitleText,icon:"/assets/images/icons/edit_black.svg",action:"ChatdetailsView.changeGroupName();"},{title:s[l].ChatdetailsViewTitleBarMenu.AddMemberButtonTitleText,icon:"/assets/images/icons/add_user_black.svg",action:"ChatdetailsView.addMember();"},{title:s[l].ChatdetailsViewTitleBarMenu.DeleteGroupButtonTitleText,icon:"/assets/images/icons/delete_black.svg",action:"ChatdetailsView.deleteGroup();"},{title:s[l].ChatdetailsViewTitleBarMenu.ExitGroupButtonTitleText,icon:"/assets/images/icons/logout_black.svg",action:"ChatdetailsView.exitGroup();"},{title:s[l].ChatdetailsViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ChatdetailsView.dismiss();"}];}else{items=[{title:s[l].ChatdetailsViewTitleBarMenu.ExitGroupButtonTitleText,icon:"/assets/images/icons/logout_black.svg",action:"ChatdetailsView.exitGroup();"},{title:s[l].ChatdetailsViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ChatdetailsView.dismiss();"}];}}else{items=[{title:s[l].ChatdetailsViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ChatdetailsView.dismiss();"}];} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i1){this.delegate.getGroupMembers(uid,this.delegate.gid,this.delegate.isGroup,this.input.value);}else if(this.input.value.length==0){this.delegate.getGroupMembers(uid,this.delegate.gid,this.delegate.isGroup,null);} if(this.input.value.length>0){this.clearButton.style.display="block";}else{this.clearButton.style.display="none";}}.bind({delegate:this,input:membersTableSearchInput,clearButton:membersTableSearchBarClearButton}));return membersTableHolder;},toggleMembersTable:function(membersTable){this.hideAllMemberMenus();if(membersTable.table.style.display=="block"){membersTable.table.style.display="none";membersTable.searchField.style.opacity="0.0";membersTable.toggleButton.classList.remove("Collapse");membersTable.searchField.style.pointerEvents="none";}else{membersTable.table.style.display="block";membersTable.toggleButton.classList.add("Collapse");membersTable.searchField.style.opacity="1.0";membersTable.searchField.style.pointerEvents="all";}},onAdminMemberSelected:function(member,isChecked){},updateMemberList:function(memberData){this.populateMembersTable(memberData);},hideAllMemberMenus:function(){for(var i=0;i{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(this.canvas,img);var file=this.canvas.toDataURL("image/jpeg");this.groupPicture.style.backgroundImage="url("+file+")";var gid=this.gid;var uid=Application.sessionManager.sessionData.uid;this.updateChatGroup(uid,gid,null,null,null,null,file);}.bind(this);img.src=this.url;}},drawOnCanvas:function(canvas,img){var ctx=canvas.getContext('2d');if(img.width>img.height){var h=canvas.height;var w=canvas.height*(img.width/img.height);var dw=(w-canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=canvas.width*(img.height/img.width);var w=canvas.width;var dh=(h-canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);}},updateChatUserAdminStatus:function(member,newStatus){var gid=this.gid;var uid=Application.sessionManager.sessionData.uid;var user_id=member.uid;var set_as_admin=newStatus;this.updateChatGroup(uid,gid,null,user_id,set_as_admin,null,null);},updateChatUserMemberStatus:function(member,newStatus){var gid=this.gid;var uid=Application.sessionManager.sessionData.uid;var user_id=member.uid;var set_as_member=newStatus;this.updateChatGroup(uid,gid,null,user_id,null,set_as_member,null);},onFileExplorerImageSelected:function(image,imagesArray){this.imageGallery.presentImageGalleryWithImages(image,imagesArray);},addMember:function(){this.userPickerDialog.present(this.membersArray);},exitGroup:function(){Alert.present(s[l].ChatdetailsViewExitGroupAlert.Title,s[l].ChatdetailsViewExitGroupAlert.Description,s[l].ChatdetailsViewExitGroupAlert.Button1Title,s[l].ChatdetailsViewExitGroupAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var gid=this.gid;var uid=Application.sessionManager.sessionData.uid;var user_id=uid;var set_as_member=0;this.updateChatGroup(uid,gid,null,user_id,null,set_as_member,null);this.exitChat();}}.bind(this));},deleteGroup:function(){Alert.present(s[l].ChatdetailsViewDeleteGroupAlert.Title,s[l].ChatdetailsViewDeleteGroupAlert.Description,s[l].ChatdetailsViewDeleteGroupAlert.Button1Title,s[l].ChatdetailsViewDeleteGroupAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var gid=this.gid;var uid=Application.sessionManager.sessionData.uid;this.deleteChatGroup(uid,gid,this.isGroup)}}.bind(this));},exitChat:function(data){Application.loadView(ChatView,null);},getChatDetails:function(uid,gid,isGroup){var request=new NetworkRequest();var params="uid="+uid+"&gid="+gid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.getChatDetailsURL,params,function(responseData){this.onGetChatDetailsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetChatDetailsFailed(statusCode,errorMessage)}.bind(this));},getGroupMembers:function(uid,gid,isGroup,search=null){var request=new NetworkRequest();var params="uid="+uid+"&gid="+gid+"&is_group="+isGroup+(search!=null&&search.length>0?"&search="+search:"");request.postRequest(Globals.ServicesURL.getChatGroupMembersURL,params,function(responseData){this.onGetGroupMembersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetGroupMembersFailed(statusCode,errorMessage)}.bind(this));},updateChatGroup:function(uid,gid,title=null,user_id=null,set_as_admin=null,set_as_member=null,file=null){var request=new NetworkRequest();var params="uid="+uid+"&gid="+gid+(title!=null?"&title="+title:"")+(user_id!=null?"&user_id="+user_id:"")+(set_as_admin!=null?"&set_as_admin="+set_as_admin:"")+(set_as_member!=null?"&set_as_member="+set_as_member:"")+(file!=null?"&file="+file:"");request.postRequest(Globals.ServicesURL.updateChatGroupURL,params,function(responseData){this.onUpdateChatGroupSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateChatGroupFailed(statusCode,errorMessage)}.bind(this));},deleteChatGroup:function(uid,gid,isGroup){var request=new NetworkRequest();var params="uid="+uid+"&gid="+gid+"&is_group="+isGroup;request.postRequest(Globals.ServicesURL.deleteChatGroupURL,params,function(responseData){this.onDeleteChatGroupSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteChatGroupFailed(statusCode,errorMessage)}.bind(this));},muteChatNotifications:function(uid,gid,isGroup,isMuted){var request=new NetworkRequest();var params="uid="+uid+"&gid="+gid+"&is_group="+isGroup+"&is_muted="+isMuted;request.postRequest(Globals.ServicesURL.muteChatNotificationsURL,params,function(responseData){this.onMuteChatNotificationsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onMuteChatNotificationsFailed(statusCode,errorMessage)}.bind(this));},onUserPickerDialogEnded(selectedUsers){var userIDs=Array();for(var i=0;i0){var items=[{title:s[l].ClouddriveViewTitleBarMenu.UploadButtonTitleText,icon:"/assets/images/icons/upload_file_black.svg",action:"ClouddriveView.uploadFile();"}];}else{var items=[];} if(this.fd!=null&&parseInt(this.fd)>0){if(this.selectedRootFolder==0){items.push({title:s[l].ClouddriveViewTitleBarMenu.RenameFolderButtonTitleText,icon:"/assets/images/icons/rename_black.svg",action:"ClouddriveView.renameFolder();"}) items.push({title:s[l].ClouddriveViewTitleBarMenu.UpdateFolderSettingsButtonTitleText,icon:"/assets/images/icons/folder_management_black.svg",action:"ClouddriveView.updateFolderSettings();"})}} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";if(items.length>0){this.titleMenuButton.style.display="inline-block";for(var i=0;i0){this.searchClearButton.style.display="block";this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/search.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewNavigationBarSearchFieldPlaceholderText;this.inSearchMode=true;this.search(this.searchFieldInput.value);}else{this.search(null);this.searchClearButton.style.display="none";this.inSearchMode=false;this.resetNavigationTitle();}}.bind(this));this.searchFieldInput.addEventListener('focus',function(){this.hideMobileSidebarMenu();}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.inSearchMode=false;this.search(null);this.resetNavigationTitle();}.bind(this));return navigationBar;},resetNavigationTitle:function(){switch(this.selectedRootFolder){case 0:this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.MyFiles;break;case 1:this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/shared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.SharedWithMe;break;case 2:this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/stared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.Starred;break;}},buildMobileSidebarMenu:function(){this.mobileSidebarMenu=document.createElement('div');this.mobileSidebarMenu.className="MobileSidebarMenu";if(s[l].Direction=="rtl")this.mobileSidebarMenu.classList.add("MobileSidebarMenu_rtl");this.mobileSidebarFolderListHolder=document.createElement('div');this.mobileSidebarFolderListHolder.className="MobileSidebarFolderListHolder";this.mobileSidebarMenu.appendChild(this.mobileSidebarFolderListHolder);this.mobileFoldersInfoHolder=document.createElement('div');this.mobileFoldersInfoHolder.className="FoldersInfoHolder";this.mobileSidebarMenu.appendChild(this.mobileFoldersInfoHolder);this.myFilesMobileListItem=document.createElement('div');this.myFilesMobileListItem.className="FolderItem";if(this.selectedRootFolder==0)this.myFilesMobileListItem.classList.add("Selected");this.mobileSidebarFolderListHolder.appendChild(this.myFilesMobileListItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/folder_black.svg')";this.myFilesMobileListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.MyFiles;this.myFilesMobileListItem.appendChild(title);this.myFilesMobileListItem.addEventListener('click',function(){this.myFilesMobileListItem.classList.add("Selected");this.sharedWithMeMobileListItem.classList.remove("Selected");this.starredMobileListItem.classList.remove("Selected");this.selectedRootFolder=0;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.MyFiles;this.loadRootFolder(this.selectedRootFolder);this.hideMobileSidebarMenu();}.bind(this));this.sharedWithMeMobileListItem=document.createElement('div');this.sharedWithMeMobileListItem.className="FolderItem";this.mobileSidebarFolderListHolder.appendChild(this.sharedWithMeMobileListItem);if(this.selectedRootFolder==1)this.sharedWithMeMobileListItem.classList.add("Selected");var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/shared_folder_black.svg')";this.sharedWithMeMobileListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.SharedWithMe;this.sharedWithMeMobileListItem.appendChild(title);this.sharedWithMeMobileListItem.addEventListener('click',function(){this.myFilesMobileListItem.classList.remove("Selected");this.sharedWithMeMobileListItem.classList.add("Selected");this.starredMobileListItem.classList.remove("Selected");this.selectedRootFolder=1;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/shared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.SharedWithMe;this.loadRootFolder(this.selectedRootFolder);this.hideMobileSidebarMenu();}.bind(this));this.starredMobileListItem=document.createElement('div');this.starredMobileListItem.className="FolderItem";this.mobileSidebarFolderListHolder.appendChild(this.starredMobileListItem);if(this.selectedRootFolder==2)this.starredMobileListItem.classList.add("Selected");var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/stared_folder_black.svg')";this.starredMobileListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.Starred;this.starredMobileListItem.appendChild(title);this.starredMobileListItem.addEventListener('click',function(){this.myFilesMobileListItem.classList.remove("Selected");this.sharedWithMeMobileListItem.classList.remove("Selected");this.starredMobileListItem.classList.add("Selected");this.selectedRootFolder=2;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/stared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.Starred;this.loadRootFolder(this.selectedRootFolder);this.hideMobileSidebarMenu();}.bind(this));return this.mobileSidebarMenu;},showMobileSidebarMenu:function(){this.mobileSidebarMenu.style.display="block";this.hideAllItemMenues();this.hideTitleBarMenu();},hideMobileSidebarMenu:function(){this.mobileSidebarMenu.style.display="none";},buildSidebar:function(){this.clouddriveSidebar=document.createElement('div');this.clouddriveSidebar.className="Sidebar";this.sidebarFolderListHolder=document.createElement('div');this.sidebarFolderListHolder.className="SidebarFolderListHolder";this.clouddriveSidebar.appendChild(this.sidebarFolderListHolder);this.myFilesListItem=document.createElement('div');this.myFilesListItem.className="FolderItem";if(this.selectedRootFolder==0)this.myFilesListItem.classList.add("Selected");this.sidebarFolderListHolder.appendChild(this.myFilesListItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/folder_black.svg')";this.myFilesListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.MyFiles;this.myFilesListItem.appendChild(title);this.myFilesListItem.addEventListener('click',function(){this.myFilesListItem.classList.add("Selected");this.sharedWithMeListItem.classList.remove("Selected");this.starredListItem.classList.remove("Selected");this.selectedRootFolder=0;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.MyFiles;this.loadRootFolder(this.selectedRootFolder);}.bind(this));this.sharedWithMeListItem=document.createElement('div');this.sharedWithMeListItem.className="FolderItem";if(this.selectedRootFolder==1)this.sharedWithMeListItem.classList.add("Selected");this.sidebarFolderListHolder.appendChild(this.sharedWithMeListItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/shared_folder_black.svg')";this.sharedWithMeListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.SharedWithMe;this.sharedWithMeListItem.appendChild(title);this.sharedWithMeListItem.addEventListener('click',function(){this.myFilesListItem.classList.remove("Selected");this.sharedWithMeListItem.classList.add("Selected");this.starredListItem.classList.remove("Selected");this.selectedRootFolder=1;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/shared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.SharedWithMe;this.loadRootFolder(this.selectedRootFolder);}.bind(this));this.starredListItem=document.createElement('div');this.starredListItem.className="FolderItem";if(this.selectedRootFolder==2)this.starredListItem.classList.add("Selected");this.sidebarFolderListHolder.appendChild(this.starredListItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/stared_folder_black.svg')";this.starredListItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewSidebarListItems.Starred;this.starredListItem.appendChild(title);this.starredListItem.addEventListener('click',function(){this.myFilesListItem.classList.remove("Selected");this.sharedWithMeListItem.classList.remove("Selected");this.starredListItem.classList.add("Selected");this.selectedRootFolder=2;this.navigationBarIcon.style.backgroundImage="url('/assets/images/icons/stared_folder_black.svg')";this.navigationBarTitle.innerText=s[l].ClouddriveViewSidebarListItems.Starred;this.loadRootFolder(this.selectedRootFolder);}.bind(this));return this.clouddriveSidebar;},populateFolderContent:function(data){this.hideAllItemMenues();this.fd=data.current_directory;this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());this.allMenus=new Array();if(this.folderMenu!=null)this.allMenus.push(this.folderMenu);this.filesContainer.innerHTML="";this.filesContainer.addEventListener('click',function(e){e.stopPropagation();e.preventDefault();this.hideAllItemMenues();}.bind(this));this.pathHolder=document.createElement('div');this.pathHolder.className="PathHolder";if(this.inSearchMode==false)this.pathHolder.appendChild(this.buildPath(data.path));this.filesContainer.appendChild(this.pathHolder);this.filesHolder=document.createElement('div');this.filesHolder.className="FilesHolder";this.filesContainer.appendChild(this.filesHolder);var itemCount=0;if(data!=null&&data.content!=undefined&&data.content!=null){for(var i=0;i0))this.fileDropZone.style.display="block";}.bind(this));this.filesHolder.addEventListener('dragover',function(e){e.stopPropagation();e.preventDefault();if(this.selectedRootFolder==0||(this.selectedRootFolder==1&&this.fd>0))this.fileDropZone.style.display="block";}.bind(this));this.filesHolder.addEventListener('dragleave',function(e){e.stopPropagation();e.preventDefault();this.fileDropZone.style.display="none";}.bind(this));this.filesHolder.addEventListener('drop',function(e){e.stopPropagation();e.preventDefault();if(this.selectedRootFolder==0||(this.selectedRootFolder==1&&this.fd>0)){if(e.dataTransfer.items){var items=e.dataTransfer.items;for(var i=0;i0){var menuItem=document.createElement('div');menuItem.className="MenuItem";this.folderMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/rename_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewTitleBarMenu.RenameFolderButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.renameFolder();this.hideAllItemMenues();}.bind(this));} this.folderMenu.style.display="block";var containerRect=this.foldersHolder.getBoundingClientRect();var mouseX=event.clientX-containerRect.left;var mouseY=event.clientY-containerRect.top;this.folderMenu.style.top=mouseY+"px";this.folderMenu.style.left=mouseX+"px";}}.bind(this));},buildPath:function(pathItems){var path=document.createElement('div');path.className="Path";var lastPathName="";if(pathItems.length>0){for(var i=0;i0?itemData.thumbnail_url:itemData.file_url)+"')";}else{var fileType=MIMETypeParser.classMapper(metadata.content_type);fileIcon.classList.add(fileType);} fileItem.addEventListener('click',function(){if(this.menu.style.display=="block"){this.delegate.hideAllItemMenues();}else{this.delegate.presentViewInDialog(PreviewView,this.data);}}.bind({delegate:this,menu:itemMenu,data:itemData}));fileItem.addEventListener('contextmenu',function(e){e.preventDefault();e.stopPropagation();this.delegate.hideAllItemMenues();if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.menu.style.display="block";}}.bind({delegate:this,data:itemData,menu:itemMenu}));if(metadata.size!=undefined&&metadata.size!=null){var fileSize=document.createElement('div');fileSize.className="Size";fileSize.innerText=this.formatFileSize(metadata.size);fileItem.appendChild(fileSize);}}} return fileItem;},buildItemMenu:function(itemData,fileItem,starIcon){var itemMenu=document.createElement('div');itemMenu.className="ItemMenu";if(parseInt(itemData.is_folder)==0){var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/download_file_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.DownloadButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.download(this.data.name,this.data.file_url);}.bind({delegate:this,data:itemData}));var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage=(parseInt(itemData.is_starred)==1?"url('/assets/images/icons/star_empty_black.svg')":"url('/assets/images/icons/star_full_black.svg')");menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=(parseInt(itemData.is_starred)==1?s[l].ClouddriveViewFileItemMenu.UnstarButtonTitleText:s[l].ClouddriveViewFileItemMenu.StarButtonTitleText);menuItem.appendChild(title);menuItem.addEventListener('click',function(e){if(parseInt(this.itemData.is_starred)==1){this.itemData.is_starred=0;this.starIcon.classList.remove("Starred");this.title.innerText=(parseInt(this.itemData.is_starred)==1?s[l].ClouddriveViewFileItemMenu.UnstarButtonTitleText:s[l].ClouddriveViewFileItemMenu.StarButtonTitleText);this.delegate.setIsStarred(this.itemData.fd,0);if(this.delegate.selectedRootFolder==2){this.fileItem.remove();}}else{this.itemData.is_starred=1;this.starIcon.classList.add("Starred");this.title.innerText=(parseInt(this.itemData.is_starred)==1?s[l].ClouddriveViewFileItemMenu.UnstarButtonTitleText:s[l].ClouddriveViewFileItemMenu.StarButtonTitleText);this.starIcon.classList.add("Starred");this.delegate.setIsStarred(this.itemData.fd,1);} this.icon.style.backgroundImage=(parseInt(this.itemData.is_starred)==1?"url('/assets/images/icons/star_empty_black.svg')":"url('/assets/images/icons/star_full_black.svg')");this.title.innerText=(parseInt(this.itemData.is_starred)==1?s[l].ClouddriveViewFileItemMenu.UnstarButtonTitleText:s[l].ClouddriveViewFileItemMenu.StarButtonTitleText);}.bind({delegate:this,icon:icon,title:title,fileItem:fileItem,starIcon:starIcon,itemData:itemData}));} if(this.selectedRootFolder==0){var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/rename_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.RenameButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.renameFolder(this.data.name,this.data.fd);}.bind({delegate:this,data:itemData}));if(parseInt(itemData.owner_id)==parseInt(Application.sessionManager.sessionData.uid)){var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/file_move_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.MoveButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.move(this.data.name,this.data.fd);}.bind({delegate:this,data:itemData}));} var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/delete_document_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.DeleteButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.delete(this.data.name,this.data.fd,parseInt(this.data.is_folder));}.bind({delegate:this,data:itemData}));var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/folder_management_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.SettingsButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.getFilePermissions(this.data.fd);}.bind({delegate:this,data:itemData}));}else if(this.selectedRootFolder==1&&parseInt(itemData.owner_id)==parseInt(Application.sessionManager.sessionData.uid)){var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/rename_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.RenameButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.renameFolder(this.data.name,this.data.fd);}.bind({delegate:this,data:itemData}));var menuItem=document.createElement('div');menuItem.className="MenuItem";itemMenu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/delete_document_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].ClouddriveViewFileItemMenu.DeleteButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener("click",function(){this.delegate.delete(this.data.name,this.data.fd,parseInt(this.data.is_folder));}.bind({delegate:this,data:itemData}));} itemMenu.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();this.hideAllItemMenues();}.bind(this));return itemMenu;},onNativeFileHandled:function(fileName){if(this.presentedView!=null&&this.presentedView.onNativeFileHandled!=undefined)this.presentedView.onNativeFileHandled(fileName);},presentViewInDialog:function(view,data=null){this.hideMobileSidebarMenu();this.presentedView=view;this.popupContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupContainerInnerHolder.appendChild(viewHolder);view.start(data);this.popupContainer.style.display="block";this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);this.hideTitleBarMenu();this.hideAllItemMenues();},dismissDialog:function(){this.popupContainer.style.display="none";this.popupContainerInnerHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";this.presentedView=null;},onDismissDialogView:function(){this.dismissDialog();var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,searchValue);},search:function(searchValue=null){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,searchValue);},loadRootFolder:function(rootFolderType){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.rootFolderType=rootFolderType;this.getCloudDriveFolderList(null,this.selectedRootFolder,null);},onPathItemSelected:function(data){this.fd=data.fd;this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);},uploadFile:function(){var fileInput=document.createElement('input');fileInput.type='file';fileInput.accept='application/pdf,'+'application/msword,'+'application/vnd.openxmlformats-officedocument.wordprocessingml.document,'+'application/vnd.ms-excel,'+'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,'+'application/vnd.ms-powerpoint,'+'application/vnd.openxmlformats-officedocument.presentationml.presentation,'+'text/plain,text/csv,image/*,application/zip,.css,.js,'+'.doc,.docx,.xls,.xlsx,.ppt,.pptx';fileInput.addEventListener('change',function(event){const file=event.target.files[0];if(file){this.proccessAndUploadFile(file);}}.bind(this));fileInput.click();},createFolder:function(){var fileID=null;var fileName="";this.filenameEditor.presentFilenameEditorWithTitle(fileName,fileID);},renameFolder:function(filename=null,fd=null){var fileID=(fd!=null?fd:this.fd);var fileName=(filename!=null?filename:this.folderName);this.filenameEditor.presentFilenameEditorWithTitle(fileName,fileID);},move:function(filename=null,fd=null){var data={name:filename,fd:fd,parentFd:0,rootFolder:this.selectedRootFolder};this.filePicker.present(data,false)},deleteFolder:function(){if(parseInt(this.fd)>0)delete(this.folderName,this.fd,1);},delete:function(name,fd,isFolder){if(isFolder==1){Alert.present(s[l].ClouddriveViewDeleteFileAlert.DeleteFolderTitle,s[l].ClouddriveViewDeleteFileAlert.DeleteFolderBody,s[l].ClouddriveViewDeleteFileAlert.Button1Title,s[l].ClouddriveViewDeleteFileAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteCloudDriveFile(fd);}}.bind(this));}else{Alert.present(s[l].ClouddriveViewDeleteFileAlert.DeleteFileTitle,s[l].ClouddriveViewDeleteFileAlert.DeleteFileBody,s[l].ClouddriveViewDeleteFileAlert.Button1Title,s[l].ClouddriveViewDeleteFileAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteCloudDriveFile(fd);}}.bind(this));}},download:function(filename,fileURL){fetch(fileURL,{credentials:'include'}).then(response=>{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));},updateFolderSettings:function(){this.getFilePermissions(this.fd);},onFilenameEditorNameUpdated:function(name,fd){if(fd==null){this.createCloudDriveFolder(this.fd,name);}else{this.renameCloudDriveFile(fd,name);}},downloadFile:function(data){fetch(this.url,{credentials:'include'}).then(response=>{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=this.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));},presentProgressError:function(name){if(!this.progressItems||!this.progressItems[name])return;const item=this.progressItems[name];var itemProgress=item.getElementsByClassName("Progress")[0];itemProgress.innerHTML="x";itemProgress.style.backgroundColor="var(--color-red--)";itemProgress.addEventListener('click',function(){this.delegate.clearProgressItem(this.name);}.bind({delegate:this,name:name}));},clearProgressItem:function(name){if(!this.progressItems||!this.progressItems[name])return;var item=this.progressItems[name];if(item.parentNode)item.parentNode.removeChild(item);delete this.progressItems[name];},addProgressItem:function(name,filesize,progress){if(this.progressItems==null)this.progressItems={};if(this.progressItems[name]==undefined){var item=document.createElement('div');item.className="ProgressItem";this.uploadProgressHolder.appendChild(item);var icon=document.createElement('div');icon.className="UploadIcon";item.appendChild(icon);var filename=document.createElement('div');filename.className="Filename";filename.innerText=name;item.appendChild(filename);var itemSize=document.createElement('div');itemSize.className="FileSize";itemSize.innerText=filesize+"mb";item.appendChild(itemSize);var itemProgress=document.createElement('div');itemProgress.className="Progress";itemProgress.innerText=progress;item.appendChild(itemProgress);this.progressItems[name]=item;}else{var item=this.progressItems[name];var itemProgress=item.getElementsByClassName("Progress")[0];itemProgress.innerText=progress}},proccessAndUploadFile:function(file){if(!file)return;let formData=new FormData();let fileName=file.name;let fileSize=(file.size/(1024*1024)).toFixed(2);this.addProgressItem(fileName,fileSize,0);formData.append("file",file);formData.append("fd",this.fd);let xhr=new XMLHttpRequest();xhr.open("POST",Globals.ServicesURL.uloadFileToCloudDriveURL,true);xhr.upload.addEventListener("progress",function(e){if(e.lengthComputable){let actualPercent=Math.round((e.loaded/e.total)*100);if(actualPercent===100&&xhr.readyState<4){if(!this.fakeProgressInterval){let currentDisplay=90;this.fakeProgressInterval=setInterval(()=>{if(currentDisplay<99){currentDisplay+=0.3;this.addProgressItem(fileName,fileSize,Math.floor(currentDisplay)+"%");}},400);}}else{this.addProgressItem(fileName,fileSize,Math.floor(actualPercent)+"%");}}}.bind(this));xhr.onload=function(){if(this.fakeProgressInterval){clearInterval(this.fakeProgressInterval);this.fakeProgressInterval=null;} this.addProgressItem(fileName,"100%");if(xhr.status===200){this.onFileUploadSuccess(xhr.responseText);this.clearProgressItem(fileName);}else{this.onFileUploadFailed(xhr.status,xhr.responseText);this.presentProgressError(fileName);}}.bind(this);xhr.onerror=function(){console.error("Upload error occurred.");this.presentProgressError(fileName);};xhr.send(formData);},onFilePickerItemSelected:function(data,selectdFileData,isFilePicker){if(isFilePicker==false){var selectedFolderFD=selectdFileData.selectedFolderFD;this.moveCloudDriveFile(data.fd,selectedFolderFD);}},updateFileStates:function(data){this.foldersInfoHolder.innerHTML="";this.mobileFoldersInfoHolder.innerHTML="";var infoItem=document.createElement('div');infoItem.className="InfoItem";infoItem.innerText=s[l].ClouddriveViewTotalFilesInfoText+": "+data.total_files+" , "+s[l].ClouddriveViewTotalSizeInfoText+": "+data.total_size;this.foldersInfoHolder.appendChild(infoItem);var mobileInfoItem=document.createElement('div');mobileInfoItem.className="InfoItem";mobileInfoItem.innerText=s[l].ClouddriveViewTotalFilesInfoText+": "+data.total_files+" , "+s[l].ClouddriveViewTotalSizeInfoText+": "+data.total_size;this.mobileFoldersInfoHolder.appendChild(mobileInfoItem);},onShareSettingsDialogUpdate:function(resourceID,accessRights){this.updateFilePermissions(resourceID,JSON.stringify(accessRights.users),JSON.stringify(accessRights.departments),JSON.stringify(accessRights.teams));},formatFileSize:function(bytes){if(bytes<1024){return bytes+' B';}else if(bytes<1048576){return(bytes/1024).toFixed(2)+' KB';}else if(bytes<1073741824){return(bytes/1048576).toFixed(2)+' MB';}else{return(bytes/1073741824).toFixed(2)+' GB';}},getCloudDriveFolderList:function(fd=null,root=0,search=null){var request=new NetworkRequest();var params=(fd!=null?"fd="+fd:"")+(search!=null?(fd!=null?"&search="+search+"&root="+root:"search="+search+"&root="+root):"&root="+root);request.postRequest(Globals.ServicesURL.listCloudDriveFolderURL,params,function(responseData){this.onListCloudDriveFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onListCloudDriveFolderFailed(statusCode,errorMessage)}.bind(this));},createCloudDriveFolder:function(parentFd=0,name){var request=new NetworkRequest();var params="parent_fd="+parentFd+"&name="+encodeURIComponent(name);request.postRequest(Globals.ServicesURL.createCloudDriveFolderURL,params,function(responseData){this.onCreateCloudDriveFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateCloudDriveFolderFailed(statusCode,errorMessage)}.bind(this));},renameCloudDriveFile:function(fd,name){var request=new NetworkRequest();var params="fd="+fd+"&name="+encodeURIComponent(name);request.postRequest(Globals.ServicesURL.renameCloudDriveFileURL,params,function(responseData){this.onRenameCloudDriveFileSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRenameCloudDriveFileFailed(statusCode,errorMessage)}.bind(this));},deleteCloudDriveFile:function(fd){var request=new NetworkRequest();var params="fd="+fd;request.postRequest(Globals.ServicesURL.deleteFileInCloudDriveURL,params,function(responseData){this.onDeleteCloudDriveFileSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteCloudDriveFileFailed(statusCode,errorMessage)}.bind(this));},moveCloudDriveFile:function(fd,parentFd){var request=new NetworkRequest();var params="fd="+fd+"&parent_fd="+parentFd;request.postRequest(Globals.ServicesURL.moveFileInCloudDriveURL,params,function(responseData){this.onMoveCloudDriveFileSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onMoveCloudDriveFileFailed(statusCode,errorMessage)}.bind(this));},getFileStats:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getFileStatsURL,params,function(responseData){this.onGetFileStatsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFileStatsFailed(statusCode,errorMessage)}.bind(this));},getFilePermissions:function(fd){var request=new NetworkRequest();var params="fd="+fd;request.postRequest(Globals.ServicesURL.getFilePremissionsURL,params,function(responseData){this.onGetFilePremissionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFilePremissionsFailed(statusCode,errorMessage)}.bind(this));},updateFilePermissions:function(fd,users,departments,teams){var request=new NetworkRequest();var params="fd="+fd+"&users="+users+"&departments="+departments+"&teams="+teams;request.postRequest(Globals.ServicesURL.updateFilePremissionsURL,params,function(responseData){this.onUpdateFilePremissionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFilePremissionsFailed(statusCode,errorMessage)}.bind(this));},setIsStarred:function(fd,isStarred){var request=new NetworkRequest();var params="fd="+fd+"&is_starred="+isStarred;request.postRequest(Globals.ServicesURL.setStarredOnCloudDriveFileURL,params,function(responseData){this.onSetIsStarredSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetIsStarredFailed(statusCode,errorMessage)}.bind(this));},onListCloudDriveFolderSuccess:function(responseData){this.populateFolderContent(JSON.parse(responseData));},onListCloudDriveFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onFileUploadSuccess:function(data){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);this.getFileStats();},onFileUploadFailed:function(statusCode,errorMessage){},onListCloudDriveFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateCloudDriveFolderSuccess:function(data){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);},onCreateCloudDriveFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRenameCloudDriveFileSuccess:function(data){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);},onRenameCloudDriveFileFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteCloudDriveFileSuccess:function(data){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);this.getFileStats();},onDeleteCloudDriveFileFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onMoveCloudDriveFileSuccess:function(data){var responseData=JSON.parse(data) var parentFolder=responseData.parent_fd;this.getCloudDriveFolderList(parentFolder,this.selectedRootFolder,null);},onMoveCloudDriveFileFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetFileStatsSuccess:function(data){var responseData=JSON.parse(data) this.updateFileStates(responseData);},onGetFileStatsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetFilePremissionsSuccess:function(data){var responseData=JSON.parse(data) this.shareSettingsDialog.present(responseData.fd,responseData.users,responseData.departments,responseData.teams);},onGetFilePremissionsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFilePremissionsSuccess:function(data){this.getCloudDriveFolderList(this.fd,this.selectedRootFolder,null);},onUpdateFilePremissionsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSetIsStarredSuccess:function(data){},onSetIsStarredFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var CreateexternalcallinviteView=JS.subClass(JSAppView,{name:"CreateexternalcallinviteView",title:"Daily Report - Call Invite",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,linkData:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].CreateexternalcallinviteViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"add_call_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.appendChild(this.buildTitleBarMenu());this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);},start:function(data=null){this.linkData=null;this.formHolder.innerHTML="";this.buildInviteForm();},stop:function(){this.linkData=null;this.formHolder.innerHTML="";},buildInviteForm:function(){this.inviteForm=document.createElement('div');this.inviteForm.className="EventForm";this.inviteForm.innerHTML="";var emailTitle=document.createElement("div");emailTitle.className="InputTitle";emailTitle.innerHTML=s[l].CreateexternalcallinviteViewEmailInputTitle+":";this.inviteForm.appendChild(emailTitle);this.emailInput=new EmailAutocompleteInput(this.inviteForm,this,s[l].CreateexternalcallinviteViewEmailPlaceholder);var dateRow=document.createElement('div');dateRow.className="Date";var dateTitle=document.createElement('div');dateTitle.className="InputTitle";dateTitle.style.display="block";dateTitle.innerHTML=s[l].CreateexternalcallinviteViewMeetingTimeTitle+":";dateRow.appendChild(dateTitle);var dateHolder=document.createElement("div");dateHolder.className="DateHolder";this.datePicker=new DatePickerMenu(dateHolder,this);dateRow.appendChild(dateHolder);var timeHolder=document.createElement('div');timeHolder.className="TimePickerHolder";this.timePicker=new TimePickerMenu(timeHolder,this);dateRow.appendChild(timeHolder);var now=new Date();this.datePicker.init(now.getDate(),now.getMonth()+1,now.getFullYear());this.timePicker.init(now.getHours(),now.getMinutes());this.inviteForm.appendChild(dateRow);this.createButton=document.createElement('div');this.createButton.className="InviteButton";this.createButton.innerText=s[l].CreateexternalcallinviteViewCreateButtonText;this.createButton.onclick=function(){var emails=this.emailInput.getEmails();if(emails.length==0){Alert.present(s[l].CreateexternalcallinviteViewMissingEmailAlert.Title,s[l].CreateexternalcallinviteViewMissingEmailAlert.Description,s[l].CreateexternalcallinviteViewMissingEmailAlert.Button1);return;} var eventDate=this.datePicker.getDate();if(eventDate!=null&&this.timePicker.getTime()!=null){eventDate.setHours(this.timePicker.getHours());eventDate.setMinutes(this.timePicker.getMinutes());if(eventDate.getTime()<(new Date().getTime()-600000)){Alert.present(s[l].CreateexternalcallinviteViewInvalidDateAlert.Title,s[l].CreateexternalcallinviteViewInvalidDateAlert.Description,s[l].CreateexternalcallinviteViewInvalidDateAlert.Button1);return;} var startTime=Date.getServerAdjustedTimestampFromDate(eventDate);this.createExternalCallInvite(emails[0],startTime);}}.bind(this);this.inviteForm.appendChild(this.createButton);this.formHolder.appendChild(this.inviteForm);this.resultsHolder=document.createElement('div');this.resultsHolder.className="EventForm ResultsArea";this.resultsHolder.style.display="none";this.formHolder.appendChild(this.resultsHolder);this.sendEmailBtn=document.createElement('div');this.sendEmailBtn.className="SendEmailButton";this.sendEmailBtn.innerText=s[l].CreateexternalcallinviteViewSendEmailButtonText;this.formHolder.appendChild(this.sendEmailBtn);this.sendEmailBtn.onclick=function(){if(this.linkData!=null){this.sendExternalCallLinkViaEmail(this.linkData);}}.bind(this);},onEmailAutocompleteEmailItemAdded:function(email){this.emailInput.inputHolder.style.display="none";},onEmailAutoCompleteEmailItemDeleted:function(email){this.emailInput.inputHolder.style.display="block";this.emailInput.input.focus();this.resultsHolder.style.display="none";this.sendEmailBtn.style.display="none";this.linkData=null;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].CreateexternalcallinviteView.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"CreateexternalcallinviteView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(img);var file=this.canvas.toDataURL("image/jpeg");this.innerHolder.classList.add("WithUserBackground");this.innerHolder.style.backgroundImage="url("+file+")";this.userPreferencesManager.save(this.name+"_backgroundImage",encodeURIComponent(file));}.bind(this);img.src=this.url;}},drawOnCanvas:function(img){var ctx=this.canvas.getContext('2d');if(img.width>img.height){var h=this.canvas.height;var w=this.canvas.height*(img.width/img.height);var dw=(w-this.canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=this.canvas.width*(img.height/img.width);var w=this.canvas.width;var dh=(h-this.canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);}},resetLayout:function(){this.userPreferencesManager.delete(this.name+"_widget_data");this.userPreferencesManager.delete(this.name+"_backgroundImage");},saveWidgetStates:function(){var widgetData={};widgetData.WidgetList=this.widgetList;widgetData.WidgetStates={};for(var i=0;i1){var search=this.searchFieldInput.value;this.getContacts(search);}else if(this.searchFieldInput.value.length==0){this.getContacts();} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.getContacts();}.bind(this));this.contactList=document.createElement("div");this.contactList.className="ContactList";window.addEventListener("resize",function(){const mq=window.matchMedia("(min-width: 701px)");if(mq.matches){this.addressBook.style.display="inline-block";this.contactDetails.style.display="inline-block";this.titleBarMobileBackButton.style.display="none";this.titleBarText.style.width="calc(100% - 70px)";}}.bind(this));},create:function(domView){if(s[l].Direction=="rtl"){this.addressBook.classList.add('AddressBook_rtl');this.titleBarMobileBackButton.classList.add('TitleBarMobileBackButton_rtl');}else{this.addressBook.classList.remove('AddressBook_rtl');this.titleBarMobileBackButton.classList.remove('TitleBarMobileBackButton_rtl');} this.titleBarText.innerHTML=s[l].DirectoryViewTitleText;this.titleBarText.setAccessibility({type:'heading',level:1,label:s[l].DirectoryViewTitleText});this.searchFieldInput.placeholder=s[l].DirectoryViewSearchFieldPlaceholderText;this.searchFieldInput.setAccessibility({type:'textbox',label:s[l].DirectoryViewSearchFieldPlaceholderText});this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"address_book_white.svg"+")";this.titleBar.appendChild(this.titleBarMobileBackButton);this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);if(s[l].Direction=="rtl"){this.contactList.classList.add('ContactList_rtl');}else{this.contactList.classList.remove('ContactList_rtl');} this.addressbookholder.appendChild(this.addressBook);this.addressBook.appendChild(this.searchbar);this.addressBook.appendChild(this.contactList);this.addressbookholder.appendChild(this.contactDetails);domView.appendChild(this.addressbookholder);this.placeholderText.innerHTML=s[l].DirectoryViewContactsPlaceholderText;},start:function(data=null){if(data!=null&&data.uid!=undefined)this.selectedUID=data.uid;else this.selectedUID=0;this.contacts=null;this.mailAccess=false;this.chatAccess=false;this.searchFieldInput.value="";this.contactSheet.innerHTML="";this.contactSheet.style.display="none";const mq=window.matchMedia("(max-width: 700px)");if(mq.matches){this.addressBook.style.display="block";this.contactDetails.style.display="none";this.titleBarMobileBackButton.style.display="none";this.titleBarText.style.width="calc(100% - 50px)";this.contactSheet.style.display="none";} this.getContacts();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildAddressData:function(data){this.contacts=(data!=null&&data.contacts!=undefined?data.contacts:[]);this.mailAccess=(parseInt(data.mail_access)==1?true:false);this.chatAccess=(parseInt(data.chat_access)==1?true:false);this.contactList.innerHTML="";this.contactList.setAccessibility({type:'menu',label:s[l].DirectoryViewContactsListTitle});if(this.contacts.length>0){this.addressbookData=this.parseAddressData(this.contacts);var selectedItem=null;for(var name in this.addressbookData){var entry=this.addressbookData[name];var lineItem=this.buildAddressbookLine(entry);this.contactList.appendChild(lineItem);entry.lineItem=lineItem;if(this.selectedUID>0&&this.selectedUID==entry.uid)selectedItem=entry;} if(selectedItem!=null)this.selectLineItem(selectedItem);}else{var lineItem=document.createElement("div");lineItem.className="Entry";var noResultsText=document.createElement("div");noResultsText.className="NoResultsTextHolder";noResultsText.innerHTML=s[l].DirectoryViewContactsEmptyListItemTitleText;lineItem.appendChild(noResultsText);this.contactList.appendChild(lineItem);}},buildAddressbookLine:function(lineData){var lineItem=document.createElement("div");lineItem.className="Entry";lineItem.setAccessibility({type:'menuitem',label:lineData.firstname+" "+lineData.lastname+(lineData.title?", "+lineData.title:""),selected:false});var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineData.profile_picture+"')";lineItem.appendChild(profilePicture);var infoHolder=document.createElement('div');infoHolder.className="EntryInfoHolder";lineItem.appendChild(infoHolder);var name=document.createElement('div');name.className="Name";name.innerHTML=lineData.firstname+" "+lineData.lastname;infoHolder.appendChild(name);var title=document.createElement('div');title.className="Title";title.innerHTML=lineData.title;infoHolder.appendChild(title);lineItem.addEventListener('click',function(){this.delegate.selectLineItem(this.data);const mq=window.matchMedia("(max-width: 700px)");if(mq.matches){this.delegate.addressBook.style.display="none";this.delegate.contactDetails.style.display="block";this.delegate.titleBarText.style.width="calc(100% - 90px)";this.delegate.titleBarMobileBackButton.style.display="inline-block";}}.bind({delegate:this,data:lineData}));return lineItem;},selectLineItem:function(data){var uid=(data!=null&&data.uid!=undefined?data.uid:null);for(var name in this.addressbookData){var entry=this.addressbookData[name];if(uid!=null&&entry.uid==uid){entry.lineItem.classList.add("EntrySelected");entry.lineItem.setSelected(true);}else{entry.lineItem.classList.remove("EntrySelected");entry.lineItem.setSelected(false);}} if(data!=null)this.buildContactDetails(data);},parseAddressData:function(data){var addressbookData=new Array();for(var i=0;i2?2:data.locations.length);i++){var locationIcon=document.createElement('div');locationIcon.className="LocationIcon";locationsHolder.appendChild(locationIcon);var locationItem=document.createElement('div');locationItem.className="Location";locationItem.innerHTML=data.locations[i].title;locationsHolder.appendChild(locationItem);} var phoneIcon=document.createElement('div');phoneIcon.className="PhoneIcon";this.contactSheet.appendChild(phoneIcon);var phoneNumber=document.createElement('div');phoneNumber.className="PhoneNumber";phoneNumber.innerHTML=data.mobile_phone;phoneNumber.setAccessibility({type:'button',label:s[l].DirectoryViewPhoneText+" "+data.mobile_phone});phoneNumber.addEventListener('click',function(){window.open("tel:"+data.mobile_phone)});this.contactSheet.appendChild(phoneNumber);var emailIcon=document.createElement('div');emailIcon.className="EmailIcon";this.contactSheet.appendChild(emailIcon);var email=document.createElement('div');email.className="Email";email.innerHTML=data.email;this.contactSheet.appendChild(email);email.setAccessibility({type:'button',label:s[l].DirectoryViewEmailText+" "+data.email});email.addEventListener('click',function(){if(this.delegate.mailAccess==true){Application.loadView(MailboxView,{recipient:this.data.email});}else{window.open("mailto:"+this.data.email);}}.bind({delegate:this,data:data}));var emailIcon=document.createElement('div');emailIcon.className="EmailIcon";this.contactSheet.appendChild(emailIcon);var email=document.createElement('div');email.className="Email";email.innerHTML=data.internal_email;email.setAccessibility({type:'button',label:s[l].DirectoryViewEmailText+" "+data.internal_email});email.addEventListener('click',function(){if(this.delegate.mailAccess==true){Application.loadView(MailboxView,{recipient:this.data.internal_email});}else{window.open("mailto:"+this.data.internal_email);}}.bind({delegate:this,data:data}));this.contactSheet.appendChild(email);if(data.uid!=Application.sessionManager.sessionData.uid&&this.chatAccess==true){var chatIcon=document.createElement('div');chatIcon.className="ChatIcon";this.contactSheet.appendChild(chatIcon);var chat=document.createElement('div');chat.className="Chat";chat.innerHTML=s[l].DirectoryViewStartChatText;chat.setAccessibility({type:'button',label:s[l].DirectoryViewStartChatText});this.contactSheet.appendChild(chat);chat.addEventListener('click',function(){var data={uid:this.data.uid} Application.loadView(ChatView,data);}.bind({delegate:this,data:data}));var voiceCallIcon=document.createElement('div');voiceCallIcon.className="VoipIcon";this.contactSheet.appendChild(voiceCallIcon);var voiceCallText=document.createElement('div');voiceCallText.className="VoipText";voiceCallText.innerHTML=s[l].DirectoryViewStartVoiceCallText;voiceCallText.setAccessibility({type:'button',label:s[l].DirectoryViewStartVoiceCallText});voiceCallText.addEventListener('click',function(){Application.callManager.startCall(this.data.uid,1);}.bind({data:data}));this.contactSheet.appendChild(voiceCallText);var videoCallIcon=document.createElement('div');videoCallIcon.className="VideoIcon";this.contactSheet.appendChild(videoCallIcon);var videoCallText=document.createElement('div');videoCallText.className="VideoText";videoCallText.innerHTML=s[l].DirectoryViewStartVideoCallText;videoCallText.setAccessibility({type:'button',label:s[l].DirectoryViewStartVideoCallText});videoCallText.addEventListener('click',function(){Application.callManager.startCall(this.data.uid,2);}.bind({data:data}));this.contactSheet.appendChild(videoCallText);this.contactSheet.classList.remove("NoChatFeatures");}else{this.contactSheet.classList.add("NoChatFeatures");} var watermark=document.createElement('div');watermark.className="Watermark";watermark.innerHTML="DailyReport";this.contactSheet.appendChild(watermark);if(s[l].Direction=="rtl"){watermark.classList.add("ltr");}else{watermark.classList.remove("ltr");} name.focus();},onMobileBackButtonPressed:function(){const mq=window.matchMedia("(max-width: 700px)");if(mq.matches){this.addressBook.style.display="block";this.contactDetails.style.display="none";this.titleBarMobileBackButton.style.display="none";this.titleBarText.style.width="calc(100% - 50px)";this.contactSheet.style.display="none";} this.selectLineItem(null);},getContacts:function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getContactsURL,params,function(responseData){this.onGetContactsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetContactsFailed(statusCode,errorMessage)}.bind(this));},onGetContactsSuccess:function(responseData){this.buildAddressData(JSON.parse(responseData));},onGetContactsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var EmailView=JS.subClass(JSAppView,{name:"EmailView",title:"Daily Report - Email",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,id:null,allMenus:null,MailboxFolderIDs:{INBOX:0,SENT:-1,DRAFTS:-2,SPAM:-3,DELETED:-4},cloudDriveAccess:false,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarBackButton=document.createElement('div');this.titleBarBackButton.className="TitleBarBackButton";this.titleBarBackButton.addEventListener("click",function(){this.dismiss();}.bind(this));this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleReplyButton=document.createElement('div');this.titleReplyButton.className="TitleReplyButton";this.titleReplyButton.addEventListener("click",function(){this.reply();}.bind(this));this.titleForwardButton=document.createElement('div');this.titleForwardButton.className="TitleForwardButton";this.titleForwardButton.addEventListener("click",function(){this.forward();}.bind(this));this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.emailHolder=document.createElement('div');this.emailHolder.className="EmailHolder";DOMPurify.addHook('afterSanitizeAttributes',function(node){if(node.tagName==='A'){if(node.href.startsWith('webcal:')||node.href.startsWith('https:')){node.setAttribute('target','_blank');node.setAttribute('rel','noopener noreferrer');}}});},create:function(domView){if(s[l].Direction=="rtl"){domView.classList.add('rtl');this.titleBarBackButton.classList.add("TitleBarBackButton_rtl");this.titleReplyButton.classList.add("TitleReplyButton_rtl");this.titleForwardButton.classList.add("TitleForwardButton_rtl");}else{domView.classList.remove('rtl');this.titleBarBackButton.classList.remove("TitleBarBackButton_rtl");this.titleReplyButton.classList.remove("TitleReplyButton_rtl");this.titleForwardButton.classList.remove("TitleForwardButton_rtl");} this.titleBar.appendChild(this.titleBarBackButton);this.titleBar.appendChild(this.titleBarIcon);this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"mail_white.svg"+")";this.titleBar.appendChild(this.titleBarText);this.titleBarText.innerHTML=s[l].EmailViewTitleText;this.titleBar.appendChild(this.titleReplyButton);this.titleBar.appendChild(this.titleForwardButton);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.emailHolder);domView.appendChild(this.innerHolder);},start:function(data=null){if(data!=null&&data.id!=undefined){this.id=data.id;this.folder=data.folder_id;this.getEmail(this.id,this.folder);}},stop:function(){if(this.resizeHandler){window.removeEventListener('resize',this.resizeHandler);this.resizeHandler=null;}},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(data){var items=[{title:s[l].EmailViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/edit_document_black.svg",action:"EmailView.new();"},{title:s[l].EmailViewTitleBarMenu.ReplyButtonTitleText,icon:"/assets/images/icons/reply_black.svg",action:"EmailView.reply();"},{title:s[l].EmailViewTitleBarMenu.ForwardButtonTitleText,icon:"/assets/images/icons/forward_black.svg",action:"EmailView.forward();"}];if(parseInt(data.is_deleted)==1){items.push({title:s[l].EmailViewTitleBarMenu.RestoreButtonTitleText,icon:"/assets/images/icons/restore_from_trash_black.svg",action:"EmailView.restore({id:"+data.id+",folder:"+data.folder_id+"})"});}else{items.push({title:s[l].EmailViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_black.svg",action:"EmailView.delete({id:"+data.id+",folder:"+data.folder_id+"})"});} items.push({title:s[l].EmailViewTitleBarMenu.PrintButtonTitleText,icon:"/assets/images/icons/print_black.svg",action:"EmailView.print();"});items.push({title:s[l].EmailViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"EmailView.dismiss();"});this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0){this.emailCcRecipient=document.createElement('div');this.emailCcRecipient.className="EmailRecipient";this.emailCcRecipient.innerText=s[l].EmailViewCcHeaderText+": "+data.cc_email;this.emailHeader.appendChild(this.emailCcRecipient);} this.emailRecievedAt=document.createElement('div');this.emailRecievedAt.className="EmailRecievedAt";if(s[l].Direction=="rtl")this.emailRecievedAt.classList.add("EmailRecievedAt_rtl");this.emailRecievedAt.innerText=Date.getDateStringFromDate(data.received_at);this.emailHeader.appendChild(this.emailRecievedAt);if(data.calendar_event_data){var cal=(typeof data.calendar_event_data==='string')?JSON.parse(data.calendar_event_data):data.calendar_event_data;var isCancel=(cal.method==='CANCEL');this.calendarInviteBox=document.createElement('div');this.calendarInviteBox.className="CalendarInviteBox";if(isCancel)this.calendarInviteBox.classList.add("cancel-theme");if(s[l].Direction=="rtl")this.calendarInviteBox.classList.add("rtl");this.calIcon=document.createElement('div');this.calIcon.className="CalIcon";this.calIcon.style.backgroundImage="url("+Globals.iconsPath+(isCancel?"calendar_color_cancel.svg":"calendar_color.svg")+")";this.calDetails=document.createElement('div');this.calDetails.className="CalDetails";this.calMethod=document.createElement('div');this.calMethod.className="CalMethod";if(isCancel){this.calMethod.innerText=s[l].EmailViewCalendarCancelText;this.calMethod.style.color="#d93025";}else if(cal.method==='REPLY'){this.calMethod.innerText=s[l].EmailViewCalendarReplyText;this.calMethod.style.color="#188038";}else{this.calMethod.innerText=s[l].EmailViewCalendarInviteText;this.calMethod.style.color="#2f95f5";} this.calSummary=document.createElement('div');this.calSummary.className="CalSummary";this.calSummary.innerText=cal.summary||'No Title';this.calMeta=document.createElement('div');this.calMeta.className="CalMeta";if(cal.dtstart){this.calMetaDate=document.createElement('span');this.calMetaDate.innerText=this.formatIcalDate(cal.dtstart,false,cal.dtend);this.calMeta.appendChild(this.calMetaDate);} if(cal.location){this.calMetaLoc=document.createElement('span');this.calMetaLoc.innerHTML="📍 "+cal.location;this.calMeta.appendChild(this.calMetaLoc);} this.calDetails.appendChild(this.calMethod);this.calDetails.appendChild(this.calSummary);this.calDetails.appendChild(this.calMeta);if(cal.rrule&&!isCancel){this.calRecurrence=document.createElement('div');this.calRecurrence.className="CalRecurrence";var rruleParts={};cal.rrule.split(';').forEach(function(part){var pair=part.split('=');if(pair.length===2)rruleParts[pair[0].toUpperCase()]=pair[1];});if(rruleParts.FREQ){var freqKey="EmailViewCalendarFreq"+rruleParts.FREQ;var freqText=s[l][freqKey]||rruleParts.FREQ;var startStr=this.formatIcalDate(cal.dtstart,true);var recMessage=""+s[l].EmailViewCalendarRepeatText+": "+ freqText+" "+s[l].EmailViewCalendarFromText+" "+startStr;if(rruleParts.UNTIL){recMessage+=" "+s[l].EmailViewCalendarToText+" "+this.formatIcalDate(rruleParts.UNTIL,true);} this.calRecurrence.innerHTML=recMessage;this.calDetails.appendChild(this.calRecurrence);}} this.calendarInviteBox.appendChild(this.calIcon);this.calendarInviteBox.appendChild(this.calDetails);this.emailHolder.appendChild(this.calendarInviteBox);if(!isCancel&&cal.method!=='REPLY'){this.calActions=document.createElement('div');this.calActions.className="CalActions";this.btnAccept=document.createElement('div');this.btnAccept.className="CalBtn Accept";if(cal.attendee_status==='accepted')this.btnAccept.classList.add("ActiveAccept");this.btnAccept.innerText=s[l].EmailViewCalendarAcceptButtonText;this.btnAccept.addEventListener("click",function(){this.btnAccept.classList.add("ActiveAccept");this.btnDecline.classList.remove("ActiveDecline");this.btnMaybe.classList.remove("ActiveMaybe");this.onCalendarResponseButtonPressed(cal.uid,'accepted');}.bind(this));this.btnDecline=document.createElement('div');this.btnDecline.className="CalBtn Decline";if(cal.attendee_status==='declined')this.btnDecline.classList.add("ActiveDecline");this.btnDecline.innerText=s[l].EmailViewCalendarDeclineButtonText;this.btnDecline.addEventListener("click",function(){this.btnAccept.classList.remove("ActiveAccept");this.btnDecline.classList.add("ActiveDecline");this.btnMaybe.classList.remove("ActiveMaybe");this.onCalendarResponseButtonPressed(cal.uid,'declined');}.bind(this));this.btnMaybe=document.createElement('div');this.btnMaybe.className="CalBtn Maybe";if(cal.attendee_status==='tentative')this.btnMaybe.classList.add("ActiveMaybe");this.btnMaybe.innerText=s[l].EmailViewCalendarMaybeButtonText;this.btnMaybe.addEventListener("click",function(){this.btnAccept.classList.remove("ActiveAccept");this.btnDecline.classList.remove("ActiveDecline");this.btnMaybe.classList.add("ActiveMaybe");this.onCalendarResponseButtonPressed(cal.uid,'tentative');}.bind(this));this.calActions.appendChild(this.btnAccept);this.calActions.appendChild(this.btnDecline);this.calActions.appendChild(this.btnMaybe);this.calDetails.appendChild(this.calActions);}else{this.calStatusNote=document.createElement('div');this.calStatusNote.className="CalStatusNote";if(isCancel){this.calStatusNote.style.color="#d93025";this.calStatusNote.innerText=s[l].EmailViewCalendarCancelStatusNote;}else if(cal.method==='REPLY'){var status=(cal.partstat!==undefined)?parseInt(cal.partstat):0;if(status===3){this.calStatusNote.style.color="#f29900";this.calStatusNote.innerText=s[l].EmailViewCalendarTentativeStatus;}else if(status===2){this.calStatusNote.style.color="#d93025";this.calStatusNote.innerText=s[l].EmailViewCalendarDeclinedStatus;}else if(status===1){this.calStatusNote.style.color="#188038";this.calStatusNote.innerText=s[l].EmailViewCalendarAcceptedStatus;}} this.calDetails.appendChild(this.calStatusNote);}} this.emailBody=document.createElement('iframe');this.emailBody.className="EmailBody";this.emailBody.style.border='none';this.emailBody.style.width='100%';this.emailBody.setAttribute('sandbox','allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-modals');this.emailBody.setAttribute('referrerpolicy','no-referrer');this.emailHolder.appendChild(this.emailBody);var sanitizedHTML=DOMPurify.sanitize(data.body,{ALLOWED_TAGS:['b','i','em','strong','a','p','h1','h2','h3','h4','h5','h6','ul','ol','li','img','table','tr','td','th','tbody','thead','tfoot','br','span','div'],ALLOWED_ATTR:['href','src','alt','title','style','width','height','target','rel'],ADD_URI_SAFE_ATTR:['src'],});var responsiveWrapper="\ \ \ \ ";this.emailBody.srcdoc=responsiveWrapper+"";var boundResize=this.resizeIframe.bind(this);this.resizeHandler=function(){if(this.iframeDoc&&this.iframeDoc.body){var action=(window.innerWidth<=780)?'add':'remove';this.iframeDoc.body.classList[action]('mobile-view');}}.bind(this);this.resizeHandler();window.addEventListener('resize',this.resizeHandler);this.emailBody.onload=()=>{this.iframeDoc=this.emailBody.contentDocument;this.iframeDoc.querySelectorAll('a').forEach(a=>{a.setAttribute('target','_blank');a.setAttribute('rel','noopener noreferrer');a.addEventListener('click',function(e){var url=this.getAttribute('href');if(window.parent&&window.parent.NativeWrapper&&window.parent.NativeWrapper.openInBrowser){e.preventDefault();window.parent.NativeWrapper.openInBrowser(url);}});});var attachmentsList=(data.attachments!=undefined&&data.attachments!=null?JSON.parse(data.attachments):[]);this.iframeDoc.querySelectorAll('img').forEach(img=>{if(img.width<=1&&img.height<=1)return;var relativeSrc=img.getAttribute('src');var attachmentObj=attachmentsList.find(a=>a.url===relativeSrc);if(!attachmentObj)return;var wrapper=this.iframeDoc.createElement('div');wrapper.className='img-container';var originalStyle=window.getComputedStyle(img);var floatVal=img.style.float||originalStyle.float;var displayVal=originalStyle.display;var widthVal=img.style.width||originalStyle.width;if(floatVal==='right'||floatVal==='left'){wrapper.style.float=floatVal;} if(displayVal==='block'){wrapper.style.display='block';} if(widthVal){wrapper.style.width=widthVal;} img.parentNode.insertBefore(wrapper,img);wrapper.appendChild(img);img.style.float='none';img.style.display='block';img.style.width='100%';img.style.margin='0';wrapper.addEventListener('click',function(e){if(this.iframeDoc.body.classList.contains('mobile-view')){e.stopPropagation();e.preventDefault();var wasAlreadyOpen=wrapper.classList.contains('show-menu');this.iframeDoc.querySelectorAll('.img-container.show-menu').forEach(el=>{el.classList.remove('show-menu');});if(!wasAlreadyOpen){wrapper.classList.add('show-menu');}}}.bind(this));var overlay=this.iframeDoc.createElement('div');overlay.className='img-overlay';var btnDownload=this.iframeDoc.createElement('div');btnDownload.className='overlay-btn btn-download';btnDownload.addEventListener('click',function(e){e.stopPropagation();wrapper.classList.remove('show-menu');this.download(attachmentObj);}.bind(this));overlay.appendChild(btnDownload);if(this.cloudDriveAccess){var btnDrive=this.iframeDoc.createElement('div');btnDrive.className='overlay-btn btn-drive';btnDrive.addEventListener('click',function(e){e.stopPropagation();wrapper.classList.remove('show-menu');this.saveToCloudDrive(attachmentObj);}.bind(this));overlay.appendChild(btnDrive);} wrapper.appendChild(overlay);if(!img.complete)img.addEventListener('load',boundResize);});this.iframeDoc.body.style.backgroundColor='white';this.iframeDoc.body.style.overflow='hidden';this.iframeDoc.querySelectorAll('img').forEach(img=>{if(!img.complete)img.addEventListener('load',boundResize);});this.iframeDoc.querySelectorAll('a').forEach(a=>{a.setAttribute('target','_blank');a.setAttribute('rel','noopener noreferrer');});const observer=new MutationObserver(boundResize);observer.observe(this.iframeDoc.body,{childList:true,subtree:true,attributes:true});boundResize();this.iframeDoc.body.addEventListener('click',function(){if(this.iframeDoc.body.classList.contains('mobile-view')){this.iframeDoc.querySelectorAll('.img-container.show-menu').forEach(el=>{el.classList.remove('show-menu');});}}.bind(this));};window.addEventListener("resize",function(){const iframe=document.getElementById("emailBody");if(iframe&&iframe.contentWindow&&iframe.contentWindow.document){try{iframe.style.height=iframe.contentWindow.document.body.scrollHeight+"px";}catch(e){console.error("Cross-origin access denied to iframe content.");}}});var attachments=(data.attachments!=undefined&&data.attachments!=null?JSON.parse(data.attachments):null);var visibleAttachmentCount=0;if(attachments!=null&&attachments.length>0){this.attachmentsFooter=document.createElement('div');this.attachmentsFooter.className="AttachmentsFooter";this.emailHolder.appendChild(this.attachmentsFooter);this.attachementFooterTitle=document.createElement('div');this.attachementFooterTitle.className="AttachmentsFooterTitle";this.attachementFooterTitle.innerText=s[l].EmailViewAttachementFooterTitle+":";this.attachmentsFooter.appendChild(this.attachementFooterTitle);this.allMenus=new Array();for(var i=0;i{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=attachment.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));},saveToCloudDrive:function(attachment){this.saveAttachmentToCloudDrive(this.id,this.folder,attachment.url);},resizeIframe:function(){if(this.iframeDoc&&this.iframeDoc.body){this.emailBody.style.height=(this.iframeDoc.body.scrollHeight+20)+'px';this.emailBody.style.width='100%';}},hideAllMenus:function(){if(this.allMenus!=null){for(var i=0;i8)?icsStr.substring(9,11):"00";var min=(icsStr.length>8)?icsStr.substring(11,13):"00";var sec=(icsStr.length>8)?icsStr.substring(13,15):"00";var timestamp=year+"-"+month+"-"+day+" "+hour+":"+min+":"+sec;var localDate=Date.getAdjustedDatefromTimestamp(timestamp);var monthName=s[l].MonthsOfYear[localDate.getMonth()].substring(0,3);var dayNumber=localDate.getDate();if(shortMode){return dayNumber+" "+monthName+" "+year;} var dayName=s[l].DaysOfWeek[localDate.getDay()];var startTime=Date.getLocalTimeString(localDate);var timeRange=startTime;if(dtendStr){var eY=dtendStr.substring(0,4),eM=dtendStr.substring(4,6),eD=dtendStr.substring(6,8);var eH=dtendStr.substring(9,11),eMin=dtendStr.substring(11,13),eS=dtendStr.substring(13,15);var endLocalDate=Date.getAdjustedDatefromTimestamp(eY+"-"+eM+"-"+eD+" "+eH+":"+eMin+":"+eS);timeRange+=" - "+Date.getLocalTimeString(endLocalDate);} var offsetMinutes=-localDate.getTimezoneOffset();var offsetHours=offsetMinutes/60;var gmtString=" ("+s[l].EmailViewCalendarGMTText+(offsetHours>=0?"+":"")+offsetHours+")";return dayName+", "+dayNumber+" "+monthName+", "+timeRange+gmtString;},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);else Application.loadView(MailboxView,null);},onCalendarResponseButtonPressed:function(uid,status){this.respondToEmailInvite(this.id,status);},getEmail:function(id,folder){var request=new NetworkRequest();var params="id="+id+"&folder="+folder;request.postRequest(Globals.ServicesURL.getEmailURL,params,function(responseData){this.onGetEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetEmailFailed(statusCode,errorMessage)}.bind(this));},deleteEmail:function(id,folderID){var request=new NetworkRequest();var params="id="+id+"&folder="+folderID;request.postRequest(Globals.ServicesURL.deleteUserEmailURL,params,function(responseData){this.onDeleteEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteEmailFailed(statusCode,errorMessage)}.bind(this));},restoreEmail:function(id,folderID){var request=new NetworkRequest();var params="id="+id+"&folder="+folderID;request.postRequest(Globals.ServicesURL.restoreUserEmailURL,params,function(responseData){this.onRestoreEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRestoreEmailFailed(statusCode,errorMessage)}.bind(this));},saveAttachmentToCloudDrive:function(id,folderID,url){var request=new NetworkRequest();var params="id="+id+"&folder="+folderID+"&attachment_url="+encodeURIComponent(url);request.postRequest(Globals.ServicesURL.saveMailAttachmentToCloudDriveURL,params,function(responseData){this.onSaveAttachmentToCloudDriveSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveAttachmentToCloudDriveFailed(statusCode,errorMessage)}.bind(this));},respondToEmailInvite:function(id,status){var request=new NetworkRequest();var params="email_id="+id+"&status="+status;request.postRequest(Globals.ServicesURL.respondToEmailInviteURL,params,function(responseData){this.onRespondToEmailInviteSuccess(responseData,status);}.bind(this),function(statusCode,errorMessage){this.onRespondToEmailInviteFailed(statusCode,errorMessage);}.bind(this));},onGetEmailSuccess:function(responseData){this.populateEmail(JSON.parse(responseData));},onGetEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteEmailSuccess:function(responseData){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onDeleteEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRestoreEmailSuccess:function(responseData){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onRestoreEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSaveAttachmentToCloudDriveSuccess:function(data){Alert.present(s[l].EmailViewSaveEmailToCloudDriveAlert.Title,s[l].EmailViewSaveEmailToCloudDriveAlert.Description,s[l].EmailViewSaveEmailToCloudDriveAlert.Button1Title,s[l].EmailViewSaveEmailToCloudDriveAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:Application.loadView(ClouddriveView,null);break;case 2:break;}}.bind(this));},onSaveAttachmentToCloudDriveFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRespondToEmailInviteSuccess:function(responseData){Alert.present(s[l].EmailViewOnRespondToEmailInviteSuccessAlert.Title,s[l].EmailViewOnRespondToEmailInviteSuccessAlert.Description,s[l].EmailViewOnRespondToEmailInviteSuccessAlert.Button1Title,null,function(buttonPressed){}.bind(this));},onRespondToEmailInviteFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var EmaileditorView=JS.subClass(JSAppView,{name:"EmaileditorView",title:"Daily Report - Email",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,id:null,action:null,quillEditor:null,quotedHtml:null,allMenus:new Array(),attachments:new Array(),quotedHtml:"",init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarBackButton=document.createElement('div');this.titleBarBackButton.className="TitleBarBackButton";this.titleBarBackButton.addEventListener("click",function(){this.dismiss();}.bind(this));this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleSubmitButton=document.createElement('div');this.titleSubmitButton.className="TitleSubmitButton";this.titleSubmitButton.addEventListener("click",function(){this.send();}.bind(this));this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.emailHolder=document.createElement('div');this.emailHolder.className="EmailHolder";this.emailHeader=document.createElement('div');this.emailHeader.className="EmailHeader";this.emailSender=document.createElement('div');this.emailSender.className="EmailSender";this.emailSenderTitle=document.createElement('div');this.emailSenderTitle.className="EmailSenderTitle";this.emailSenderInnerHolder=document.createElement('div');this.emailSenderInnerHolder.className="EmailSenderInnerHolder";this.emailSenderListHolder=document.createElement('div');this.emailSenderListHolder.className="EmailSenderListHolder";this.emailRecipient=document.createElement('div');this.emailRecipient.className="EmailRecipient";this.emailCC=document.createElement('div');this.emailCC.className="EmailCC";this.emailBCC=document.createElement('div');this.emailBCC.className="EmailBCC";this.emailAttachmentsButton=document.createElement('div');this.emailAttachmentsButton.className="EmailAttachmentsButton";this.attachmentInput=document.createElement('input');this.attachmentInput.type="file";this.attachmentInput.multiple=true;this.attachmentInput.style.display="none";this.emailAttachmentsButton.addEventListener("click",function(){this.attachmentInput.click();}.bind(this));this.attachmentInput.addEventListener("change",function(e){for(var i=0;i0){mainEmailAddress=data.email_addresses[0].email;} this.emailSenderInnerHolder.innerText=mainEmailAddress;} if(data.email_addresses.length>1){this.emailSenderInnerHolder.classList.remove("NoArrow");this.emailSenderInnerHolder.onclick=function(e){this.toggleEmailSenderList();}.bind(this);}else{this.emailSenderInnerHolder.classList.add("NoArrow");this.emailSenderInnerHolder.onclick=null;}}},toggleEmailSenderList:function(){if(this.emailSenderListHolder.style.display=="block"){this.hideEmailSenderList();}else{this.showEmailSenderList();}},showEmailSenderList:function(){this.emailSenderListHolder.style.display="block";},hideEmailSenderList:function(){this.emailSenderListHolder.style.display="none";},handleFileDrop:function(files){for(var i=0;i0){this.editor.classList.add("WithAttachments");this.attachmentListHolder.style.display="block";}else{this.editor.classList.remove("WithAttachments");this.attachmentListHolder.style.display="none";} for(var i=0;i/g,">");this.quillEditor.setContents([]);this.originalContentHolder.innerHTML="";this.originalContentHolder.style.display="none";this.quotedHtml="";if(this.action==='reply'||this.action==='replyall'||this.action==='forward'){this.id=null;this.originalSender=rawFrom;this.originalSubject=data.subject||"";this.originalDate=data.received_at||"";this.originalTo=data.to_email||"";this.subjectInput.value=(this.action==='forward'?"Fwd: ":"Re: ")+cleanSubject;if(this.action!=='forward'){this.toInput.addEmail(data.from_email);if(this.action==='replyall'){var currentUserEmail=this.emailSenderInnerHolder.innerText.toLowerCase().trim();var originalSenderClean=data.from_email.replace(/[<>]/g,"").toLowerCase().trim();if(data.to_email){var toList=data.to_email.split(/[,\s;]+/);toList.forEach(function(email){var clean=email.trim().replace(/[<>]/g,"").toLowerCase();if(clean&&clean!==currentUserEmail&&clean!==originalSenderClean){this.toInput.addEmail(clean);}}.bind(this));} if(data.cc_email){var ccList=data.cc_email.split(/[,\s;]+/);ccList.forEach(function(email){var clean=email.trim().replace(/[<>]/g,"").toLowerCase();if(clean&&clean!==currentUserEmail){this.ccInput.addEmail(clean);}}.bind(this));}}} var toggleBtn=document.createElement('div');toggleBtn.className="EmailQuoteToggle";toggleBtn.innerHTML="";var visualHeaderHtml="";if(this.action==='forward'){visualHeaderHtml="
"+"---------- Forwarded message ---------
"+"From: "+this.originalSender+"
"+"Date: "+this.originalDate+"
"+"Subject: "+this.originalSubject+"
"+"To: "+this.originalTo+"
"+"

";}else{visualHeaderHtml='
'+'On '+data.received_at+', '+escapedFrom+' wrote:
';} this.quotedHtml=data.body||"";this.originalContentHolder.appendChild(toggleBtn);this.originalContentHolder.appendChild(this.originalContentIframe);this.originalContentHolder.style.display="block";this.originalContentIframe.style.display="none";var self=this;setTimeout(function(){if(self.originalContentIframe.contentWindow){var doc=self.originalContentIframe.contentWindow.document;doc.open();doc.write(""+visualHeaderHtml+self.quotedHtml+"");doc.close();}},50);toggleBtn.onclick=function(){var frame=this.nextSibling;if(!frame||!frame.contentWindow)return;var isHidden=(frame.style.display==="none");frame.style.display=isHidden?"block":"none";if(isHidden){try{var doc=frame.contentWindow.document;if(doc&&doc.body){frame.style.height=(doc.body.scrollHeight+50)+"px";}}catch(e){console.error("Iframe resize failed:",e);frame.style.height="500px";}}};}else{this.toInput.addEmail(data.to_email);this.ccInput.addEmail(data.cc_email);this.bccInput.addEmail(data.bcc_email);this.subjectInput.value=data.subject||"";this.quillEditor.clipboard.dangerouslyPasteHTML(0,data.body);} this.attachments=[];var rawAttachments=data.attachments;if(typeof rawAttachments==='string'){try{rawAttachments=JSON.parse(rawAttachments);}catch(e){rawAttachments=[];}} if(rawAttachments&&rawAttachments.length>0){var self=this;rawAttachments.forEach(function(att){self.attachments.push({name:att.filename,url:att.url,is_inline:att.is_inline,is_stored:true});});} this.renderAttachments();this.quillEditor.focus();var self=this;setTimeout(function(){self.quillEditor.setSelection(0,0);},200);this.getUserEmailAliases();},new:function(){this.id=null;this.quotedHtml="";this.toInput.value="";this.ccInput.value="";this.bccInput.value="";this.subjectInput.value="";this.attachments=[];this.renderAttachments();this.quillEditor.setContents([]);this.originalContentHolder.innerHTML="";this.originalContentHolder.style.display="none";},send:function(){this.processEmail(1);},save:function(){this.processEmail(0);},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},getUserEmailAliases:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getUserEmailAliasesURL,params,function(responseData){this.onGetUserEmailAliasesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserEmailAliasesFailed(statusCode,errorMessage)}.bind(this));},processEmail:function(isSent){var toEmails=this.toInput.getEmails().join(", ");var ccEmails=this.ccInput.getEmails().join(", ");var bccEmails=this.bccInput.getEmails().join(", ");if(isSent==1&&!toEmails.trim()&&!ccEmails.trim()&&!bccEmails.trim()){this.loadingScreen.style.display="none";Alert.present(s[l].EmaileditorViewAlert.NoRecipientTitleText,s[l].EmaileditorViewAlert.NoRecipientDescriptionText,s[l].EmaileditorViewAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;}else if(isSent==1){this.loadingScreen.style.display="block";} var tempDiv=document.createElement('div');tempDiv.innerHTML=this.quillEditor.root.innerHTML;var fontStacks={'arial':'Arial, Helvetica, sans-serif','courier-new':'"Courier New", Courier, monospace','georgia':'Georgia, serif','tahoma':'Tahoma, Geneva, sans-serif','times-new-roman':'"Times New Roman", Times, serif','trebuchet-ms':'"Trebuchet MS", Helvetica, sans-serif','verdana':'Verdana, Geneva, sans-serif'};var styledElements=tempDiv.querySelectorAll('[class^="ql-font-"]');for(var i=0;i
"+"---------- Forwarded message ---------
"+"From: "+this.originalSender+"
"+"Date: "+this.originalDate+"
"+"Subject: "+this.originalSubject+"
"+"To: "+this.originalTo+"
"+"

";}else if(this.action==='reply'||this.action==='replyall'){separatorHtml="
"+"On "+this.originalDate+", "+this.originalSender+" wrote:
";} combinedHtml+=separatorHtml+"
"+this.quotedHtml+"
";} var existingAttachments=[];var newFiles=[];for(var i=0;i"||this.formName.innerHTML==""){this.formName.innerHTML="";this.formName.setAttribute("placeholder",s[l].FormViewFormNamePlaceholderText);}}.bind(this));if(data.name_placeholder_text!=undefined&&data.name_placeholder_text!=null&&data.name_placeholder_text.length>0)this.formName.setAttribute("placeholder",data.name_placeholder_text);else this.formName.setAttribute("placeholder",s[l].FormViewFormNamePlaceholderText);this.formNameHolder.appendChild(this.formNameIcon);this.formNameHolder.appendChild(this.formName);this.menuBar.appendChild(this.formNameHolder);if(this.creatorUID==Application.sessionManager.sessionData.uid){this.publishButton=document.createElement('div');this.publishButton.className="PublishButton";this.publishButtonTitle=document.createElement('div');this.publishButtonTitle.className="Title";this.publishButton.appendChild(this.publishButtonTitle);this.publishButtonIcon=document.createElement('div');this.publishButtonIcon.className="PublishIcon";this.publishButton.appendChild(this.publishButtonIcon);if(parseInt(data.type)==FormTypes.Survey){if(this.isPublished==true){this.publishButtonIcon.classList.add("UnpublishIcon");this.publishButtonTitle.innerHTML=s[l].FormViewUnpublishButtonTitleText;this.publishButton.addEventListener('click',function(){this.onUnpublishFormPressed(this.fid);}.bind(this));}else{this.publishButtonIcon.classList.remove("UnpublishIcon");this.publishButtonTitle.innerHTML=s[l].FormViewPublishButtonTitleText;this.publishButton.addEventListener('click',function(){this.onPublishFormPressed(this.fid);}.bind(this));}}else{if(this.isPublished==false){this.publishButtonIcon.classList.add("SubmitIcon");this.publishButtonTitle.innerHTML=s[l].FormViewSubmitButtonTitleText;this.publishButton.addEventListener('click',function(){this.onSubmitFormPressed();}.bind(this));}else{this.publishButton.style.opacity="0.0";this.publishButton.style.pointerEvents="none";}} if(s[l].Direction=="rtl")this.publishButtonIcon.classList.add('Icon_rtl');else this.publishButtonIcon.classList.remove('Icon_rtl');this.menuBar.appendChild(this.publishButton);}else{this.formNameHolder.classList.add("NoPublishButton");} this.buttonsHolder=document.createElement('div');this.buttonsHolder.className="ButtonsHolder";this.menuBar.appendChild(this.buttonsHolder);this.questionsButton=document.createElement('div');this.questionsButton.className="Button";this.questionsButton.classList.add("Selected");this.questionsButton.innerHTML=s[l].FormViewMenubarQuestionsButtonTitleText;this.buttonsHolder.appendChild(this.questionsButton);this.questionsButton.addEventListener('click',function(){this.onMenuButtonPressed(this.questionsButton)}.bind(this));this.responsesButton=document.createElement('div');this.responsesButton.className="Button";this.responsesButton.innerHTML=s[l].FormViewMenubarResponsesButtonTitleText;this.buttonsHolder.appendChild(this.responsesButton);this.responsesButton.addEventListener('click',function(){this.onMenuButtonPressed(this.responsesButton)}.bind(this));this.settingsButton=document.createElement('div');this.settingsButton.className="Button";this.settingsButton.innerHTML=s[l].FormViewMenubarSettingsButtonTitleText;;this.buttonsHolder.appendChild(this.settingsButton);this.settingsButton.addEventListener('click',function(){this.onMenuButtonPressed(this.settingsButton)}.bind(this));return this.menuBar;},initForm:function(data=null){this.hasAssignees=this.checkIfFormHasAssignees(data);this.formHolder.innerHTML="";this.formItemsArray=new Array();this.ftid=null;this.fid=null;this.isPublished=false;this.isEditable=true;if(data==null)return;this.ftid=(data.ftid!=undefined?data.ftid:null);this.fid=(data.fid!=undefined?data.fid:null);this.formType=parseInt(data.type);this.isPublished=(data.is_published!=undefined&&parseInt(data.is_published)==1?true:false);this.isEditable=(data.is_editable!=undefined&&parseInt(data.is_editable)==0?false:true);this.creatorUID=(data.creator_uid!=undefined?data.creator_uid:null);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(this.formType));this.menubarHolder.appendChild(this.buildMenubar(data));if(parseInt(data.creator_uid)==parseInt(Application.sessionManager.sessionData.uid)){this.settingsButton.style.display="inline-block";}else{this.formName.contentEditable="false";this.settingsButton.style.display="none";} this.formName.innerText=data.name;if(data.anonymous_responses!=undefined&&parseInt(data.anonymous_responses)==1){this.anonymousFormHeader=document.createElement('div');this.anonymousFormHeader.className="AnonymousFormHeader";var anonymousIcon=document.createElement('div');anonymousIcon.className="AnonymousIcon";this.anonymousFormHeader.appendChild(anonymousIcon);var anonymousInfoText=document.createElement('div');anonymousInfoText.className="InfoText";anonymousInfoText.innerHTML=s[l].FormreaderViewAnonymousFormInfoText;this.anonymousFormHeader.appendChild(anonymousInfoText);this.formHolder.appendChild(this.anonymousFormHeader);} var form=null;var lockItems=false;switch(this.formType){case FormTypes.StandardForm:if(parseInt(data.status)==FormStatus.COMPLETED){if(data.response!=undefined&&data.response!=null){var response=data.response;form=JSON.parse(response.form_object);}else{form=(data.form_object!=undefined&&data.form_object!=null?JSON.parse(data.form_object):null);}}else{form=(data.form_object!=undefined&&data.form_object!=null?JSON.parse(data.form_object):null);} this.menubarHolder.classList.remove('NoButtons');this.questionsHolder.classList.remove("NoButtons");this.responsesButton.style.display="none";break;case FormTypes.RequestToManager:if(parseInt(data.status)==FormStatus.COMPLETED){if(data.response!=undefined&&data.response!=null){var response=data.response;form=JSON.parse(response.form_object);}else{form=(data.form_object!=undefined&&data.form_object!=null?JSON.parse(data.form_object):null);}}else{form=(data.form_object!=undefined&&data.form_object!=null?JSON.parse(data.form_object):null);} this.menubarHolder.classList.add('NoButtons');this.questionsHolder.classList.add("NoButtons");this.responsesButton.style.display="none";break;case FormTypes.Survey:form=(data.form_object!=undefined&&data.form_object!=null?JSON.parse(data.form_object):null);this.menubarHolder.classList.remove('NoButtons');this.questionsHolder.classList.remove("NoButtons");this.responsesButton.style.display="inline-block";break;} if(this.isEditable==false)lockItems=true;if(form!=null){var items=form.items;for(var i=0;i0)return true;if(data.department_assignees!=undefined&&data.department_assignees!=null&&JSON.parse(data.department_assignees).length>0)return true;if(data.team_assignees!=undefined&&data.team_assignees!=null&&JSON.parse(data.team_assignees).length>0)return true;if(data.users!=undefined&&data.users!=null&&data.users.length>0)return true;if(data.departments!=undefined&&data.departments!=null&&data.departments.length>0)return true;if(data.teams!=undefined&&data.teams!=null&&data.teams.length>0)return true;return false;},serialize:function(){var serializedForm={};var formItems=new Array();serializedForm.name=encodeURIComponent(this.formName.innerText);serializedForm.items=formItems;if(this.formItemsArray!=null){for(var i=0;i0&&assignees.length>0?parseInt((parseFloat(submissions.length)/parseFloat(assignees.length)*100)):0)+"%";if(s[l].Direction=="rtl")this.responsesDialogTitleInfo.style.textAlign="left";else this.responsesDialogTitleInfo.style.textAlign="right";},populateFormResponseDialogWithSummeryData:function(data){var submissions=data.submissions;var anonymous=(data.anonymous_responses!=undefined&&parseInt(data.anonymous_responses)==1?true:false);if(submissions.length>0){this.assigneesStatusListHolder=document.createElement('div');this.assigneesStatusListHolder.className="AssigneesStatusListHolder";this.responsesDialogInnerHolder.appendChild(this.assigneesStatusListHolder);this.populateAssigneeList(data);this.buildResponsesSummery(submissions,anonymous);}else{var noResponsesMessageHolder=document.createElement('div');noResponsesMessageHolder.className="NoResponsesMessageHolder";noResponsesMessageHolder.innerHTML=s[l].FormViewResponsesDialogNoResponsesMessageText;this.responsesDialogInnerHolder.appendChild(noResponsesMessageHolder);}},buildResponsesSummery:function(data,anonymous){this.responsesSummeryTitleHolder=document.createElement('div');this.responsesSummeryTitleHolder.className="ResponsesSummeryTitleHolder";this.responsesSummeryTitleHolder.innerHTML=s[l].FormViewResponsesDialogResponsesSummeryTitleText;this.responsesDialogInnerHolder.appendChild(this.responsesSummeryTitleHolder);var colorsArray=["#0c5da8","#1c76ca","#2f95f5","#5ba7ef","#7fb9f0","#afd1f0","#dae6f0","#b2b8bd","#818589","#505254","#1b1f24"];var graphableData={};for(var i=0;i0){for(var x=0;xb.value-a.value);for(var i=0;ij)star.classList.add("Selected");else star.classList.add("Unselected");starsHolder.appendChild(star);} ratingItem.appendChild(profileHolder);ratingItem.appendChild(starsHolder);ratingsItemsHolder.appendChild(ratingItem);}}else if(graphData.type=="FormTextQuestion"){var itemData=graphData.data;var textQuestionItemsHolder=document.createElement('div');textQuestionItemsHolder.className="SummeryItemsHolder";responseItem.appendChild(textQuestionItemsHolder);for(var i=0;i0?dataItem.value:s[l].AccessDialogResponsesEmptyResponseText);textAnswerItem.appendChild(profileHolder);textAnswerItem.appendChild(answer);textQuestionItemsHolder.appendChild(textAnswerItem);}}else if(graphData.type=="FormTimePickerInput"||graphData.type=="FormDatePickerInput"){var timeData=graphData.data;var timeItemsHolder=document.createElement('div');timeItemsHolder.className="SummeryItemsHolder";responseItem.appendChild(timeItemsHolder);for(var i=0;i0){var responsesMenuBar=document.createElement('div');responsesMenuBar.className="ResponsesMenuBar";this.responsesDialogInnerHolder.appendChild(responsesMenuBar);var memberHolder=document.createElement('div');memberHolder.className="MemberHolder";responsesMenuBar.appendChild(memberHolder);var member=document.createElement('div');member.className="Member";memberHolder.appendChild(member);var memberProfilePicture=document.createElement('div');memberProfilePicture.className="ProfilePicture";member.appendChild(memberProfilePicture);var memberName=document.createElement('div');memberName.className="Name";member.appendChild(memberName);var navigationBar=document.createElement('div');navigationBar.className="NavigationBar";responsesMenuBar.appendChild(navigationBar);var previousButton=document.createElement('div');previousButton.className="Button";previousButton.classList.add("ArrowLeft");if(this.selectedResponseFormIndex>0)previousButton.classList.remove("Disabled");else previousButton.classList.add("Disabled");previousButton.addEventListener('click',function(){if(this.selectedResponseFormIndex>0)this.selectedResponseFormIndex=parseInt(this.selectedResponseFormIndex)-1;this.getResponses(this.fid);}.bind(this));navigationBar.appendChild(previousButton);var infoText=document.createElement('div');infoText.className="InfoText";infoText.innerHTML=(parseInt(this.selectedResponseFormIndex)+1)+"/"+submissions.length navigationBar.appendChild(infoText);var nextButton=document.createElement('div');nextButton.className="Button";nextButton.classList.add("ArrowRight");if(this.selectedResponseFormIndex0){var submission=submissions[this.selectedResponseFormIndex];memberProfilePicture.style.backgroundImage="url('"+(anonymous==false?submission.profile_picture:Globals.defaultProfilePicture)+"')";memberName.innerHTML=(anonymous==false?submission.firstname+" "+submission.lastname:s[l].AccessDialogAccessSettingsAnonymousUserNameText);var form=(submission.form_object!=undefined&&submission.form_object!=null?JSON.parse(submission.form_object):null);if(form!=null){var items=form.items;for(var i=0;i0){for(var i=0;i0){for(var i=0;i0){for(var i=0;i0||accessRightsUIDS['departments'].length>0||accessRightsUIDS['teams']>0)){Alert.present(s[l].AccessDialogMaxAssigneesAlert.TitleText,s[l].AccessDialogMaxAssigneesAlert.DesciptionText,s[l].AccessDialogMaxAssigneesAlert.Button1Title,null,function(buttonPressed){}.bind(this));}else{switch(listType){case this.sharePickerDialog.ListTypes.USERS:accessRightsUIDS['users']=accessRightsUIDS['users'].concat(this.parseAccessRightsUIDs(selectedItems));break;case this.sharePickerDialog.ListTypes.DEPARTMENTS:accessRightsUIDS['departments']=accessRightsUIDS['departments'].concat(this.parseAccessRightsUIDs(selectedItems));break;case this.sharePickerDialog.ListTypes.TEAMS:accessRightsUIDS['teams']=accessRightsUIDS['teams'].concat(this.parseAccessRightsUIDs(selectedItems));break;} this.updateFormAccessList(this.fid,this.selectedAccessList,accessRightsUIDS,this.singleUserResponseRequired,this.singleDepartmentResponseRequired,this.singleTeamResponseRequired);}},parseAccessRightsUIDs:function(list){var accessRightsUIDs=new Array();for(var i in list){var item=list[i];if(item.uid!=undefined)accessRightsUIDs.push(parseInt(item.uid));else if(item.did!=undefined)accessRightsUIDs.push(parseInt(item.did));else if(item.tid!=undefined)accessRightsUIDs.push(parseInt(item.tid));} return accessRightsUIDs;},save:function(){if(this.formName.innerText.length>0){if(this.fid!=null){var name=encodeURIComponent(this.formName.innerText);var fid=this.fid;var template=JSON.stringify(this.serialize());this.saveForm(fid,name,template);}else if(this.fid==null&this.ftid!=null){var name=encodeURIComponent(this.formName.innerText);var ftid=this.ftid;this.createForm(ftid);}}else{Alert.present(s[l].FormViewAlertPanel.AlertNoNameTitleText,s[l].FormViewAlertPanel.AlertNoNameDescription,s[l].FormViewAlertPanel.Button1Text,null,function(buttomPressed){}.bind(this));}},onPublishFormPressed:function(fid){if(this.formName.innerText.length>0){Alert.present(s[l].FormsViewPublishFormAlert.Title,s[l].FormsViewPublishFormAlert.Description,s[l].FormsViewPublishFormAlert.Button1Title,s[l].FormsViewPublishFormAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var name=encodeURIComponent(this.formName.innerText);this.publishForm(fid,1,name);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(this.formType));}}.bind(this));}else{Alert.present(s[l].FormViewAlertPanel.AlertNoNameTitleText,s[l].FormViewAlertPanel.AlertNoNameDescription,s[l].FormViewAlertPanel.Button1Text,null,function(buttomPressed){}.bind(this));}},onUnpublishFormPressed:function(fid){Alert.present(s[l].FormsViewUnpublishFormAlert.Title,s[l].FormsViewUnpublishFormAlert.Description,s[l].FormsViewUnpublishFormAlert.Button1Title,s[l].FormsViewUnpublishFormAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var name=encodeURIComponent(this.formName.innerText);this.publishForm(fid,0,name);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(this.formType));}}.bind(this));},onSubmitFormPressed:function(){var formIsValid=this.validate();var requiresValidation=(this.formType==FormTypes.StandardForm&&this.hasAssignees==false&&formIsValid==false);if(!requiresValidation){if(this.formName.innerText.length>0){var name=encodeURIComponent(this.formName.innerText);var fid=this.fid;var template=JSON.stringify(this.serialize());this.submitForm(fid,name,template);}else{Alert.present(s[l].FormViewAlertPanel.AlertNoNameTitleText,s[l].FormViewAlertPanel.AlertNoNameDescription,s[l].FormViewAlertPanel.Button1Title,null,function(buttomPressed){}.bind(this));}}else{Alert.present(s[l].FormViewFormNotValidAlert.Title,s[l].FormViewFormNotValidAlert.Description,s[l].FormViewFormNotValidAlert.Button1Title,null,function(buttomPressed){}.bind(this));}},duplicate:function(){},print:function(){document.body.classList.add('is-printing');window.print();document.body.classList.remove('is-printing');},debugPrint:function(enable){if(enable){document.body.classList.add('is-printing');console.log("Print Debug Mode: ON. CSS Media Emulation recommended.");}else{document.body.classList.remove('is-printing');console.log("Print Debug Mode: OFF.");}},delete:function(){var fid=this.fid;if(fid!=null)this.deleteForm(fid);else this.dismiss();},dismiss:function(){if(this.isDraft==true){this.isDraft=false;this.delete();}else if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},validate:function(){var formIsValid=true;if(this.formItemsArray!=null){for(var i=0;i1?true:false);this.addItemToForm(item,isLocked);}} this.formFooterBar.appendChild(this.formFooterSubmitButton);this.formHolder.appendChild(this.formFooterBar);if(data.status>1){this.submitButton.classList.add("Hidden");this.formFooterBar.classList.add("FooterHidden");if(data.status==2){this.infoText.innerHTML=s[l].FormreaderViewFormCompletedInfoText}else if(data.status==3){this.infoText.innerHTML=s[l].FormreaderViewFormClosedInfoText} this.infoTextHolder.style.display="block";}else{this.submitButton.classList.remove("Hidden");this.formFooterBar.classList.remove("FooterHidden");this.infoText.innerHTML="";this.infoTextHolder.style.display="none";}},addItemToForm:function(item,isLocked){var formItem=new(eval(item.type))();formItem.editable=false;formItem=formItem.init(this,item);if(isLocked==true)formItem.lock();this.formHolder.appendChild(formItem.domItem);this.formItemsArray.push(formItem);},presentFormNotFoundMessage:function(){var formNotFoundHolder=document.createElement('div');formNotFoundHolder.className="FormNotFoundHolder";var formNotFoundIcon=document.createElement('div');formNotFoundIcon.className="FormNotFoundIcon";formNotFoundHolder.appendChild(formNotFoundIcon);var formNotFoundTitle=document.createElement('div');formNotFoundTitle.className="FormNotFoundTitle";formNotFoundTitle.innerHTML=s[l].FormreaderViewFormNotFoundTitleText;formNotFoundHolder.appendChild(formNotFoundTitle);var formNotFoundText=document.createElement('div');formNotFoundText.className="FormNotFoundText";formNotFoundText.innerHTML=s[l].FormreaderViewFormNotFoundInfoText;formNotFoundHolder.appendChild(formNotFoundText);this.formHolder.innerHTML="";this.formHolder.appendChild(formNotFoundHolder);},serialize:function(){var serializedForm={};var formItems=new Array();serializedForm.name=encodeURIComponent(this.formName.innerHTML);serializedForm.items=formItems;if(this.formItemsArray!=null){for(var i=0;i0?(imageURL.substring(0,imageURL.indexOf("_white.svg"))):imageURL;imageURL=imageURL.indexOf("_black.svg")>0?(imageURL.substring(0,imageURL.indexOf("_black.svg"))):imageURL;icon.style.backgroundImage=index==i?imageURL+"_white.svg\")":imageURL+"_black.svg\")";} eval(itemData.action);},buildSearchBar:function(){this.searchbar.innerHTML="";this.searchBarHolder=document.createElement('div');this.searchBarHolder.className="SearchBarHolder";this.filterControlsHolder=document.createElement('div');this.filterControlsHolder.id="FormsViewSearchBarFilterControlsHolder";this.filterControlsHolder.className="FilterControlsHolder";this.searchBarHolder.appendChild(this.filterControlsHolder);var space=document.createElement("div");space.className="Space";this.searchBarHolder.appendChild(space);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";this.searchBarHolder.appendChild(this.searchBarInfoHolder);this.totalFormsTitle=document.createElement('div');this.totalFormsTitle.className="InfoText";this.searchBarInfoHolder.appendChild(this.totalFormsTitle);this.totalFormsTitle.innerHTML="";space=document.createElement("div");space.className="Space";this.searchBarHolder.appendChild(space);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].FormsViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);this.searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){this.currentPage=1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);if(this.currentFormList==FormListTypes.MY_FORMS){this.getUserForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.ASSIGNED_TO_ME){this.getAssignedToMeForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.SHARED_WITH_ME){this.getSharedForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.EMPTY_FORMS){this.getFormTemplates(searchValue,this.order,this.currentPage);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.currentPage=1;this.searchFieldInput.value="";this.searchClearButton.style.display="none";if(this.currentFormList==FormListTypes.MY_FORMS){this.getUserForms(null,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.ASSIGNED_TO_ME){this.getAssignedToMeForms(null,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.SHARED_WITH_ME){this.getSharedForms(null,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.EMPTY_FORMS){this.getFormTemplates(null,this.order,this.currentPage);}}.bind(this));this.searchbar.appendChild(this.searchBarHolder);if(s[l].Direction=="rtl")this.searchbar.classList.add('SearchBar_rtl');else this.searchbar.classList.remove('SearchBar_rtl');},buildAssignedToMeFilterControl:function(formStatuses){var statuses=formStatuses.slice();statuses.unshift({fsid:'0',title:"All",color:'$FFFFFF',text_color:'#000000',backbround_color:'#FFFFFF'});var filterControlsHolder=this.filterControlsHolder;filterControlsHolder.innerHTML="";if(statuses!=null){var filterControlsTitle=document.createElement('div');filterControlsTitle.className="Title";filterControlsTitle.innerHTML=s[l].FormsViewSearchBarFilterTitleText+":";filterControlsHolder.appendChild(filterControlsTitle);var filterControlsButton=document.createElement('div');filterControlsButton.className="Button";filterControlsHolder.appendChild(filterControlsButton);var filterControlsButtonTitle=document.createElement('div');filterControlsButtonTitle.className="ButtonTitle";filterControlsButtonTitle.innerHTML=s[l].FormsViewFormStatusList[(statuses[this.assignedToMeFilterBy].title).replace(" ","_")];filterControlsButton.appendChild(filterControlsButtonTitle);var filterControlsMenu=document.createElement('div');this.filterControlsMenu=filterControlsMenu;filterControlsMenu.className="Menu";filterControlsButton.appendChild(filterControlsMenu);filterControlsButton.addEventListener('click',function(){this.delegate.hideAllTableItemMenues();this.delegate.hideTitleBarMenu();if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.menu.style.display="block";}}.bind({delegate:this,menu:filterControlsMenu}));for(var i=0;i0?this.searchFieldInput.value:null);if(this.currentFormList==FormListTypes.MY_FORMS){this.getUserForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.ASSIGNED_TO_ME){this.getAssignedToMeForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.SHARED_WITH_ME){this.getSharedForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.EMPTY_FORMS){this.getFormTemplates(searchValue,this.order,this.currentPage);}}.bind(this));var pageInfoHolder=document.createElement('div');pageInfoHolder.className="PageInfoHolder";pageInfoHolder.innerHTML=currentPage+" / "+((totalItems%limit)>0?parseInt(totalItems/limit)+1:parseInt(totalItems/limit));paginationInnerHolder.appendChild(pageInfoHolder);var nextButton=document.createElement('div');nextButton.className="NextPageButton";paginationInnerHolder.appendChild(nextButton);if((currentPage*limit)>=totalItems){nextButton.style.opacity="0.0";nextButton.style.pointerEvents="none";} nextButton.addEventListener('click',function(){if((this.currentPage*limit)>totalItems)return;this.currentPage=this.currentPage+1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);if(this.currentFormList==FormListTypes.MY_FORMS){this.getUserForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.ASSIGNED_TO_ME){this.getAssignedToMeForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.SHARED_WITH_ME){this.getSharedForms(searchValue,this.order,this.currentPage);}else if(this.currentFormList==FormListTypes.EMPTY_FORMS){this.getFormTemplates(searchValue,this.order,this.currentPage);}}.bind(this));if(s[l].Direction=="rtl"){nextButton.classList.add("NextPageButton_rtl");previousButton.classList.add("PreviousPageButton_rtl");}else{nextButton.classList.remove("NextPageButton_rtl");previousButton.classList.remove("PreviousPageButton_rtl");}},hideAllTableItemMenues:function(){if(this.allMenus!=null)for(var i=0;i0?this.searchFieldInput.value:null);switch(this.currentFormList){case FormListTypes.ASSIGNED_TO_ME:this.getAssignedToMeForms(search,this.order,this.currentPage);break;case FormListTypes.MY_FORMS:this.getUserForms(search,this.order,this.currentPage);break;case FormListTypes.SHARED_WITH_ME:this.getSharedForms(search,this.order,this.currentPage);break;case FormListTypes.EMPTY_FORMS:this.getFormTemplates(search,this.order,this.currentPage);break;default:break;}},onCreateFormPressed:function(ftid){this.titleBarMenu.style.display="none";var data={ftid:ftid};this.presentViewInDialog(FormView,data);},onEditFormTemplatePressed:function(ftid){this.titleBarMenu.style.display="none";var data={ftid:ftid};this.presentViewInDialog(FormeditorView,data);},onDuplicateFormTemplatePressed:function(ftid){this.titleBarMenu.style.display="none";this.titleBarMenu.style.display="none";var data={ftid:ftid,duplicateForm:true};this.presentViewInDialog(FormeditorView,data);},onDeleteFormTemplatePressed:function(templateID){Alert.present(s[l].FormsViewDeleteFormTemplateAlert.Title,s[l].FormsViewDeleteFormTemplateAlert.Description,s[l].FormsViewDeleteFormTemplateAlert.Button1Title,s[l].FormsViewDeleteFormTemplateAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteFormTemplate(templateID);}}.bind(this));},onDeleteFormPressed:function(fid){Alert.present(s[l].FormsViewDeleteFormAlert.Title,s[l].FormsViewDeleteFormAlert.Description,s[l].FormsViewDeleteFormAlert.Button1Title,s[l].FormsViewDeleteFormAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteForm(fid);}}.bind(this));},onPublishFormPressed:function(fid){Alert.present(s[l].FormsViewPublishFormAlert.Title,s[l].FormsViewPublishFormAlert.Description,s[l].FormsViewPublishFormAlert.Button1Title,s[l].FormsViewPublishFormAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.publishForm(fid,1);}}.bind(this));},onUnpublishFormPressed:function(fid){Alert.present(s[l].FormsViewUnpublishFormAlert.Title,s[l].FormsViewUnpublishFormAlert.Description,s[l].FormsViewUnpublishFormAlert.Button1Title,s[l].FormsViewUnpublishFormAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.publishForm(fid,0);}}.bind(this));},onFormTemplateSelected:function(data){this.dismissDialog();this.titleBarMenu.style.display="none";this.presentViewInDialog(FormView,data);},getUserForms:function(search=null,order=null,page=1){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""))+"&page="+page;request.postRequest(Globals.ServicesURL.getUserFormsURL,params,function(responseData){this.onGetUserFormsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserFormsFaild(statusCode,errorMessage)}.bind(this));},getSharedForms:function(search=null,order=null,page=1){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""))+"&page="+page;request.postRequest(Globals.ServicesURL.getSharedFormsURL,params,function(responseData){this.onGetSharedFormsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetSharedFormsFaild(statusCode,errorMessage)}.bind(this));},getAssignedToMeForms:function(search=null,order=null,page=1){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""))+"&page="+page;request.postRequest(Globals.ServicesURL.getAssignedToMeFormsURL,params,function(responseData){this.onGetAssignedToMeFormsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetAssignedToMeFormsFaild(statusCode,errorMessage)}.bind(this));},getFormTemplates:function(search=null,order=null,page=1){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""))+"&page="+page;request.postRequest(Globals.ServicesURL.getFormTemplatesURL,params,function(responseData){this.onGetFormTemplatesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFormTemplatesFaild(statusCode,errorMessage)}.bind(this));},updateFormStatus:function(fid,fsid){var request=new NetworkRequest();var params="fid="+fid+"&status="+fsid;request.postRequest(Globals.ServicesURL.updateFormStatusURL,params,function(responseData){this.onUpdateFormStatusSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFormStatusFaild(statusCode,errorMessage)}.bind(this));},deleteFormTemplate:function(ftid){var request=new NetworkRequest();var params="ftid="+ftid;request.postRequest(Globals.ServicesURL.deleteFormTemplateURL,params,function(responseData){this.onDeleteFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteFormTemplateFaild(statusCode,errorMessage)}.bind(this));},deleteForm:function(fid){var request=new NetworkRequest();var params="fid="+fid;request.postRequest(Globals.ServicesURL.deleteFormURL,params,function(responseData){this.onDeleteFormSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteFormFaild(statusCode,errorMessage)}.bind(this));},publishForm:function(fid,publish){var request=new NetworkRequest();var params="fid="+fid+"&publish="+publish;request.postRequest(Globals.ServicesURL.publishFormURL,params,function(responseData){this.onPublishFormSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onPublishFormFaild(statusCode,errorMessage)}.bind(this));},onGetUserFormsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormsTable(data)},onGetUserFormsFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetSharedFormsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormsTable(data)},onGetSharedFormsFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetAssignedToMeFormsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormsTable(data)},onGetAssignedToMeFormsFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetFormTemplatesSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormsTable(data)},onGetFormTemplatesFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFormStatusSuccess:function(responseData){var data=JSON.parse(responseData);this.getUserForms(null,this.order,this.currentPage);},onUpdateFormStatusFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteFormTemplateSuccess:function(responseData){var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getFormTemplates(search,this.order,this.currentPage);},onDeleteFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteFormSuccess:function(responseData){var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserForms(search,this.order,this.currentPage);},onDeleteFormFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onPublishFormSuccess:function(responseData){var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserForms(search,this.order,this.currentPage);},onPublishFormFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var FormtemplatesView=JS.subClass(JSAppView,{name:"FormtemplatesView",title:"Daily Report - Form templates",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,canEditTemplates:false,currentPage:1,order:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.container=document.createElement('div');this.container.id="FormtemplatesViewContainer";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.tableHolder=document.createElement('div');this.tableHolder.className="FormtemplatesViewTableHolder";this.tablePaginationHolder=document.createElement('div');this.tablePaginationHolder.className="FormsViewTablePaginationHolder";this.popupContainer=document.createElement('div');this.popupContainer.id="FormtemplatesViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="FormtemplatesViewPopUpContainerInnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].FormtemplatesViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"form_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.innerHolder.appendChild(this.container);this.container.appendChild(this.searchbar);this.container.appendChild(this.tableHolder);this.container.appendChild(this.tablePaginationHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;this.buildSearchBar();this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());this.getFormTemplates(null,this.order,this.currentPage);},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){if(this.canEditTemplates==true){var items=[{title:s[l].FormtemplatesViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/form_template_black.svg",action:"FormtemplatesView.new();"},{title:s[l].FormtemplatesViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"FormtemplatesView.dismiss();"}];}else{var items=[{title:s[l].FormtemplatesViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"FormtemplatesView.dismiss();"}];} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i1){var searchValue=this.searchFieldInput.value;this.getFormTemplates(searchValue,this.order,this.currentPage);}else if(this.searchFieldInput.value.length==0){this.getFormTemplates(null,this.order,this.currentPage);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.currentPage=1;this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.getFormTemplates(null,this.order,this.currentPage);}.bind(this));this.searchbar.appendChild(searchBarHolder);if(s[l].Direction=="rtl")this.searchbar.classList.add('SearchBar_rtl');else this.searchbar.classList.remove('SearchBar_rtl');},populateFormsTable:function(data){this.canEditTemplates=(data!=null&&data.can_edit_templates!=undefined?data.can_edit_templates:false);this.filterControlsHolder.classList.add("FilterControlsHidden");this.searchField.classList.add("SearchFieldOnly");this.canEditTemplates=(data!=null&&data.can_edit_templates!=undefined?data.can_edit_templates:false);this.buildFormsTable(data);this.buildPaginationFooter(data);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());},buildFormsTable:function(data){this.tableHolder.innerHTML="";this.formTableItems=Array();this.allMenus=Array();var forms=data.forms;var statuses=(data.form_statuses!=undefined&&data.form_statuses!=null?data.form_statuses:null);this.formStatuses=new Array();if(statuses!=null){for(var i=0;i0?this.searchFieldInput.value:null);this.getFormTemplates(searchValue,this.order,this.currentPage);}.bind(this));var pageInfoHolder=document.createElement('div');pageInfoHolder.className="PageInfoHolder";pageInfoHolder.innerHTML=currentPage+" / "+((totalItems%limit)>0?parseInt(totalItems/limit)+1:parseInt(totalItems/limit));paginationInnerHolder.appendChild(pageInfoHolder);var nextButton=document.createElement('div');nextButton.className="NextPageButton";paginationInnerHolder.appendChild(nextButton);if((currentPage*limit)>=totalItems){nextButton.style.opacity="0.0";nextButton.style.pointerEvents="none";} nextButton.addEventListener('click',function(){if((this.currentPage*limit)>totalItems)return;this.currentPage=this.currentPage+1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getFormTemplates(searchValue,this.order,this.currentPage);}.bind(this));if(s[l].Direction=="rtl"){nextButton.classList.add("NextPageButton_rtl");previousButton.classList.add("PreviousPageButton_rtl");}else{nextButton.classList.remove("NextPageButton_rtl");previousButton.classList.remove("PreviousPageButton_rtl");}},buildFormTemplateTableItem:function(formItem){return new FormTemplateTableItem(formItem,this);},hideAllTableItemMenues:function(){if(this.allMenus!=null)for(var i=0;i0?this.searchFieldInput.value:null);this.getFormTemplates(search,this.order,this.currentPage);},onCreateFormPressed:function(ftid){this.titleBarMenu.style.display="none";var data={ftid:ftid};if(this.delegate!=null&&this.delegate.onFormTemplateSelected!=undefined)this.delegate.onFormTemplateSelected(data);else this.presentViewInDialog(FormView,data);},onEditFormTemplatePressed:function(ftid){this.titleBarMenu.style.display="none";var data={ftid:ftid};this.presentViewInDialog(FormeditorView,data);},onDuplicateFormTemplatePressed:function(ftid){this.titleBarMenu.style.display="none";var data={ftid:ftid,duplicateForm:true};this.presentViewInDialog(FormeditorView,data);},presentViewInDialog:function(view,data=null){this.popupContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupContainerInnerHolder.appendChild(viewHolder);view.start(data);this.dialogView=view;this.popupContainer.style.display="block";this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);},dismissDialog:function(){if(this.dialogView!=null&&this.dialogView.stop!=undefined)this.dialogView.stop();this.popupContainer.style.display="none";this.popupContainerInnerHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";},onDismissDialogView:function(){this.dismissDialog();this.scrollPosition=this.tableHolder.scrollTop;this.getFormTemplates(null,this.order,this.currentPage);},onDeleteFormTemplatePressed:function(templateID){Alert.present(s[l].FormtemplatesViewDeleteFormTemplateAlert.Title,s[l].FormtemplatesViewDeleteFormTemplateAlert.Description,s[l].FormtemplatesViewDeleteFormTemplateAlert.Button1Title,s[l].FormtemplatesViewDeleteFormTemplateAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteFormTemplate(templateID);}}.bind(this));},new:function(){this.presentViewInDialog(FormeditorView,null);},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},getFormTemplates:function(search=null,order=null,page=1){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""))+"&page="+page;request.postRequest(Globals.ServicesURL.getFormTemplatesURL,params,function(responseData){this.onGetFormTemplatesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFormTemplatesFaild(statusCode,errorMessage)}.bind(this));},deleteFormTemplate:function(ftid){var request=new NetworkRequest();var params="ftid="+ftid;request.postRequest(Globals.ServicesURL.deleteFormTemplateURL,params,function(responseData){this.onDeleteFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteFormTemplateFaild(statusCode,errorMessage)}.bind(this));},onGetFormTemplatesSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormsTable(data)},onGetFormTemplatesFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteFormTemplateSuccess:function(responseData){var search=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getFormTemplates(search,this.order,this.currentPage);},onDeleteFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var HomeView=JS.subClass(JSAppView,{name:"HomeView",title:Globals.WebsiteTitle,showDesktopMenu:false,showTitleBarChatButton:false,showTitleBarNotificationsButton:false,showMobileNavigationBarButton:false,requiresActiveSession:false,init:function(){this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.headerText=document.createElement('h1');this.headerText.className="HeaderText";this.secondaryHeaderText=document.createElement('h2');this.secondaryHeaderText.className="SecondaryHeaderText";this.loginButton=document.createElement('div');this.loginButton.className="LoginButton";this.loginButton.tabIndex="10";this.loginButton.addEventListener('click',function(){Application.loadView(LoginView,null);}.bind(this));this.loginButton.addEventListener('keydown',function(e){if(e.key==='Enter')Application.loadView(LoginView,null);}.bind(this));},create:function(domView){domView.appendChild(this.innerHolder);this.innerHolder.appendChild(this.headerText);this.innerHolder.appendChild(this.secondaryHeaderText);this.innerHolder.appendChild(this.loginButton);this.headerText.innerHTML=s[l].HomeViewHeaderText;this.secondaryHeaderText.innerHTML=s[l].HomeViewSecondaryHeaderText;this.loginButton.innerHTML=s[l].HomeViewLoginButtonText;},start:function(data=null){Application.showTitleBarLoginButton();urlManager.clearURL();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){}});var InsightsView=JS.subClass(JSAppView,{name:"InsightsView",title:"Daily Report - Insights",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,widgets:new Array(),userPreferencesManager:null,defaultWidgetList:["KioskCustomerSurveyWidget"],widgetList:null,widgetStates:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.widgetsContainer=document.createElement('div');this.widgetsContainer.className="InsightsViewWidgetsContainer";this.userPreferencesManager=new UserPreferencesManager(this);this.canvas=document.createElement('canvas');this.canvas.width=2048;this.canvas.height=1536;},create:function(domView){this.titleBarText.innerHTML=s[l].InsightsViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"analytics_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.widgetsContainer);domView.appendChild(this.innerHolder);if(s[l].Direction=="rtl"){this.widgetsContainer.classList.add("rtl");}else{this.widgetsContainer.classList.remove("rtl");}},start:function(data=null){this.userPreferencesManager.get(this.name+"_widget_data");this.userPreferencesManager.get(this.name+"_backgroundImage");},stop:function(){for(var i=0;i{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(img);var file=this.canvas.toDataURL("image/jpeg");this.innerHolder.classList.add("WithUserBackground");this.innerHolder.style.backgroundImage="url("+file+")";this.userPreferencesManager.save(this.name+"_backgroundImage",encodeURIComponent(file));}.bind(this);img.src=this.url;}},drawOnCanvas:function(img){var ctx=this.canvas.getContext('2d');if(img.width>img.height){var h=this.canvas.height;var w=this.canvas.height*(img.width/img.height);var dw=(w-this.canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=this.canvas.width*(img.height/img.width);var w=this.canvas.width;var dh=(h-this.canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);}},resetLayout:function(){this.userPreferencesManager.delete(this.name+"_widget_data");this.userPreferencesManager.delete(this.name+"_backgroundImage");},saveWidgetStates:function(){var widgetData={};widgetData.WidgetList=this.widgetList;widgetData.WidgetStates={};for(var i=0;i4&&password.length>=6){this.login(username,password);}else{if(username.length<5){this.loginErrorMessageHolder.innerHTML=s[l].LoginViewLoginError1MessageText;}else if(password.length<6){this.loginErrorMessageHolder.innerHTML=s[l].LoginViewLoginError2MessageText;}else this.loginErrorMessageHolder.innerHTML=s[l].LoginViewLoginError3MessageText;}},onResetPasswordLinkPressed:function(){Application.loadView(ResetpasswordView,null);},login:function(username,password){var hashedPassword=MD5(password);var request=new NetworkRequest();var params="username="+username+"&password="+hashedPassword;request.postRequest(Globals.ServicesURL.loginURL,params,function(responseData){this.onLoginSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onLoginFailed(statusCode,errorMessage)}.bind(this));},onLoginSuccess:function(responseData){var data=JSON.parse(responseData);this.loginErrorMessageHolder.innerHTML=s[l].LoginViewDefaultMessageText;this.passwordInputField.value="";urlManager.clearURL();Application.startApplication(data);},onLoginFailed:function(statusCode,errorMessage){this.loginErrorMessageHolder.innerHTML=errorMessage;this.passwordInputField.value="";Application.sessionManager.clearSession();}});var MailboxView=JS.subClass(JSAppView,{name:"MailboxView",title:"Daily Report - Mail Inbox",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,id:null,presentedView:null,currentPage:1,order:null,currentFolderID:0,folderListItems:null,folderList:null,mailItems:new Array(),mailUpdateInterval:null,allMenus:new Array(),allFolderMenus:new Array(),preserverdScrollTop:0,shouldScrollToTop:false,requiresUpdate:false,MailboxFolderIDs:{INBOX:0,SENT:-1,DRAFTS:-2,SPAM:-3,DELETED:-4},init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.mailSidebarHolder=document.createElement('div');this.mailSidebarHolder.className="MailSidebarHolder";this.mailHolder=document.createElement('div');this.mailHolder.className="MailHolder";this.mailNavigationBar=document.createElement('div');this.mailNavigationBar.className="MailNavigationBar";this.mailContainer=document.createElement('div');this.mailContainer.className="MailContainer";this.tablePaginationHolder=document.createElement('div');this.tablePaginationHolder.className="TablePaginationHolder";this.mobileComposeButton=document.createElement('div');this.mobileComposeButton.className="MobileComposeButton";this.mobileComposeButton.addEventListener('click',function(){this.new();}.bind(this));this.folderPickerContainer=document.createElement('div');this.folderPickerContainer.className="FolderPickerContainer";this.fileNameEditorContainer=document.createElement('div');this.fileNameEditorContainer.className="FolderNameEditorContainer";this.popupContainer=document.createElement('div');this.popupContainer.className="MailboxViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.className="MailboxViewPopUpContainerInnerHolder";},create:function(domView){this.mailItems=new Array();this.preserverdScrollTop=0;this.titleBarText.innerHTML=s[l].MailboxViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"mail_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(this.currentFolderID));this.mailSidebarHolder.innerHTML="";this.mailSidebarHolder.appendChild(this.buildSidebar());domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.mailSidebarHolder);this.innerHolder.appendChild(this.mailHolder);if(s[l].Direction=="rtl"){this.innerHolder.classList.add("rtl");this.mailContainer.classList.add("MailContainer_rtl");this.folderPickerContainer.classList.add("rtl");}else{this.innerHolder.classList.remove("rtl");this.mailContainer.classList.remove("MailContainer_rtl");this.folderPickerContainer.classList.remove("rtl");} this.mailHolder.innerHTML="";this.mailHolder.appendChild(this.mailNavigationBar) this.mailHolder.appendChild(this.mailContainer) this.mailHolder.appendChild(this.tablePaginationHolder);this.mailHolder.appendChild(this.buildMobileSidebarMenu());this.mailHolder.appendChild(this.mobileComposeButton);this.mailNavigationBar.innerHTML="";this.mailNavigationBar.appendChild(this.buildMailNavigationBar());domView.appendChild(this.innerHolder);domView.appendChild(this.fileNameEditorContainer);this.fileNameEditor=new FilenameEditor(this.fileNameEditorContainer,this,s[l].MailboxViewTitleText,Globals.iconsPath+"mail_white.svg",16);domView.appendChild(this.folderPickerContainer);this.folderPicker=new FolderPicker(this.folderPickerContainer,this);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.folderPicker.dismiss();this.currentFolderID=0 this.currentPage=1;this.mailContainer.scrollTop=0;this.requiresUpdate=true;if(this.presentedView!=null)this.dismissDialog();this.searchFieldInput.value="";var search=this.searchFieldInput.value;var folder=this.currentFolderID;this.getUserEmails(folder,search,this.order,this.currentPage);if(data!=null&&data.id!=undefined){this.presentViewInDialog(EmailView,data);}else if(data!=null&&data.recipient!=undefined){this.presentViewInDialog(EmaileditorView,data);} if(this.mailUpdateInterval==null){this.mailUpdateInterval=setInterval(function(){var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);}.bind(this),10000);}},stop:function(){clearInterval(this.mailUpdateInterval);this.mailUpdateInterval=null;},onApplicationMovedToForeground:function(){if(this.mailUpdateInterval==null){this.mailUpdateInterval=setInterval(function(){var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);}.bind(this),10000);}},onApplicationMovedToBackground:function(){clearInterval(this.mailUpdateInterval);this.mailUpdateInterval=null;},buildTitleBarMenu:function(folder=0){var items=[{title:s[l].MailboxViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/edit_document_black.svg",action:"MailboxView.new();"}];if(folder==this.MailboxFolderIDs.DELETED){items.push({title:s[l].MailboxViewTitleBarMenu.EmptyTrashButtonTitle,icon:"/assets/images/icons/delete_forever_black.svg",action:"MailboxView.emptyTrash();"});} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i1){this.shouldScrollToTop=true;this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.shouldScrollToTop=true;this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.shouldScrollToTop=true;this.currentPage=1;this.search(null);}.bind(this));this.navigationBarTitle.addEventListener("click",function(){const mediaQuery=window.matchMedia("(max-width: 780px)");if(mediaQuery.matches){if(this.mobileSidebarMenu.style.display=="block"){this.hideMobileSidebarMenu();}else{this.hideAllTableItemMenues();this.hideTitleBarMenu();this.showMobileSidebarMenu();}}else{this.hideMobileSidebarMenu();}}.bind(this));return navigationBar;},populateMailbox:function(data){var emails=data.emails;var totalItems=data.total;var currentPage=data.current_page;var limit=data.limit;var visibleItems=0;if(this.requiresUpdate==false&&(this.mailItems.length!=emails.length))this.requiresUpdate=true;if(this.requiresUpdate==false){for(var i=0;i0&&this.requiresUpdate==true){if(data.mailbox_folders!=undefined&&data.mailbox_folders!=null&&data.mailbox_folders.length>0){this.folderListItems=new Array();this.folderList=data.mailbox_folders;this.sidebarFolderListHolder.innerHTML="";this.sidebarFolderListHolder.appendChild(this.populateFolderList(this.folderList));this.mobileSidebarFolderListHolder.innerHTML="";this.mobileSidebarFolderListHolder.appendChild(this.populateFolderList(this.folderList));} this.requiresUpdate=false;if(this.mailContainer.scrollTop<80||this.shouldScrollToTop==true){this.preserverdScrollTop=0;this.shouldScrollToTop=false;} else this.preserverdScrollTop=this.mailContainer.scrollTop;this.mailContainer.innerHTML="";var emailTable=document.createElement('div');emailTable.className="EmailTable";this.mailContainer.appendChild(emailTable);this.mailItems=new Array();for(var i=0;i0){this.folderListItems=new Array();this.folderList=data.mailbox_folders;this.sidebarFolderListHolder.innerHTML="";this.sidebarFolderListHolder.appendChild(this.populateFolderList(this.folderList));this.mobileSidebarFolderListHolder.innerHTML="";this.mobileSidebarFolderListHolder.appendChild(this.populateFolderList(this.folderList));}} this.requiresUpdate=false;this.mailContainer.innerHTML="";var emailTable=document.createElement('div');emailTable.className="EmailTable";this.mailContainer.appendChild(emailTable);var emptyTableItem=document.createElement('div');emptyTableItem.className="EmptyTableItem";emptyTableItem.innerHTML=s[l].MailboxViewEmptyTableItemText;emailTable.appendChild(emptyTableItem);this.tablePaginationHolder.style.display="none";this.infoText.innerHTML=s[l].MailboxViewNavigationBarInfoTextPart1+" "+visibleItems+" "+s[l].MailboxViewNavigationBarInfoTextPart2+" "+totalItems+" "+s[l].MailboxViewNavigationBarInfoTextPart3;this.buildPaginationFooter(data);}else{if(this.shouldScrollToTop==true){this.mailContainer.scrollTop=this.preserverdScrollTop;this.preserverdScrollTop=0;this.shouldScrollToTop=false;}}},buildMailItem:function(data){var emailItem=document.createElement('div');emailItem.className="EmailItem";if(s[l].Direction=="rtl")emailItem.classList.add("EmailItem_rtl");var line1=document.createElement('div');line1.className="Line1";emailItem.appendChild(line1);var logo=document.createElement('img');logo.className="Logo";if(data.logo_url!=null&&data.logo_url.length>0)logo.src=data.logo_url;else logo.style.opacity="0.0";line1.appendChild(logo);var envelop=document.createElement('div');envelop.className="Envelop";if(parseInt(data.is_read)==1)envelop.classList.add('Read');line1.appendChild(envelop);if(parseInt(data.folder_id)==this.MailboxFolderIDs.SENT||parseInt(data.folder_id)==this.MailboxFolderIDs.DRAFTS){var recipient=document.createElement('div');recipient.className="Recipient";recipient.innerText=data.to_email;line1.appendChild(recipient);}else{var sender=document.createElement('div');sender.className="Sender";if(parseInt(data.is_read)==1)sender.classList.add("Read");sender.innerText=data.from_email;line1.appendChild(sender);} var attachment=document.createElement('div');attachment.className="Attachment";if(parseInt(data.has_attachments)==1)attachment.classList.add('Visible');line1.appendChild(attachment);var menuButton=document.createElement('div');menuButton.className="MenuButton";line1.appendChild(menuButton);var line2=document.createElement('div');line2.className="Line2";emailItem.appendChild(line2);var subject=document.createElement('div');subject.className="Subject";subject.innerHTML=data.subject;line2.appendChild(subject);var line3=document.createElement('div');line3.className="Line3";emailItem.appendChild(line3);var text=data.text_content||"";text=text.replace(/[\r\n]+/g,' ').replace(/\s\s+/g,' ').trim();textBody=text.length>200?text.slice(0,200).trim()+"…":text;var firstLine=document.createElement('div');firstLine.className="FirstLine";firstLine.innerText=textBody;line3.appendChild(firstLine);var receivedAt=document.createElement('div');receivedAt.className="ReceivedAt";if(s[l].Direction=="rtl")receivedAt.classList.add("ReceivedAt_rtl") receivedAt.innerText=Date.getDateStringFromDate(data.received_at);line3.appendChild(receivedAt);var menu=this.buildMailItemMenu(data);menuButton.appendChild(menu);menuButton.addEventListener("click",function(e){e.preventDefault();e.stopPropagation();if(this.menu.style.display!="block"){this.delegate.hideTitleBarMenu();this.delegate.hideAllTableItemMenues();this.menu.style.display="block";}else{this.menu.style.display="none";}}.bind({delegate:this,menu:menu}));emailItem.addEventListener('click',function(){if(this.data.folder_id==this.delegate.MailboxFolderIDs.DRAFTS){this.delegate.presentViewInDialog(EmaileditorView,this.data);}else{this.delegate.presentViewInDialog(EmailView,this.data);}}.bind({delegate:this,data:data}));if(s[l].Direction=="rtl"){emailItem.classList.add("EmailItem_rtl");if(sender!=undefined)sender.classList.add("Sender_rtl");if(recipient!=undefined)recipient.classList.add("Recipient_rtl");subject.classList.add("Subject_rtl");firstLine.classList.add("FirstLine_rtl");} return emailItem},buildMailItemMenu:function(data){var items=[];if(this.currentFolderID==this.MailboxFolderIDs.DRAFTS){} if(this.currentFolderID>=0){items.push({title:s[l].MailboxViewTableItemMenu.ReplyButtonTitleText,icon:"/assets/images/icons/reply_black.svg",action:"MailboxView.reply({id:"+data.id+",action:'reply',folder_id:"+data.folder_id+"})"},{title:s[l].MailboxViewTableItemMenu.ForwardButtonTitleText,icon:"/assets/images/icons/forward_black.svg",action:"MailboxView.forward({id:"+data.id+",action:'forward',folder:"+data.folder_id+"})"});} if(this.currentFolderID==this.MailboxFolderIDs.SENT){items.push({title:s[l].MailboxViewTableItemMenu.ForwardButtonTitleText,icon:"/assets/images/icons/forward_black.svg",action:"MailboxView.forward({id:"+data.id+",action:'forward',folder_id:"+data.folder_id+"})"});} if(this.currentFolderID==this.MailboxFolderIDs.INBOX){if(parseInt(data.is_read)==1){items.push({title:s[l].MailboxViewTableItemMenu.MarkAsUnreadButtonTitleText,icon:"/assets/images/icons/email_unread_black.svg",action:"MailboxView.setMailAsRead("+data.id+",0)"});}else{items.push({title:s[l].MailboxViewTableItemMenu.MarkAsReadButtonTitleText,icon:"/assets/images/icons/email_read_black.svg",action:"MailboxView.setMailAsRead("+data.id+",1)"});}} if(this.currentFolderID>=0){items.push({title:s[l].MailboxViewTableItemMenu.MoveButtonTitleText,icon:"/assets/images/icons/move_to_folder_black.svg",action:"MailboxView.moveToFolder("+data.id+")"});items.push({title:s[l].MailboxViewTableItemMenu.MarkAsSpamButtonTitleText,icon:"/assets/images/icons/mailbox_spam_black.svg",action:"MailboxView.markAsSpam("+data.id+",1)"});} if(this.currentFolderID==this.MailboxFolderIDs.SPAM){items.push({title:s[l].MailboxViewTableItemMenu.RemoveFromSpamButtonTitleText,icon:"/assets/images/icons/inbox_black.svg",action:"MailboxView.markAsSpam("+data.id+",0)"});} if(this.currentFolderID==this.MailboxFolderIDs.DELETED){items.push({title:s[l].MailboxViewTableItemMenu.RestoreButtonTitleText,icon:"/assets/images/icons/restore_from_trash_black.svg",action:"MailboxView.restore({id:"+data.id+",folder:"+data.folder_id+"})"});items.push({title:s[l].MailboxViewTableItemMenu.PermanentlyDeleteButtonTitleText,icon:"/assets/images/icons/delete_forever_black.svg",action:"MailboxView.permanentlyDelete({id:"+data.id+",folder:"+data.folder_id+"})"});}else{items.push({title:s[l].MailboxViewTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_black.svg",action:"MailboxView.delete({id:"+data.id+"})"});} var menu=document.createElement('div');menu.className="ItemMenu";if(s[l].Direction=="rtl")menu.classList.add('ItemMenu_rtl');for(var i=0;i0){var menuButton=document.createElement('div');menuButton.className="MenuButton";folder.appendChild(menuButton);var menu=document.createElement('div');menu.className="Menu";if(s[l].Direction=="rtl")menu.classList.add("Menu_rtl");else menu.classList.remove("Menu_rtl");menuButton.appendChild(menu);this.allFolderMenus.push(menu);var menuItem=document.createElement('div');menuItem.className="Item";menu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/rename_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].MailboxViewFolderItemMenu.RenameButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener('click',function(){this.delegate.renameFolder(this.data.title,this.data.folder_id);}.bind({delegate:this,data:folderData}));var menuItem=document.createElement('div');menuItem.className="Item";menu.appendChild(menuItem);var icon=document.createElement('div');icon.className="Icon";icon.style.backgroundImage="url('/assets/images/icons/delete_black.svg')";menuItem.appendChild(icon);var title=document.createElement('div');title.className="Title";title.innerText=s[l].MailboxViewFolderItemMenu.DeleteButtonTitleText;menuItem.appendChild(title);menuItem.addEventListener('click',function(){this.delegate.deleteFolder(this.data.folder_id);}.bind({delegate:this,data:folderData}));menuButton.addEventListener('click',function(e){e.stopPropagation();e.preventDefault();if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.delegate.hideAllFolderMenus();this.menu.style.display="block";}}.bind({delegate:this,menu:menu,button:menuButton}));} if(this.currentFolderID==parseInt(folderData.folder_id)){folder.classList.add("Selected");} folder.addEventListener('click',function(){this.delegate.onFolderSelected(this.data,this.folder);}.bind({delegate:this,data:folderData,folder:folder}));this.folderListItems.push(folder);listHolder.appendChild(folder);} return listHolder;},buildPaginationFooter:function(data){this.tablePaginationHolder.innerHTML="";var paginationInnerHolder=document.createElement('div');paginationInnerHolder.className="PaginationInnerHolder";this.tablePaginationHolder.appendChild(paginationInnerHolder);var totalItems=parseInt(data.total);var currentPage=parseInt(data.current_page);var limit=parseInt(data.limit);var previousButton=document.createElement('div');previousButton.className="PreviousPageButton";paginationInnerHolder.appendChild(previousButton);if(currentPage==1){previousButton.style.opacity="0.0";previousButton.style.pointerEvents="none";} previousButton.addEventListener('click',function(){this.shouldScrollToTop=true;if((this.currentPage-1)<1)return;this.currentPage=this.currentPage-1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);}.bind(this));var pageInfoHolder=document.createElement('div');pageInfoHolder.className="PageInfoHolder";pageInfoHolder.innerHTML=currentPage+" / "+((totalItems%limit)>0?parseInt(totalItems/limit)+1:parseInt(totalItems/limit));paginationInnerHolder.appendChild(pageInfoHolder);var nextButton=document.createElement('div');nextButton.className="NextPageButton";paginationInnerHolder.appendChild(nextButton);if((currentPage*limit)>=totalItems){nextButton.style.opacity="0.0";nextButton.style.pointerEvents="none";} nextButton.addEventListener('click',function(){this.shouldScrollToTop=true;if((this.currentPage*limit)>totalItems)return;this.currentPage=this.currentPage+1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);}.bind(this));if(s[l].Direction=="rtl"){nextButton.classList.add("NextPageButton_rtl");previousButton.classList.add("PreviousPageButton_rtl");}else{nextButton.classList.remove("NextPageButton_rtl");previousButton.classList.remove("PreviousPageButton_rtl");}},onFolderSelected:function(data,folder){if(this.folderListItems!=null&&this.folderListItems.length>0){for(var i=0;i0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(this.currentFolderID));},createFolder:function(){var fileID=null;var fileName="";this.fileNameEditor.presentFilenameEditorWithTitle(fileName,fileID);},renameFolder:function(name,id){this.fileNameEditor.presentFilenameEditorWithTitle(name,id);},deleteFolder:function(id){Alert.present(s[l].MailboxViewDeleteFolderAlert.Title,s[l].MailboxViewDeleteFolderAlert.Description,s[l].MailboxViewDeleteFolderAlert.Button1Title,s[l].MailboxViewDeleteFolderAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:this.delegate.deleteMailboxFolder(this.id);}}.bind({delegate:this,id:id}));},onFilenameEditorNameUpdated:function(name,id=null){if(id==null){if(name.length>0&&name.length<=16)this.createMailboxFolder(name);}else{if(name.length>0&&name.length<=16)this.renameMailboxFolder(name,id);}},moveToFolder:function(id){this.folderPicker.present(id,this.folderList);},onFolderPickerItemSelected(id,selectdFolderData,folderPicker){this.moveMailToFolder(id,selectdFolderData.folder_id);},emptyTrash:function(){Alert.present(s[l].MailboxViewEmptyDeletedItemslAlert.Title,s[l].MailboxViewEmptyDeletedItemslAlert.Description,s[l].MailboxViewEmptyDeletedItemslAlert.Button1Title,s[l].MailboxViewEmptyDeletedItemslAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:this.emptyDeletedItems();}}.bind(this));},presentViewInDialog:function(view,data=null,animation=true){this.preserverdScrollTop=this.mailContainer.scrollTop;this.hideMobileSidebarMenu();this.presentedView=view;this.popupContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupContainerInnerHolder.appendChild(viewHolder);view.start(data);if(animation==true){this.popupContainer.style.display="block";this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);}else{this.popupContainerInnerHolder.style.top="0px";this.popupContainer.style.display="block";} this.hideTitleBarMenu();this.hideAllTableItemMenues();},dismissDialog:function(){this.mailContainer.scrollTop=this.preserverdScrollTop;this.preserverdScrollTop=0;this.popupContainer.style.display="none";this.popupContainerInnerHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";this.presentedView=null;},onDismissDialogView:function(){this.dismissDialog();this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},search:function(searchValue){this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},getUserEmails:function(folder=0,search="",order=null,page=1){var request=new NetworkRequest();var params="folder_id="+folder+(search!=null&&search.length>0?"&search="+search:"")+(order!=null?"&order="+order:"")+"&page="+page;request.postRequest(Globals.ServicesURL.getUserEmailsURL,params,function(responseData){this.onGetUserEmailsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserEmailsFailed(statusCode,errorMessage)}.bind(this));},deleteEmail:function(id,folderID){var request=new NetworkRequest();var params="id="+id+"&folder="+folderID;request.postRequest(Globals.ServicesURL.deleteUserEmailURL,params,function(responseData){this.onDeleteUserEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteUserEmailFailed(statusCode,errorMessage)}.bind(this));},restoreEmail:function(id,folderID){var request=new NetworkRequest();var params="id="+id+"&folder="+folderID;request.postRequest(Globals.ServicesURL.restoreUserEmailURL,params,function(responseData){this.onRestoreUserEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRestoreUserEmailFailed(statusCode,errorMessage)}.bind(this));},createMailboxFolder:function(name){var request=new NetworkRequest();var params="name="+name;request.postRequest(Globals.ServicesURL.createMailboxFolderURL,params,function(responseData){this.onCreateMailboxFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateMailboxFolderFailed(statusCode,errorMessage)}.bind(this));},renameMailboxFolder:function(name,id){var request=new NetworkRequest();var params="name="+name+"&folder_id="+id;request.postRequest(Globals.ServicesURL.renameMailboxFolderURL,params,function(responseData){this.onRenameMailboxFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRenameMailboxFolderFailed(statusCode,errorMessage)}.bind(this));},deleteMailboxFolder:function(id){var request=new NetworkRequest();var params="folder_id="+id;request.postRequest(Globals.ServicesURL.deleteMailboxFolderURL,params,function(responseData){this.onDeleteMailboxFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteMailboxFolderFailed(statusCode,errorMessage)}.bind(this));},setMailAsRead:function(id,isRead){var request=new NetworkRequest();var params="id="+id+"&is_read="+isRead;request.postRequest(Globals.ServicesURL.setMailAsReadURL,params,function(responseData){this.onSetMailAsReadSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetMailAsReadFailed(statusCode,errorMessage)}.bind(this));},markAsSpam:function(id,isSpam=1){var request=new NetworkRequest();var params="id="+id+"&is_spam="+isSpam;request.postRequest(Globals.ServicesURL.markMailAsSpamURL,params,function(responseData){this.onMarkAsSpamSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onMarkAsSpamFailed(statusCode,errorMessage)}.bind(this));},moveMailToFolder:function(id,folderID=0){var request=new NetworkRequest();var params="id="+id+"&folder_id="+folderID;request.postRequest(Globals.ServicesURL.moveMailToFolderURL,params,function(responseData){this.onMoveMailToFolderSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onMoveMailToFolderFailed(statusCode,errorMessage)}.bind(this));},permanentDeleteEmail:function(id,folderID=0){var request=new NetworkRequest();var params="id="+id+"&folder_id="+folderID;request.postRequest(Globals.ServicesURL.permanentDeleteEmailURL,params,function(responseData){this.onPermanentDeleteEmailSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onPermanentDeleteEmailFailed(statusCode,errorMessage)}.bind(this));},emptyDeletedItems:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.emptyMailDeletedItemsURL,params,function(responseData){this.onEmptyDeletedItemsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onEmptyDeletedItemsFailed(statusCode,errorMessage)}.bind(this));},onGetUserEmailsSuccess:function(responseData){this.populateMailbox(JSON.parse(responseData));},onGetUserEmailsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteUserEmailSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onDeleteUserEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRestoreUserEmailSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onRestoreUserEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateMailboxFolderSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onCreateMailboxFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRenameMailboxFolderSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onRenameMailboxFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteMailboxFolderSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onDeleteMailboxFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSetMailAsReadSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onSetMailAsReadFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onMarkAsSpamSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onMarkAsSpamFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onMoveMailToFolderSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onMoveMailToFolderFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onPermanentDeleteEmailSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onPermanentDeleteEmailFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onEmptyDeletedItemsSuccess:function(responseData){this.requiresUpdate=true;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getUserEmails(this.currentFolderID,searchValue,this.order,this.currentPage);},onEmptyDeletedItemsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var NewchatView=JS.subClass(JSAppView,{name:"NewchatView",title:"Daily Report - New Chat",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,ViewStates:{Standard:0,Group:1},currentState:0,selectedGroupMembers:null,imageSelected:false,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.newGroupInnerHolder=document.createElement('div');this.newGroupInnerHolder.className="NewGroupInnerHolder";this.createGroupButton=document.createElement('div');this.createGroupButton.className="CreateGroupButton";this.createGroupButtonIcon=document.createElement('div');this.createGroupButtonIcon.className="CreateGroupButtonIcon";this.createGroupButtonTitle=document.createElement('div');this.createGroupButtonTitle.className="CreateGroupButtonTitle";this.createGroupButton.addEventListener('click',function(){this.createNewGroupButtonPressed();}.bind(this));this.externalInviteInnerHolder=document.createElement('div');this.externalInviteInnerHolder.className="ExternalInviteInnerHolder";this.externalInviteButton=document.createElement('div');this.externalInviteButton.className="CreateExternalInviteButton";this.externalInviteButtonIcon=document.createElement('div');this.externalInviteButtonIcon.className="CreateExternalInviteButtonIcon";this.externalInviteButtonTitle=document.createElement('div');this.externalInviteButtonTitle.className="CreateExternalInviteButtonTitle";this.externalInviteButtonTitle.addEventListener('click',function(){this.externalInviteButtonPressed();}.bind(this));this.orText=document.createElement('div');this.orText.className="CreateNewGroupOrText";this.usersListTable=document.createElement("div");this.usersListTable.className="UserListTable";this.usersListTableSearchBar=document.createElement("div");this.usersListTableSearchBar.className="SearchBar";this.usersListTitle=document.createElement("div");this.usersListTitle.className="UserListTitle";this.usersListTitleIcon=document.createElement("div");this.usersListTitleIcon.className="UserListIcon";this.usersListTableSearchBarSearchField=document.createElement("div");this.usersListTableSearchBarSearchField.className="SearchField";this.usersListTableSearchBarSearchIcon=document.createElement("div");this.usersListTableSearchBarSearchIcon.className="SearchIcon";this.usersListTableSearchInput=document.createElement("input");this.usersListTableSearchInput.type="text";this.usersListTableSearchBarClearButton=document.createElement("div");this.usersListTableSearchBarClearButton.className="SearchBarClearButton";this.usersListTableUsersHolder=document.createElement("div");this.usersListTableUsersHolder.className="UserListTableUsersHolder";this.newGroupTitleBar=document.createElement('div');this.newGroupTitleBar.className="NewGroupTitlebar";this.newGroupTitleBarBackButton=document.createElement('div');this.newGroupTitleBarBackButton.className="BackButton";this.newGroupTitleBarBackButton.addEventListener('click',function(){this.innerHolder.style.display='block';this.newGroupInnerHolder.style.display='none';this.currentState=this.ViewStates.Standard;this.getChatUsers();}.bind(this));this.newGroupTitleBarText=document.createElement('div');this.newGroupTitleBarText.className="NewGroupTitlebarText";this.newGroupTitleBarSpace=document.createElement('div');this.newGroupTitleBarSpace.className="Space";this.newGroupInfoHolder=document.createElement('div');this.newGroupInfoHolder.className="NewGroupInfoHolder";this.newGroupPictureHolder=document.createElement('div');this.newGroupPictureHolder.className="GroupPicture";this.newGroupTitleInput=document.createElement('input');this.newGroupTitleInput.type="text";this.newGroupUsersListTable=document.createElement("div");this.newGroupUsersListTable.className="UserListTable";this.newGroupUsersListTable.classList.add("UserListTableNewGroup");this.newGroupUsersListTableSearchBar=document.createElement("div");this.newGroupUsersListTableSearchBar.className="SearchBar";this.newGroupUsersListTitle=document.createElement("div");this.newGroupUsersListTitle.className="UserListTitle";this.newGroupUsersListTitleIcon=document.createElement("div");this.newGroupUsersListTitleIcon.className="UserListIcon";this.newGroupUsersListTableSearchBarSearchField=document.createElement("div");this.newGroupUsersListTableSearchBarSearchField.className="SearchField";this.newGroupUsersListTableSearchBarSearchIcon=document.createElement("div");this.newGroupUsersListTableSearchBarSearchIcon.className="SearchIcon";this.newGroupUsersListTableSearchInput=document.createElement("input");this.newGroupUsersListTableSearchInput.type="text";this.newGroupUsersListTableSearchBarClearButton=document.createElement("div");this.newGroupUsersListTableSearchBarClearButton.className="SearchBarClearButton";this.newGroupUsersListTableUsersHolder=document.createElement("div");this.newGroupUsersListTableUsersHolder.className="UserListTableUsersHolder";this.newGroupUsersListTableCreateGroupButton=document.createElement("div");this.newGroupUsersListTableCreateGroupButton.className="CreateGroupButton";this.newGroupUsersListTableCreateGroupButton.addEventListener('click',function(){this.onNewGroupButtonSelelected();}.bind(this));this.canvas=document.createElement('canvas');this.canvas.id="NewchatViewCanvas";this.canvas.width=500;this.canvas.height=500;this.groupPictureFile=document.createElement('input');this.groupPictureFile.type="file";this.groupPictureFile.accept="image/png, image/jpeg";this.groupPictureFile.id="NewchatViewUploadFile";this.groupPictureFile.style.display="none";this.groupPictureFile.addEventListener('change',function(){this.onGroupImageSelected(this.groupPictureFile);}.bind(this));this.newGroupPictureHolder.addEventListener("click",function(){this.groupPictureFile.click();}.bind(this));this.popupViewContainer=document.createElement('div');this.popupViewContainer.id="NewchatViewPopupViewContainer";this.popupViewContainerInnerHolder=document.createElement('div');this.popupViewContainerInnerHolder.id="NewchatViewPopupViewContainerInnerHolder";},create:function(domView){var ctx=this.canvas.getContext("2d");ctx.fillStyle=Globals.Colors.PrimaryBrandColorBlue;ctx.fillRect(0,0,this.canvas.width,this.canvas.height);this.titleBarText.innerHTML=s[l].NewchatViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"new_chat_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.createGroupButtonIcon.style.backgroundImage="url("+Globals.iconsPath+"group_add_black.svg"+")";this.createGroupButton.appendChild(this.createGroupButtonIcon);this.createGroupButtonTitle.innerHTML=s[l].NewchatViewCreateNewGroupButtonText;this.createGroupButton.appendChild(this.createGroupButtonTitle);this.innerHolder.appendChild(this.createGroupButton);this.externalInviteButtonIcon.style.backgroundImage="url("+Globals.iconsPath+"add_call_black.svg"+")";this.externalInviteButton.appendChild(this.externalInviteButtonIcon);this.externalInviteButtonTitle.innerHTML=s[l].NewchatViewCreateExternalCallInviteButtonText;this.externalInviteButton.appendChild(this.externalInviteButtonTitle);this.innerHolder.appendChild(this.externalInviteButton);this.orText.innerHTML=s[l].NewchatViewCreateNewGroupOrText;this.innerHolder.appendChild(this.orText);domView.appendChild(this.innerHolder);this.newGroupInnerHolder.appendChild(this.newGroupTitleBar);this.newGroupTitleBar.appendChild(this.newGroupTitleBarBackButton);this.newGroupTitleBarText.innerHTML=s[l].NewchatViewCreateNewGroupTitleText;this.newGroupTitleBar.appendChild(this.newGroupTitleBarText);this.newGroupTitleBar.appendChild(this.newGroupTitleBarSpace);this.newGroupPictureHolder.appendChild(this.groupPictureFile);this.newGroupInfoHolder.appendChild(this.newGroupPictureHolder);this.newGroupInfoHolder.appendChild(this.newGroupTitleInput);this.newGroupInnerHolder.appendChild(this.newGroupInfoHolder);this.newGroupPictureHolder.style.backgroundImage="url('/assets/images/icons/camera_black.svg')" this.newGroupPictureHolder.style.backgroundSize="30px 30px";this.newGroupPictureHolder.style.backgroundPosition="10px 10px";this.groupPictureFile.value="";this.newGroupTitleInput.value="";this.newGroupTitleInput.placeholder=s[l].NewchatViewCreateNewGroupTitleInputPlaceholderText;domView.appendChild(this.newGroupInnerHolder);if(s[l].Direction=="rtl"){this.newGroupTitleBarBackButton.classList.add('BackButton_rtl');}else{this.newGroupTitleBarBackButton.classList.remove('BackButton_rtl');} this.buildUserLists();this.popupViewContainer.appendChild(this.popupViewContainerInnerHolder);domView.appendChild(this.popupViewContainer);},start:function(data=null){this.dismissDialog();this.imageSelected=false;this.currentState=this.ViewStates.Standard;this.innerHolder.style.display='block';this.newGroupInnerHolder.style.display='none';this.getChatUsers(null);},stop:function(){this.dismissDialog();},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].NewchatViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"NewchatView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i1){this.getChatUsers(this.usersListTableSearchInput.value);}else if(this.usersListTableSearchInput.value.length==0){this.getChatUsers(null);} if(this.usersListTableSearchInput.value.length>0){this.usersListTableSearchBarClearButton.style.display="block";}else{this.usersListTableSearchBarClearButton.style.display="none";}}.bind(this));this.newGroupUsersListTableSearchBarSearchField.appendChild(this.newGroupUsersListTableSearchInput);this.newGroupUsersListTableSearchBarSearchField.appendChild(this.newGroupUsersListTableSearchBarSearchIcon);this.newGroupUsersListTableSearchBarSearchField.appendChild(this.newGroupUsersListTableSearchBarClearButton);this.newGroupUsersListTableSearchBar.appendChild(this.newGroupUsersListTitleIcon);this.newGroupUsersListTableSearchBar.appendChild(this.newGroupUsersListTitle);this.newGroupUsersListTableSearchBar.appendChild(this.newGroupUsersListTableSearchBarSearchField);this.newGroupUsersListTitle.innerHTML=s[l].NewchatViewMembersTableTitle;this.newGroupUsersListTable.appendChild(this.newGroupUsersListTableSearchBar);this.newGroupUsersListTable.appendChild(this.newGroupUsersListTableUsersHolder);this.newGroupInnerHolder.appendChild(this.newGroupUsersListTable);this.newGroupUsersListTableSearchBarClearButton.addEventListener('click',function(){this.newGroupUsersListTableSearchInput.value="";this.newGroupUsersListTableSearchBarClearButton.style.display="none";this.getChatUsers(null);}.bind(this));this.newGroupUsersListTableSearchInput.placeholder=s[l].NewchatViewMembersTableSearchFieldPlaceholderText;this.newGroupUsersListTableSearchInput.addEventListener("keyup",function(event){if(this.newGroupUsersListTableSearchInput.value.length>1){this.getChatUsers(this.newGroupUsersListTableSearchInput.value);}else if(this.newGroupUsersListTableSearchInput.value.length==0){this.getChatUsers(null);} if(this.newGroupUsersListTableSearchInput.value.length>0){this.newGroupUsersListTableSearchBarClearButton.style.display="block";}else{this.newGroupUsersListTableSearchBarClearButton.style.display="none";}}.bind(this));this.newGroupUsersListTableCreateGroupButton.innerHTML=s[l].NewchatViewCreateGroupButtonText;this.newGroupInnerHolder.appendChild(this.newGroupUsersListTableCreateGroupButton);},populateUserListTable:function(data=null){this.usersListTableUsersHolder.innerHTML="";this.newGroupUsersListTableUsersHolder.innerHTML="";var users=data;if(users!=null){for(var i=0;i{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(this.canvas,img);var file=this.canvas.toDataURL("image/jpeg");this.newGroupPictureHolder.style.backgroundImage="url("+file+")";this.newGroupPictureHolder.style.backgroundSize="50px 50px";this.newGroupPictureHolder.style.backgroundPosition="0px 0px";}.bind(this);img.src=this.url;} this.imageSelected=true;},drawOnCanvas:function(canvas,img){var ctx=canvas.getContext('2d');if(img.width>img.height){var h=canvas.height;var w=canvas.height*(img.width/img.height);var dw=(w-canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=canvas.width*(img.height/img.width);var w=canvas.width;var dh=(h-canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);}},startDMChatWithUser:function(user){var recipient=user.uid;this.createDMChatGroup(recipient)},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},save:function(){},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissContactsDialog!=undefined)this.delegate.onDismissContactsDialog(this);},createNewGroupButtonPressed:function(){this.currentState=this.ViewStates.Group;this.toggleNewGroupMenu();this.getChatUsers(null);this.selectedGroupMembers=new Array();},toggleNewGroupMenu:function(){if(this.newGroupInnerHolder.style.display=='block'){this.newGroupInnerHolder.style.display='none';this.innerHolder.style.display='block';}else{this.newGroupInnerHolder.style.display='block';this.innerHolder.style.display='none';}},externalInviteButtonPressed:function(){this.presentViewInDialog(CreateexternalcallinviteView);},presentViewInDialog:function(view,data=null){this.popupViewContainerInnerHolder.innerHTML="";view._init(this);var viewHolder=view.load();this.popupViewContainerInnerHolder.appendChild(viewHolder);view.start(data);this.popupViewContainer.style.display="block";this.popupViewContainerInnerHolder.style.transition="0s";this.popupViewContainerInnerHolder.style.top="2000px";this.popupViewContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupViewContainerInnerHolder.style.top="0px";}.bind(this),100);},onDismissDialogView:function(){this.dismissDialog();},dismissDialog:function(){this.popupViewContainer.style.display="none";this.popupViewContainerInnerHolder.innerHTML="";this.popupViewContainerInnerHolder.style.top="2000px";},onNewGroupButtonSelelected:function(){var title=this.newGroupTitleInput.value;if(title.length>0&&this.selectedGroupMembers.length>0){var members=new Array();for(var i=0;i1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},populateNewsTable:function(data){this.newsArticleTable.innerHTML="";var list=data.articles;var totalArticles=data.total;var visibleArticles=0;if(list.length>0){for(var i=0;i0&&search.length<20?"search="+search:"");request.postRequest(Globals.ServicesURL.getNewsArticlesURL,params,function(responseData){this.onGetNewsArticlesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetNewsArticlesFaild(statusCode,errorMessage)}.bind(this));},showLoadingScreen:function(){this.loadingScreen.style.display="block";},hideLoadingScreen:function(){this.loadingScreen.style.display="none";},onGetNewsArticlesSuccess:function(responseData){this.populateNewsTable(JSON.parse(responseData));},onGetNewsArticlesFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var NotificationsView=JS.subClass(JSAppView,{NOTIFICATION_TYPES:{FORM_ASSIGNED:1,EMPLOYEE_SHIFT:2,ABSENCE_REQUEST:3,EMAIL_RECEIVED:4,CALENDAR_EVENT:5},name:"NotificationsView",title:"Daily Report - Notifications",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,notificationsActive:true,updateInterval:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"notifications_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.clearButtonHolder=document.createElement('div');this.clearButtonHolder.className="ClearButtonHolder";this.titleBar.appendChild(this.clearButtonHolder);this.clearAllNotificationsButton=document.createElement('div');this.clearAllNotificationsButton.className="ClearAllButton";this.clearAllNotificationsButton.classList.add("ClearAllButtonHidden");this.clearButtonHolder.appendChild(this.clearAllNotificationsButton);this.clearAllNotificationsButton.addEventListener('click',function(){Alert.present(s[l].NotificationsViewClearAllNotificationsAlert.Title,s[l].NotificationsViewClearAllNotificationsAlert.Description,s[l].NotificationsViewClearAllNotificationsAlert.Button1Title,s[l].NotificationsViewClearAllNotificationsAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.clearAllNotifications();}}.bind(this));}.bind(this));this.notificationsButton=document.createElement('div');this.notificationsButton.className="NotificationsButton";this.titleBar.appendChild(this.notificationsButton);this.notificationsButton.addEventListener('click',function(){if(this.notificationsActive==true){this.notificationsActive=false;this.notificationsButton.classList.remove("NotificationsButtonActive");this.notificationsButton.classList.add("NotificationsButtonInactive");this.enableNotificationAlerts(0);}else{this.notificationsActive=true;this.notificationsButton.classList.add("NotificationsButtonActive");this.notificationsButton.classList.remove("NotificationsButtonInactive");this.enableNotificationAlerts(1);}}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.notificationsTable=document.createElement('div');this.notificationsTable.className="NotificationsTable";},create:function(domView){domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.titleBarText.innerHTML=s[l].NotificationsViewTitleText;this.clearAllNotificationsButton.innerHTML=s[l].NotificationsViewClearAllNotificationsButtonTitleText;this.innerHolder.appendChild(this.notificationsTable);if(s[l].Direction=="rtl"){this.clearButtonHolder.style.textAlign="left";}else{this.clearButtonHolder.style.textAlign="right";}},start:function(data=null){this.updateNotifications();this.updateInterval=setInterval(function(){this.updateNotifications();}.bind(this),5000);},stop:function(){clearInterval(this.updateInterval);this.updateInterval=null;},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},populateNotifications:function(data){this.notificationsTable.innerHTML="";this.notificationsActive=(data.notification_alerts_active==1?true:false);if(this.notificationsActive==true){this.notificationsButton.classList.add("NotificationsButtonActive");this.notificationsButton.classList.remove("NotificationsButtonInactive");}else{this.notificationsButton.classList.remove("NotificationsButtonActive");this.notificationsButton.classList.add("NotificationsButtonInactive");} this.notificationTypes=data.notificationTypes;var notifications=data.notifications;for(var i=0;i";message.classList.add("ClickableMessage");senderNameClickable=true;break;case this.NOTIFICATION_TYPES.EMPLOYEE_SHIFT:var data=JSON.parse(itemData.data);var event=data.event;if(event=="CHECK_IN_OUTSIDE_LOCATIONS"){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeCheckedInOutsideOfLocationsTitleText;message.innerHTML="";}else if(event=="CHECK_OUT_OUTSIDE_LOCATIONS"){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeCheckedOutOutsideOfLocationsTitleText;message.innerHTML="";}else if(event=="CHECK_IN_WITHOUT_LOCATION"){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeCheckedInWithNoLocationTitleText;message.innerHTML="";}else if(event=="CHECK_OUT_WITHOUT_LOCATION"){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeCheckedOutWithNoLocationTitleText;message.innerHTML="";} senderNameClickable=true;break;case this.NOTIFICATION_TYPES.ABSENCE_REQUEST:var data=JSON.parse(itemData.data);var event=data.event;var status=data.status;if(event=="REQUEST_FOR_TIME_OFF"){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeAbsenceRequestTitleText;message.innerHTML=s[l].NotificationsViewNotificationTexts.EmployeeAbsenceRequestInfoText;message.classList.add("ClickableMessage");}else if(event=="RESPONSE_FOR_TIME_OFF"){if(status==1){title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeAbsenceResponseApprovedTitleText;message.innerHTML=s[l].NotificationsViewNotificationTexts.EmployeeAbsenceResponseInfoText;message.classList.add("ClickableMessage");}else{title.innerHTML="
"+s[l].NotificationsViewNotificationTexts.EmployeeAbsenceResponseRejectedTitleText;message.innerHTML=s[l].NotificationsViewNotificationTexts.EmployeeAbsenceResponseInfoText;message.classList.add("ClickableMessage");}} senderNameClickable=true;break;case this.NOTIFICATION_TYPES.EMAIL_RECEIVED:senderName.classList.add("NoHover");var data=JSON.parse(itemData.data);profilePicture.style.backgroundImage="url('"+data.logo_url+"')";senderName.innerText=data.sender;title.innerHTML=" "+data.subject;var firstLine=data.firstline;if(firstLine!=null&&firstLine.includes('[spam]'))firstLine=firstLine.replace('[spam]',"
");message.innerHTML=firstLine;message.classList.add("ClickableMessage");break;case this.NOTIFICATION_TYPES.CALENDAR_EVENT:var data=JSON.parse(itemData.data);senderNameClickable=true;var titleText="";switch(parseInt(data.event_type)){case 7:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventReminderTitleText;break;case 6:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventRejectedTitleText;break;case 5:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventTentativeTitleText;break;case 4:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventAcceptedTitleText;break;case 3:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventCanceledTitleText;break;case 2:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventUpdatedTitleText;break;case 1:default:titleText=s[l].NotificationsViewNotificationTexts.CalendarEventInvitedTitleText;break;} if(parseInt(data.event_type)==7){var mins=parseInt(data.alert_mins);var displayTime="";if(mins>=1440){var startDate=Date.getAdjustedDatefromTimestamp(data.start_time);displayTime=s[l].NotificationsViewNotificationTexts.CalendarEventReminderTomorrowAtText+" "+Date.getLocalTimeString(startDate);}else if(mins>=60){var hours=Math.floor(mins/60);displayTime=s[l].NotificationsViewNotificationTexts.CalendarEventReminderStartsInText+" "+hours+" "+s[l].NotificationsViewNotificationTexts.CalendarEventReminderHoursText;}else displayTime=s[l].NotificationsViewNotificationTexts.CalendarEventReminderStartsInText+" "+mins+" "+s[l].NotificationsViewNotificationTexts.CalendarEventReminderMinutesText;title.innerHTML="
"+(data.subject||"")+": "+displayTime;}else{title.innerHTML="
"+titleText+" "+(data.subject||"")+"";} message.innerHTML=this.formatCalendarDate(data);message.classList.add("ClickableMessage");} var timeStamp=document.createElement('div');timeStamp.className="Timestamp";if(s[l].Direction=="rtl")timeStamp.classList.add("Timestamp_rtl");timeStamp.innerHTML=Date.getDateStringFromDate(itemData.creation_timestamp);notificationItem.appendChild(timeStamp);if(s[l].Direction=="rtl"){timeStamp.style.textAlign="left";}else{timeStamp.style.textAlign="right";} if(senderNameClickable==true){senderName.addEventListener('click',function(event){event.preventDefault();event.stopPropagation();this.delegate.onNotificationItemSenderNamePressed(this.data);}.bind({delegate:this,data:itemData}));} notificationItem.addEventListener('click',function(){this.delegate.onNotificationItemPressed(this.data)}.bind({delegate:this,data:itemData}));return notificationItem;},formatCalendarDate:function(data){if(!data||!data.start_time)return"";var startDate=Date.getAdjustedDatefromTimestamp(data.start_time);var endDate=data.end_time?Date.getAdjustedDatefromTimestamp(data.end_time):null;var dayName=s[l].DaysOfWeek[startDate.getDay()];var monthName=s[l].MonthsOfYear[startDate.getMonth()].substring(0,3);var dayNumber=startDate.getDate();var timeStr=Date.getLocalTimeString(startDate)+(endDate?" - "+Date.getLocalTimeString(endDate):"");var tzOffset=startDate.getTimezoneOffset();var hours=Math.abs(Math.floor(tzOffset/60));var sign=tzOffset<=0?"+":"-";var gmtSuffix=" (GMT"+sign+hours+")";var formattedDate=dayName+", "+dayNumber+" "+monthName+" "+s[l].DateAndTimeAtText+" "+timeStr+gmtSuffix;var rrule=data.rrule||"";var freq=null;var daysText="";if(rrule.indexOf("FREQ=")!==-1){if(rrule.indexOf("FREQ=DAILY")!==-1)freq="DAILY";else if(rrule.indexOf("FREQ=WEEKLY")!==-1)freq="WEEKLY";else if(rrule.indexOf("FREQ=MONTHLY")!==-1)freq="MONTHLY";else if(rrule.indexOf("FREQ=YEARLY")!==-1)freq="YEARLY";var byDayMatch=rrule.match(/BYDAY=([^;]+)/);if(byDayMatch&&byDayMatch[1]){var daysMap={"SU":0,"MO":1,"TU":2,"WE":3,"TH":4,"FR":5,"SA":6};var shortDays=byDayMatch[1].split(',');var translatedDays=[];shortDays.forEach(function(dayCode){var dayIndex=daysMap[dayCode.trim()];if(dayIndex!==undefined)translatedDays.push(s[l].DaysOfWeek[dayIndex]);});if(translatedDays.length>0){daysText=" ("+translatedDays.join(', ')+")";}}} if(freq){var freqKey="CalendarEventFreq"+freq;var freqText=s[l].NotificationsViewNotificationTexts[freqKey]||freq;formattedDate=freqText+daysText+" "+s[l].NotificationsViewNotificationTexts.CalendarEventFromText+" "+formattedDate;} return formattedDate;},updateNotifications:function(){this.getNotifications();},onNotificationItemPressed:function(data){switch(parseInt(data.type)){case 1:var itemData=JSON.parse(data.data);var fid=itemData.fid;Application.loadView(FormsView,{fid:fid});break;case 2:break;case 3:var itemData=JSON.parse(data.data);var rid=itemData.request_id;var sheet=itemData.sheet;Application.loadView(TimetrackingView,{sheet:sheet,request_id:rid});break;case 4:var itemData=JSON.parse(data.data);Application.loadView(MailboxView,{id:itemData.mail_id});break;case 5:var itemData=JSON.parse(data.data);Application.loadView(CalendarView,{event_id:itemData.event_id,start_time:itemData.start_time});break;}},onNotificationItemSenderNamePressed:function(data){var data={uid:data.sender} Application.loadView(ChatView,data);},getNotifications:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getNotificationsURL,params,function(responseData){this.onGetNotificationsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetNotificationsFailed(statusCode,errorMessage)}.bind(this));},clearNotification:function(nid){var request=new NetworkRequest();var params="nid="+nid;request.postRequest(Globals.ServicesURL.clearNotificationsURL,params,function(responseData){this.onClearNotificationSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onClearNotificationFailed(statusCode,errorMessage)}.bind(this));},clearAllNotifications:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.clearNotificationsURL,params,function(responseData){this.onClearAllNotificationsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onClearAllNotificationsFailed(statusCode,errorMessage)}.bind(this));},enableNotificationAlerts:function(isActive=1){var request=new NetworkRequest();var params="is_active="+isActive;request.postRequest(Globals.ServicesURL.enableNotificationAlertsURL,params,function(responseData){this.onEnableNotificationAlertsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onEnableNotificationAlertsFailed(statusCode,errorMessage)}.bind(this));},onGetNotificationsSuccess:function(responseData){this.populateNotifications(JSON.parse(responseData));},onGetNotificationsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onClearNotificationSuccess:function(responseData){this.updateNotifications();},onClearNotificationFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onClearAllNotificationsSuccess:function(responseData){this.updateNotifications();},onClearAllNotificationsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onEnableNotificationAlertsSuccess:function(responseData){},onEnableNotificationAlertsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var PdfView=JS.subClass(JSAppView,{name:"PdfView",title:"Daily Report - PDF reader",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,url:null,pdf:null,page:1,zoom:100,xDown:null,yDown:null,isZooming:false,controlsVisible:true,bookmarks:[],_BOOKMARKS:"BOOKMARKS",delegate:null,allMenus:new Array(),init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.pdfHolder=document.createElement('div');this.pdfHolder.className="PDFHolder";this.centerHolder=document.createElement('center');this.pdfCanvas=document.createElement('canvas');this.pdfCanvas.className="PDFCanvas";this.nextButton=document.createElement('div');this.nextButton.className="NextButton";this.prevButton=document.createElement('div');this.prevButton.className="PrevButton";this.pageNumber=document.createElement('div');this.pageNumber.className="PageNumber";this.zoomInButton=document.createElement('div');this.zoomInButton.className="ZoomInButton";this.zoomOutButton=document.createElement('div');this.zoomOutButton.className="ZoomOutButton";this.pageZoom=document.createElement('div');this.pageZoom.className="Zoom";this.pdfCanvas.addEventListener('touchstart',function(e){this.handleTouchStart(e);}.bind(this),false);this.pdfCanvas.addEventListener('touchmove',function(e){this.handleTouchMove(e);}.bind(this),false);this.pdfCanvas.addEventListener('touchend',function(e){this.handleTouchEnd(e);}.bind(this),false);this.nextButton.addEventListener('click',function(e){this.onNextButtonClicked();}.bind(this));this.nextButton.addEventListener('touchstart',function(e){this.onNextButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.prevButton.addEventListener('click',function(e){this.onPrevButtonClicked();}.bind(this));this.prevButton.addEventListener('touchstart',function(e){this.onPrevButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.zoomInButton.addEventListener('click',function(e){this.onZoomInButtonClicked();}.bind(this));this.zoomInButton.addEventListener('touchstart',function(e){this.onZoomInButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.zoomOutButton.addEventListener('click',function(e){this.onZoomOutButtonClicked();}.bind(this));this.zoomOutButton.addEventListener('touchstart',function(e){this.onZoomOutButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.loadingScreen=document.createElement('div');this.loadingScreen.className="PdfViewLoadingScreen";this.loadingScreen.appendChild(new PaperPlane());},create:function(domView){this.titleBarText.innerHTML=s[l].PdfViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"preview_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.pdfHolder);this.centerHolder.appendChild(this.pdfCanvas);this.pdfHolder.appendChild(this.centerHolder);this.innerHolder.appendChild(this.pdfHolder);this.innerHolder.appendChild(this.nextButton);this.innerHolder.appendChild(this.prevButton);this.innerHolder.appendChild(this.pageNumber);this.innerHolder.appendChild(this.zoomInButton);this.innerHolder.appendChild(this.zoomOutButton);this.innerHolder.appendChild(this.pageZoom);domView.appendChild(this.innerHolder);domView.appendChild(this.loadingScreen);},start:function(data){this.hidePDFViewer();this.page=1;if(data!=null){if(data.url!=undefined)this.url=data.url;if(data.page!=undefined)this.page=parseInt(data.page);} if(this.url!=null)this.loadPDF(this.url,this.page);},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].PdfViewTitleBarMenu.DownloadButtonTitleText,icon:"/assets/images/icons/download_file_black.svg",action:"PdfView.download();"},{title:s[l].PdfViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"PdfView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i800){this.setZoom(100);}else{this.setZoom(100);}},renderPage:function(pdf,pageID){pdf.getPage(pageID).then(function(page){var scale=1.5;var viewport=page.getViewport({scale:scale,});var context=this.pdfCanvas.getContext('2d');this.pdfCanvas.height=viewport.height;this.pdfCanvas.width=viewport.width;var renderContext={canvasContext:context,viewport:viewport};page.render(renderContext);this.PDFPage=page;this.page=pageID;this.pageNumber.innerHTML=this.pdf.numPages+" / "+this.page;}.bind(this));if(this.controlsVisible){if(pageID<=1)this.prevButton.style.display='none';else this.prevButton.style.display='block';if(pageID==this.pdf.numPages)this.nextButton.style.display='none';else this.nextButton.style.display='block';} this.pageZoom.innerHTML=this.zoom+"%";},showPDFViewer:function(){this.pdfHolder.style.display="block";this.showControls();},hidePDFViewer:function(){this.pdfHolder.style.display="none";this.hideControls();},onNextButtonClicked:function(){if(this.page0){this.renderPage(this.pdf,this.page-1);} this.pdfHolder.scrollTop=0;},onZoomInButtonClicked:function(){if(this.zoom<400){var zoom=parseInt(this.zoom)+20;this.setZoom(zoom);}},onZoomOutButtonClicked:function(){if(this.zoom>40){var zoom=parseInt(this.zoom)-20;this.setZoom(zoom);}},setZoom:function(zoom){this.zoom=zoom;this.pdfCanvas.style.width=parseInt(this.zoom)+"%";this.pageZoom.innerHTML=this.zoom+"%";},getTouches:function(evt){return evt.touches;},handleTouchStart:function(evt){if(evt.touches.length==1){this.isZooming=false;const firstTouch=this.getTouches(evt)[0];this.xDown=firstTouch.clientX;this.yDown=firstTouch.clientY;}else if(evt.touches.length==2){this.isZooming=true;this.startZoomDistance=Math.hypot(evt.touches[0].pageX-evt.touches[1].pageX,evt.touches[0].pageY-evt.touches[1].pageY);}},handleTouchMove:function(evt){if(this.isZooming){var zoomDistance=Math.hypot(evt.touches[0].pageX-evt.touches[1].pageX,evt.touches[0].pageY-evt.touches[1].pageY);if(Math.abs(this.startZoomDistance-zoomDistance)>50){if(this.startZoomDistance-zoomDistance>0){this.onZoomOutButtonClicked();}else{this.onZoomInButtonClicked();} this.startZoomDistance=zoomDistance;}}else{var xMove=evt.touches[0].clientX;var yMove=evt.touches[0].clientY;this.xDiff=this.xDown-xMove;this.yDiff=this.yDown-yMove;}},handleTouchEnd:function(evt){this.isZooming=false;},showControls:function(){this.nextButton.style.display="block";this.prevButton.style.display="block";this.pageNumber.style.display="block";this.zoomInButton.style.display="block";this.zoomOutButton.style.display="block";this.pageZoom.style.display="block";this.controlsVisible=true;},hideControls:function(){this.nextButton.style.display="none";this.prevButton.style.display="none";this.pageNumber.style.display="none";this.zoomInButton.style.display="none";this.zoomOutButton.style.display="none";this.pageZoom.style.display="none";this.controlsVisible=false;},download:function(){if(this.url==null)return;fetch(this.url,{credentials:'include'}).then(response=>{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=this.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));},dismiss:function(){if(this.delegate!=undefined&&this.delegate!=null&&this.delegate.dismissDialog)this.delegate.dismissDialog();}});var PreviewView=JS.subClass(JSAppView,{name:"PreviewView",title:"Daily Report - File Viewer",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,viewer:null,fd:null,filename:null,fileURL:null,pdf:null,page:1,zoom:100,xDown:null,yDown:null,isZooming:false,controlsVisible:false,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.pdfHolder=document.createElement('div');this.pdfHolder.className="PDFHolder";this.centerHolder=document.createElement('center');this.pageNumber=document.createElement('div');this.pageNumber.className="PageNumber";this.zoomInButton=document.createElement('div');this.zoomInButton.className="ZoomInButton";this.zoomOutButton=document.createElement('div');this.zoomOutButton.className="ZoomOutButton";this.pageZoom=document.createElement('div');this.pageZoom.className="Zoom";this.pdfHolder.addEventListener('touchstart',function(e){this.handleTouchStart(e);}.bind(this),{passive:false});this.pdfHolder.addEventListener('touchmove',function(e){this.handleTouchMove(e);}.bind(this),{passive:false});this.pdfHolder.addEventListener('touchend',function(e){this.handleTouchEnd(e);}.bind(this),false);this.zoomInButton.addEventListener('click',function(e){this.onZoomInButtonClicked();}.bind(this));this.zoomInButton.addEventListener('touchstart',function(e){this.onZoomInButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.zoomOutButton.addEventListener('click',function(e){this.onZoomOutButtonClicked();}.bind(this));this.zoomOutButton.addEventListener('touchstart',function(e){this.onZoomOutButtonClicked();e.stopPropagation();e.preventDefault();}.bind(this));this.pdfHolder.addEventListener('scroll',function(){this.updatePageCounterOnScroll();}.bind(this));this.videoHolder=document.createElement('div');this.videoHolder.className="VideoHolder";this.videoPlayer=document.createElement('video');this.videoPlayer.autoplay=true;this.videoPlayer.controls=false;this.videoPlayer.setAttribute('playsinline','');this.videoHolder.appendChild(this.videoPlayer);this.videoPlayer.addEventListener('play',function(){this.playPauseButton.classList.replace('paused','playing');}.bind(this));this.videoPlayer.addEventListener('pause',function(){this.playPauseButton.classList.replace('playing','paused');}.bind(this));this.videoPlayer.addEventListener('canplay',function(){this.loadingScreen.style.display="none";}.bind(this));this.videoPlayer.addEventListener('waiting',function(){}.bind(this));this.videoPlayer.addEventListener('ended',function(){this.videoControlButtonsHolder.style.opacity="1";}.bind(this));this.videoPlayer.addEventListener('error',function(){this.loadingScreen.style.display="none";}.bind(this));this.videoPlayer.addEventListener('click',function(){if(this.videoControlButtonsHolder.style.opacity=="1")this.videoControlButtonsHolder.style.opacity="0";else this.videoControlButtonsHolder.style.opacity="1";}.bind(this));this.videoPlayer.addEventListener('timeupdate',function(){if(!this.videoPlayer.duration)return;var percentage=(this.videoPlayer.currentTime/this.videoPlayer.duration)*100;this.progressBar.style.width=percentage+"%";this.progressCursor.style.left=percentage+"%";this.currentTimeLabel.innerHTML=this.formatTime(this.videoPlayer.currentTime);}.bind(this));this.videoPlayer.addEventListener('loadedmetadata',function(){this.totalTimeLabel.innerHTML=this.formatTime(this.videoPlayer.duration);}.bind(this));this.videoControlButtonsHolder=document.createElement('div');this.videoControlButtonsHolder.className="VideoControlButtonsHolder";this.FilenameEditorContainer=document.createElement('div');this.FilenameEditorContainer.className="FilenameEditorContainer";this.loadingScreen=document.createElement('div');this.loadingScreen.className="PreviewViewLoadingScreen";this.loadingScreen.appendChild(new PaperPlane());this.previewInfoHolder=document.createElement('div');this.previewInfoHolder.className="PreviewInfoHolder";},create:function(domView){if(s[l].Direction=="rtl"){domView.classList.add('rtl');}else{domView.classList.remove('rtl');} this.titleBar.appendChild(this.titleBarIcon);this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"preview_white.svg"+")";this.titleBar.appendChild(this.titleBarText);this.titleBarText.innerHTML=s[l].PreviewViewTitleText;this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);if(s[l].Direction=="rtl"){this.innerHolder.classList.add("rtl");}else{this.innerHolder.classList.remove("rtl");} this.pdfHolder.appendChild(this.centerHolder);this.innerHolder.appendChild(this.pdfHolder);this.innerHolder.appendChild(this.videoHolder);this.videoControlButtonsHolder.innerHTML="";this.videoControlButtonsHolder.appendChild(this.buildVideoControls());this.innerHolder.appendChild(this.videoControlButtonsHolder);this.innerHolder.appendChild(this.pageNumber);this.innerHolder.appendChild(this.zoomInButton);this.innerHolder.appendChild(this.zoomOutButton);this.innerHolder.appendChild(this.pageZoom);this.innerHolder.appendChild(this.previewInfoHolder);this.innerHolder.appendChild(this.loadingScreen);domView.appendChild(this.FilenameEditorContainer);this.filenameEditor=new FilenameEditor(this.FilenameEditorContainer,this);},start:function(data=null){this.fd=null;this.filename=null;this.fileURL=null;this.zoom=100;if(this.viewer!=null){this.innerHolder.removeChild(this.viewer);} this.viewer=document.createElement('iframe');this.viewer.className="PreviewViewer";this.viewer.setAttribute('sandbox','allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-modals');this.viewer.onload=function(){this.loadingScreen.style.display="none";}.bind(this);this.innerHolder.insertBefore(this.viewer,this.previewInfoHolder);this.hidePDFViewer();this.hideVideoViewer();if(data!=null&&data.fd!=undefined&&data.fd!=null){this.getCloudDriveFileData(data.fd);}else{console.error("No file ID (fd) provided.");}},stop:function(){this.hidePDFViewer();this.hideVideoViewer();this.pdf=null;this.centerHolder.innerHTML="";this.zoom=100;},onApplicationMovedToForeground:function(){document.documentElement.style.height='100.1vh';setTimeout(()=>{document.documentElement.style.height='100dvh';window.scrollTo(0,0);window.dispatchEvent(new Event('resize'));},100);},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(data){var fileType="UNKNOWN";if(data.meta_data!=undefined&&data.meta_data!=null){var metaData=JSON.parse(data.meta_data);fileType=MIMETypeParser.classMapper(metaData.content_type);} var isOwner=false;if(parseInt(data.owner_id)==parseInt(Application.sessionManager.sessionData.uid))isOwner=true;var items=[{title:s[l].PreviewViewTitleBarMenu.DownloadButtonTitleText,icon:"/assets/images/icons/download_file_black.svg",action:"PreviewView.download();"}];if(isOwner){items.push({title:s[l].PreviewViewTitleBarMenu.RenameFileButtonTitleText,icon:"/assets/images/icons/rename_black.svg",action:"PreviewView.rename();"});items.push({title:s[l].PreviewViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"PreviewView.delete();"});} if(fileType!="VIDEO"){items.push({title:s[l].PreviewViewTitleBarMenu.PrintButtonTitleText,icon:"/assets/images/icons/print_black.svg",action:"PreviewView.print();"});} items.push({title:s[l].PreviewViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"PreviewView.dismiss();"});this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i{if(response.ok){const contentType=response.headers.get("Content-Type");if(contentType.includes('text/html')){this.hidePDFViewer();response.text().then(html=>{this.viewer.srcdoc=html;});} else if(contentType.includes('text/')){this.hidePDFViewer();response.text().then(html=>{const textHtml=`${html}`;this.viewer.srcdoc=textHtml;});} else if(contentType.includes('image')){response.blob().then(blob=>{const imageUrl=URL.createObjectURL(blob);this.showPDFViewer();this.centerHolder.innerHTML="";this.pdf=null;const img=document.createElement('img');img.src=imageUrl;img.className="PDFCanvas";img.onload=function(){var cRatio=this.pdfHolder.clientWidth/this.pdfHolder.clientHeight;var iRatio=img.naturalWidth/img.naturalHeight;if(iRatio>cRatio){this.setZoom(100);}else{var fitZ=(this.pdfHolder.clientHeight/img.naturalHeight)*(img.naturalWidth/this.pdfHolder.clientWidth)*100;this.setZoom(Math.floor(fitZ/10)*10);} this.loadingScreen.style.display="none";}.bind(this);this.centerHolder.appendChild(img);this.pageNumber.style.display="none";});} else if(contentType.includes('application/pdf')){const mobileFriendlyUrl=Globals.ServicesURL.getCloudDriveFilePreviewURL+"?fd="+this.fd+"&format=pdf";this.url=mobileFriendlyUrl;this.loadPDF(mobileFriendlyUrl,1);this.pageNumber.style.display="block";}else if(contentType.includes('video')){this.hidePDFViewer();this.hideVideoViewer();this.showVideoViewer();this.videoPlayer.src=previewUrl;this.videoPlayer.load();this.loadingScreen.style.display="block";}else{response.blob().then(blob=>{const fileWithName=new File([blob],this.filename,{type:blob.type});const downloadUrl=URL.createObjectURL(fileWithName);this.fileURL=downloadUrl;const link=document.createElement('a');link.href=downloadUrl;link.download=this.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);this.loadingScreen.style.display="none";this.viewer.srcdoc=`${this.filename}`;});}}else{console.error("Error loading file preview:",response.statusText);}}).catch(error=>{console.error("Error fetching file:",error);});},onNativeFileHandled:function(fileName){this.loadingScreen.style.display="none";this.viewer.srcdoc=`
Opening in External App
${fileName}
`;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},populateFileInfo:function(data){this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu(data));this.previewInfoHolder.innerHTML="";var metaData=JSON.parse(data.meta_data);var fileSize=document.createElement("div");fileSize.className="FileSize";fileSize.innerText=this.formatFileSize(metaData.size);this.previewInfoHolder.appendChild(fileSize);var profileHolder=document.createElement("div");profileHolder.className="ProfileHolder";this.previewInfoHolder.appendChild(profileHolder);var profileInnerHolder=document.createElement("div");profileInnerHolder.className="ProfileInnerHolder";profileHolder.appendChild(profileInnerHolder);var profilePicture=document.createElement("div");profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+data.owner_profile_picture+"')";profileInnerHolder.appendChild(profilePicture);var name=document.createElement("div");name.className="Name";name.innerText=data.owner_firstname+" "+data.owner_lastname;profileInnerHolder.appendChild(name);var creationDate=document.createElement("div");creationDate.className="CreationDate";creationDate.innerText=Date.getTimeString(data.creation_time)+" "+Date.getDateFromTimestamp(data.creation_time);this.previewInfoHolder.appendChild(creationDate);},showVideoViewer:function(){if(this.viewer)this.viewer.style.display="none";this.pdfHolder.style.display="none";this.videoHolder.style.display="block";this.videoControlButtonsHolder.style.display="flex";this.videoControlButtonsHolder.style.opacity="1.0";this.hideControls();},hideVideoViewer:function(){this.videoHolder.style.display="none";this.videoControlButtonsHolder.style.display="none";this.videoPlayer.pause();this.videoPlayer.src="";},formatTime:function(seconds){if(isNaN(seconds))return"0:00";var min=Math.floor(seconds/60);var sec=Math.floor(seconds%60);return min+":"+(sec<10?"0"+sec:sec);},showPDFViewer:function(){this.viewer.style.display="none";this.pdfHolder.style.display="block";this.showControls();},hidePDFViewer:function(){this.viewer.style.display="block";this.pdfHolder.style.display="none";this.hideControls();this.zoom=100;},loadPDF:function(url,page=null){pdfjsLib.GlobalWorkerOptions.workerSrc='/js/uncompiled/PDFjs/pdf.worker.js';this.loadingScreen.style.display="block";var loadingTask=pdfjsLib.getDocument(url);loadingTask.promise.then(function(pdf){this.pdf=pdf;this.showPDFViewer();this.centerHolder.innerHTML="";this.renderAllPages();this.loadingScreen.style.display="none";this.setZoom(90);}.bind(this));this.setZoom(90);},renderAllPages:function(){this.pdfHolder.scrollTop=0;var numPages=this.pdf.numPages;this.pageNumber.innerHTML=numPages+" / 1";for(var i=1;i<=numPages;i++){this.renderSinglePage(i);}},renderSinglePage:function(pageID){this.pdf.getPage(pageID).then(function(page){var internalScale=3.0;var viewport=page.getViewport({scale:internalScale});var canvas=this.pdfHolder.querySelector('.PDFCanvas[data-page="'+pageID+'"]');if(!canvas){canvas=document.createElement('canvas');canvas.className="PDFCanvas";canvas.setAttribute('data-page',pageID);if(this.pdf.numPages===1){canvas.style.margin="auto";} this.centerHolder.appendChild(canvas);} var context=canvas.getContext('2d');canvas.height=viewport.height;canvas.width=viewport.width;canvas.style.width=this.zoom+"%";var renderContext={canvasContext:context,viewport:viewport};page.render(renderContext);}.bind(this));},setZoom:function(zoom){var oldZoom=this.zoom;this.zoom=Math.round(zoom/10)*10;if(this.zoom>500)this.zoom=500;if(this.zoom<40)this.zoom=40;var scrollX=this.pdfHolder.scrollLeft;var scrollY=this.pdfHolder.scrollTop;var ratio=this.zoom/oldZoom;this.centerHolder.style.width=Math.max(100,this.zoom)+"%";this.centerHolder.style.minHeight="100%";var items=this.pdfHolder.querySelectorAll('.PDFCanvas, img');var isSinglePage=(items.length===1);items.forEach(function(item){item.style.setProperty('width',this.zoom+'%','important');item.style.margin=isSinglePage?"auto":"10px auto";}.bind(this));if(oldZoom!==this.zoom){var centerX=this.isZooming?this.pinchCenterX:(this.pdfHolder.clientWidth/2);var centerY=this.isZooming?this.pinchCenterY:(this.pdfHolder.clientHeight/2);this.pdfHolder.scrollLeft=(scrollX+centerX)*ratio-centerX;this.pdfHolder.scrollTop=(scrollY+centerY)*ratio-centerY;} this.pageZoom.innerHTML=this.zoom+"%";},onZoomInButtonClicked:function(){if(this.zoom<500){var zoom=parseInt(this.zoom)+10;this.setZoom(zoom);}},onZoomOutButtonClicked:function(){if(this.zoom>40){var zoom=parseInt(this.zoom)-10;this.setZoom(zoom);}},updatePageCounterOnScroll:function(){if(!this.pdf){this.pageNumber.style.display="none";return;} this.pageNumber.style.display="block";var canvases=this.centerHolder.querySelectorAll('.PDFCanvas');var holderTop=this.pdfHolder.getBoundingClientRect().top;var currentPage=1;for(var i=0;i10){this.startZoomDistance=zoomDistance;this.startScrollLeft=this.pdfHolder.scrollLeft;this.startScrollTop=this.pdfHolder.scrollTop;if(delta>0)this.onZoomInButtonClicked();else this.onZoomOutButtonClicked();}}},handleTouchEnd:function(evt){this.isZooming=false;},showControls:function(){this.pageNumber.style.display="block";this.zoomInButton.style.display="block";this.zoomOutButton.style.display="block";this.pageZoom.style.display="block";this.controlsVisible=true;},hideControls:function(){this.pageNumber.style.display="none";this.zoomInButton.style.display="none";this.zoomOutButton.style.display="none";this.pageZoom.style.display="none";this.controlsVisible=false;},download:function(){fetch(this.fileURL,{credentials:'include'}).then(response=>{if(!response.ok)throw new Error('Network response was not ok');return response.blob();}).then(blob=>{const link=document.createElement('a');link.href=URL.createObjectURL(blob);link.download=this.filename;document.body.appendChild(link);link.click();document.body.removeChild(link);URL.revokeObjectURL(link.href);}).catch(err=>console.error('Download failed',err));},rename:function(){this.filenameEditor.presentFilenameEditorWithTitle(this.filename,this.fd);},print:function(){if(this.pdfHolder.style.display==="block"){if(this.pdf){this.printAllPDFPages();}else{var img=this.centerHolder.querySelector('img');if(img){var printIframe=document.createElement('iframe');printIframe.style="position:absolute;top:-1000px;left:-1000px;width:0;height:0;border:0;";document.body.appendChild(printIframe);var doc=printIframe.contentWindow.document;doc.open();doc.write(``);doc.close();setTimeout(function(){printIframe.contentWindow.focus();printIframe.contentWindow.print();setTimeout(function(){document.body.removeChild(printIframe);},1000);},1000);}}}else if(this.viewer&&this.viewer.contentWindow){this.viewer.contentWindow.focus();setTimeout(()=>{this.viewer.contentWindow.print();},50);}},delete:function(){Alert.present(s[l].PreviewViewDeleteFileAlert.DeleteTitle,s[l].PreviewViewDeleteFileAlert.DeleteBody,s[l].PreviewViewDeleteFileAlert.Button1Title,s[l].PreviewViewDeleteFileAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteCloudDriveFile(this.fd);}else{}}.bind(this));},dismiss:function(){if(this.delegate!=undefined&&this.delegate!=null&&this.delegate.onDismissDialogView)this.delegate.onDismissDialogView();},onFilenameEditorNameUpdated:function(name,fd){this.renameCloudDriveFile(fd,name);this.filename=name;},printAllPDFPages:function(){this.loadingScreen.style.display="block";var printFrame=document.createElement('iframe');printFrame.style.position='fixed';printFrame.style.right='100%';printFrame.style.bottom='100%';printFrame.style.width='0';printFrame.style.height='0';printFrame.style.border='none';document.body.appendChild(printFrame);var frameDoc=printFrame.contentWindow.document;frameDoc.write(``);frameDoc.close();var pagesProcessed=0;var totalPages=this.pdf.numPages;var renderNextPage=function(pageNumber){this.pdf.getPage(pageNumber).then(function(page){var viewport=page.getViewport({scale:2.0});var canvas=document.createElement('canvas');var context=canvas.getContext('2d');canvas.height=viewport.height;canvas.width=viewport.width;var renderTask=page.render({canvasContext:context,viewport:viewport});renderTask.promise.then(function(){var img=frameDoc.createElement('img');img.src=canvas.toDataURL('image/jpeg',0.95);if(pageNumber=8&&p2.localeCompare(p1)==0){var uid=this.registrationData.uid;var username=this.registrationData.username;var session=this.registrationData.session;var password=this.passwordInputField.value;this.registerUser(username,password,uid,session);this.errorMessageHolder.innerHTML=s[l].RegisterViewDefaultMessageText;this.passwordInputField.value="";this.password2InputField.value="";}else{this.errorMessageHolder.innerHTML=s[l].RegisterViewPasswordInvalidMessageText;this.passwordMissmatchMessageHolder.style.display="none";this.passwordInputField.value="";this.password2InputField.value="";}},validatePassword:function(){var lowerCaseLetters=/[a-z]/g;if(this.passwordInputField.value.match(lowerCaseLetters)){this.lowercaseLetterValidation.classList.remove("invalid");this.lowercaseLetterValidation.classList.add("valid");}else{this.lowercaseLetterValidation.classList.remove("valid");this.lowercaseLetterValidation.classList.add("invalid");} var upperCaseLetters=/[A-Z]/g;if(this.passwordInputField.value.match(upperCaseLetters)){this.uppercaseLetterValidation.classList.remove("invalid");this.uppercaseLetterValidation.classList.add("valid");}else{this.uppercaseLetterValidation.classList.remove("valid");this.uppercaseLetterValidation.classList.add("invalid");} var numbers=/[0-9]/g;if(this.passwordInputField.value.match(numbers)){this.numberValidation.classList.remove("invalid");this.numberValidation.classList.add("valid");}else{this.numberValidation.classList.remove("valid");this.numberValidation.classList.add("invalid");} if(this.passwordInputField.value.length>=8){this.lengthValidation.classList.remove("invalid");this.lengthValidation.classList.add("valid");}else{this.lengthValidation.classList.remove("valid");this.lengthValidation.classList.add("invalid");}},validatePassword2:function(){var p1=this.passwordInputField.value;var p2=this.password2InputField.value;if(p2.localeCompare(p1.substring(0,p2.length))!=0){this.passwordMissmatchMessageHolder.style.display="block";}else{this.passwordMissmatchMessageHolder.style.display="none";}},registerUser:function(username,password,uid,session){var request=new NetworkRequest();var hashedPassword=MD5(password);var params="username="+username+"&uid="+uid+"&session="+session+"&password="+hashedPassword;request.postRequest(Globals.ServicesURL.registerUserURL,params,function(responseData){this.onRegisterUserSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRegisterUserFailed(statusCode,errorMessage)}.bind(this));},onRegisterUserSuccess:function(responseData){var data=JSON.parse(responseData);Application.loadView(LoginView,data);},onRegisterUserFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var ResetpasswordView=JS.subClass(JSAppView,{name:"ResetpasswordView",title:"Reset Password",showDesktopMenu:false,showTitleBarChatButton:false,showTitleBarNotificationsButton:false,showMobileNavigationBarButton:false,requiresActiveSession:false,defaultResetMessage:"",init:function(){this.resetPasswordForm=document.createElement('div');this.resetPasswordForm.className="ResetPasswordForm";this.resetPasswordTitle=document.createElement('div');this.resetPasswordTitle.className="ResetPasswordTitle";this.resetPasswordPanel=document.createElement('div');this.resetPasswordPanel.className="ResetPasswordPanel";this.errorMessageHolder=document.createElement('div');this.errorMessageHolder.className="ErrorMessageHolder";this.resetPasswordPanel.appendChild(this.errorMessageHolder);this.usernameInputField=document.createElement('input');this.usernameInputField.className="UsernameInputFiled";this.usernameInputField.type="text";this.usernameInputField.tabIndex="3";this.resetPasswordPanel.appendChild(this.usernameInputField);this.resetButton=document.createElement('div');this.resetButton.className="ResetButton";this.resetPasswordPanel.appendChild(this.resetButton);this.resetButton.addEventListener('click',function(){this.onResetButtonPressed()}.bind(this));this.resetButton.addEventListener('keydown',function(event){if(event.key==="Enter")this.onResetButtonPressed()}.bind(this));this.resetButton.tabIndex="4";this.loginButton=document.createElement('div');this.loginButton.className="LoginButton";this.loginButton.tabIndex="5";this.resetPasswordPanel.appendChild(this.loginButton);this.loginButton.addEventListener('click',function(){this.onLoginLinkPressed()}.bind(this));this.loginButton.addEventListener('keydown',function(event){if(event.key==="Enter")this.onLoginLinkPressed()}.bind(this));},create:function(domView){this.resetPasswordForm.appendChild(this.resetPasswordTitle);this.resetPasswordForm.appendChild(this.resetPasswordPanel);domView.appendChild(this.resetPasswordForm);this.resetPasswordTitle.innerHTML=s[l].ResetpasswordViewTitleText;this.errorMessageHolder.innerHTML=s[l].ResetpasswordViewDefaultResetMessageText;this.usernameInputField.placeholder=s[l].ResetpasswordViewUsernamePlaceHolderText;this.resetButton.innerHTML=s[l].ResetpasswordViewResetButtonText;this.loginButton.innerHTML=s[l].ResetpasswordViewLoginButtonText;},start:function(data=null){Application.showTitleBarLoginButton();this.usernameInputField.value="";},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},onResetButtonPressed:function(){var username=this.usernameInputField.value;if(username.length>4){this.resetPassword(username);}else{if(username.length<5){this.errorMessageHolder.innerHTML=s[l].ResetpasswordViewInvalidUsernameErrorMessageText;}}},onLoginLinkPressed:function(){Application.loadView(LoginView,null);},resetPassword:function(username){var request=new NetworkRequest();var params="username="+username request.postRequest(Globals.ServicesURL.resetPasswordURL,params,function(responseData){this.onResetPasswordSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onResetPasswordFailed(statusCode,errorMessage)}.bind(this));},onResetPasswordSuccess:function(responseData){this.usernameInputField.value="";this.errorMessageHolder.innerHTML=s[l].ResetpasswordViewDefaultResetMessageText;Application.loadView(LoginView);},onResetPasswordFailed:function(statusCode,errorMessage){this.errorMessageHolder.innerHTML=s[l].ResetpasswordViewInvalidUsernameErrorMessageText;this.usernameInputField.value="";}});var SchedulingView=JS.subClass(JSAppView,{name:"SchedulingView",title:"Daily Report - Scheduling",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].SchedulingViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"edit_calendar_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);},start:function(data=null){},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){}});var ShifteditorView=JS.subClass(JSAppView,{name:"ShifteditorView",title:"Daily Report - Shift editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,restoreData:null,tid:null,pid:null,breakPickers:null,TEXTAREA_MAX_LENGTH:512,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].ShifteditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"timesheet_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);domView.appendChild(this.titleBar);this.innerHolder.appendChild(this.formHolder);domView.appendChild(this.innerHolder);},start:function(data=null){this.resetForm();this.restoreData=(data!=null&&data.restoreData!=undefined?data.restoreData:null);if(data!=null&&data.tid!=undefined&&data.tid!=null){this.getShiftData(data.tid);}else{this.getEmployeePositions();}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},resetForm:function(){this.tid=null;this.pid=null;this.breakPickers=null;this.formHolder.innerHTML="";this.restoreData=null;},buildTitleBarMenu:function(data){this.titleMenuButton.innerHTML="";if(data==null||(data.shift_data!=undefined&&parseInt(data.shift_data.locked)==0&&data.shift_data.uid!=undefined&&data.shift_data.uid==Application.sessionManager.sessionData.uid)){var items=[{title:s[l].ShifteditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"ShifteditorView.new();"},{title:s[l].ShifteditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"ShifteditorView.save();"},{title:s[l].ShifteditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"ShifteditorView.delete();"},{title:s[l].ShifteditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ShifteditorView.dismiss();"}];}else if(data!=null&&data.shift_data!=undefined&&parseInt(data.shift_data.locked)==1&&data.shift_data.uid!=undefined&&data.shift_data.uid==Application.sessionManager.sessionData.uid){var items=[{title:s[l].ShifteditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"ShifteditorView.new();"},{title:s[l].ShifteditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"ShifteditorView.delete();"},{title:s[l].ShifteditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ShifteditorView.dismiss();"}];}else{var items=[{title:s[l].ShifteditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"ShifteditorView.dismiss();"}];} this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0){this.issuesCounter.style.backgroundColor="var(--color-red--)";this.issuesCounter.style.color="var(--primary-text-color-white--)";} var notesTitle=document.createElement('div');notesTitle.className="InputTitle";notesTitle.classList.add("InputTitleBorderBottom");formBodyInnerHolder.appendChild(notesTitle) var titleText=document.createElement('div');titleText.className="InnerTitle";titleText.innerHTML=s[l].ShifteditorViewNotesTitle+":";notesTitle.appendChild(titleText);this.notesCounter=document.createElement('div');this.notesCounter.className="TextAreaCounterHolder";notesTitle.appendChild(this.notesCounter);if(s[l].Direction=="rtl"){this.notesCounter.classList.add("ltr");notesTitle.style.unicodeBidi='unset';} this.notesInput=document.createElement('textarea');this.notesInput.setAttribute('maxlength',this.TEXTAREA_MAX_LENGTH);this.notesInput.value=(shiftData!=null&&shiftData.notes!=undefined&&shiftData.notes!=null?JSON.parse(shiftData.notes):"");if(shiftData!=null&&(shiftData.locked==true||(shiftData.uid!=null&&shiftData.uid!=Application.sessionManager.sessionData.uid)))this.notesInput.disabled=true;formBodyInnerHolder.appendChild(this.notesInput);this.notesInput.addEventListener('input',function(){this.notesCounter.innerHTML=this.TEXTAREA_MAX_LENGTH-this.notesInput.value.length;}.bind(this));if(shiftData!=null&&shiftData.approver_uid!=undefined&&shiftData.approver_uid!=null){var approvedTitle=document.createElement('div');approvedTitle.className="InputTitle";approvedTitle.classList.add("InputTitleBorderBottom");approvedTitle.innerHTML=s[l].ShifteditorViewManagerTitleText+":";formBodyInnerHolder.appendChild(approvedTitle);var approvalInfoHolder=document.createElement('div');approvalInfoHolder.className="ApprovalInfoHolder";if(s[l].Direction=='rtl')approvalInfoHolder.classList.add("Text_rtl");formBodyInnerHolder.appendChild(approvalInfoHolder);var profilePiture=document.createElement('div');profilePiture.className="ProfilePicture";profilePiture.style.backgroundImage="url('"+shiftData.approver_profile_picture+"')";approvalInfoHolder.appendChild(profilePiture);var managerName=document.createElement('div');managerName.className="ManagerName";managerName.innerHTML=shiftData.approver_firstname+" "+shiftData.approver_lastname;approvalInfoHolder.appendChild(managerName);managerName.addEventListener('click',function(){var data={uid:this.uid} Application.loadView(ChatView,data);}.bind({delegate:this,uid:shiftData.approver_uid}));var approvalDateTitle=document.createElement('div');approvalDateTitle.className="InputText";approvalDateTitle.innerHTML=s[l].ShifteditorViewRespondedAtTitleText+": "+(shiftData.approval_date!=undefined?Date.getDateStringFromDate(shiftData.approval_date):"");formBodyInnerHolder.appendChild(approvalDateTitle);if(shiftData.approver_notes!=null&&shiftData.approver_notes.length>0){var approverNotesTitle=document.createElement('div');approverNotesTitle.className="InputText";approverNotesTitle.innerHTML=s[l].ShifteditorViewManagerNotesTitle+":";formBodyInnerHolder.appendChild(approverNotesTitle) this.approverNotesInput=document.createElement('textarea');this.approverNotesInput.setAttribute('maxlength',this.TEXTAREA_MAX_LENGTH);this.approverNotesInput.value=JSON.parse(shiftData.approver_notes);if(shiftData.locked==true||(shiftData.approver_uid!=null&&shiftData.approver_uid!=Application.sessionManager.sessionData.uid))this.approverNotesInput.disabled=true;formBodyInnerHolder.appendChild(this.approverNotesInput);}} if(data.is_manager!=undefined&&parseInt(data.is_manager)==1&&shiftData!=null&&parseInt(shiftData.requires_approval)==1&&shiftData.uid!=Application.sessionManager.sessionData.uid){var buttonsHolder=document.createElement('div');buttonsHolder.className="ApproverButtonsHolder";var approverNotesTitle=document.createElement('div');approverNotesTitle.className="InputTitle";approverNotesTitle.classList.add("InputTitleBorderBottom");formBodyInnerHolder.appendChild(approverNotesTitle) var titleText=document.createElement('div');titleText.className="InnerTitle";titleText.innerHTML=s[l].ShifteditorViewManagerNotesTitle+":";approverNotesTitle.appendChild(titleText);this.approverNotesCounter=document.createElement('div');this.approverNotesCounter.className="TextAreaCounterHolder";approverNotesTitle.appendChild(this.approverNotesCounter);if(s[l].Direction=="rtl"){this.approverNotesCounter.classList.add("ltr");approverNotesTitle.style.unicodeBidi='unset';} this.approverNotesInput=document.createElement('textarea');this.approverNotesInput.setAttribute('maxlength',this.TEXTAREA_MAX_LENGTH);this.approverNotesInput.value=JSON.parse(shiftData.approver_notes);if(shiftData.locked==true||(shiftData.approver_uid!=null&&shiftData.approver_uid!=Application.sessionManager.sessionData.uid))this.approverNotesInput.disabled=true;buttonsHolder.appendChild(this.approverNotesInput);this.approverNotesInput.addEventListener('input',function(){this.approverNotesCounter.innerHTML=this.TEXTAREA_MAX_LENGTH-this.approverNotesInput.value.length;}.bind(this));var approveButton=document.createElement('div');approveButton.className="Button";approveButton.classList.add("ApproveButton");var buttonTitle=document.createElement('div');buttonTitle.className="Title";buttonTitle.innerHTML=s[l].ShifteditorViewApproveButtonTitleText;approveButton.appendChild(buttonTitle);var buttonIcon=document.createElement('div');buttonIcon.className="Icon";buttonIcon.classList.add("ApproveIcon");approveButton.appendChild(buttonIcon);approveButton.addEventListener('click',function(){this.approve();}.bind(this));buttonsHolder.appendChild(approveButton);var rejectButton=document.createElement('div');rejectButton.className="Button";rejectButton.classList.add("RejectButton");var buttonTitle=document.createElement('div');buttonTitle.className="Title";buttonTitle.innerHTML=s[l].ShifteditorViewRejectButtonTitleText;rejectButton.appendChild(buttonTitle);var buttonIcon=document.createElement('div');buttonIcon.className="Icon";buttonIcon.classList.add("RejectIcon");rejectButton.appendChild(buttonIcon);rejectButton.addEventListener('click',function(){this.reject();}.bind(this));buttonsHolder.appendChild(rejectButton);formBodyInnerHolder.appendChild(buttonsHolder);}},buildBreakItem:function(b,shiftData){var breakItem=document.createElement('div');breakItem.className="BreakItem";var breakItemInnerHolder=document.createElement('div');breakItemInnerHolder.className="BreakItemInnerHolder";breakItem.appendChild(breakItemInnerHolder);var breakItemDeleteButton=document.createElement('div');breakItemDeleteButton.className="BreakItemDeleteButton";breakItem.appendChild(breakItemDeleteButton);var startDateAndTimePickersHolder=document.createElement('div');startDateAndTimePickersHolder.className="DateHolder";if(s[l].Direction=="rtl")startDateAndTimePickersHolder.classList.add("rtl");breakItemInnerHolder.appendChild(startDateAndTimePickersHolder);var startTimeTitle=document.createElement('div');startTimeTitle.className="InputTitle";startTimeTitle.innerHTML=s[l].ShifteditorViewStartTimeTitleText+":";startDateAndTimePickersHolder.appendChild(startTimeTitle);var startDate=(b!=null?Date.getAdjustedDatefromTimestamp(b.start_time):null);var startDateHolder=document.createElement("div");startDateHolder.className="DatePickerHolder";var startDatePickerMenu=new DatePickerMenu(startDateHolder,this);if(startDate!=null)startDatePickerMenu.init(startDate.getDate(),startDate.getMonth()+1,startDate.getFullYear());else startDatePickerMenu.init(null,null,null);startDateAndTimePickersHolder.appendChild(startDateHolder);var startTimeHolder=document.createElement('div');startTimeHolder.className="TimePickerHolder";var startTimePickerMenu=new TimePickerMenu(startTimeHolder,this);if(startDate!=null)startTimePickerMenu.init(startDate.getHours(),startDate.getMinutes());else startTimePickerMenu.init(null,null);startDateAndTimePickersHolder.appendChild(startTimeHolder);var endDateAndTimePickersHolder=document.createElement('div');endDateAndTimePickersHolder.className="DateHolder";if(s[l].Direction=="rtl")endDateAndTimePickersHolder.classList.add("rtl");breakItemInnerHolder.appendChild(endDateAndTimePickersHolder);var endTimeTitle=document.createElement('div');endTimeTitle.className="InputTitle";endTimeTitle.innerHTML=s[l].ShifteditorViewEndTimeTitleText+":";endDateAndTimePickersHolder.appendChild(endTimeTitle);var endDate=(b!=null?Date.getAdjustedDatefromTimestamp(b.end_time):null);var endDateHolder=document.createElement("div");endDateHolder.className="DatePickerHolder";var endDatePickerMenu=new DatePickerMenu(endDateHolder,this);if(endDate!=null)endDatePickerMenu.init(endDate.getDate(),endDate.getMonth()+1,endDate.getFullYear());else endDatePickerMenu.init(null,null,null);endDateAndTimePickersHolder.appendChild(endDateHolder);var endTimeHolder=document.createElement('div');endTimeHolder.className="TimePickerHolder";var endTimePickerMenu=new TimePickerMenu(endTimeHolder,this);if(endDate!=null)endTimePickerMenu.init(endDate.getHours(),endDate.getMinutes());else endTimePickerMenu.init(null,null);endDateAndTimePickersHolder.appendChild(endTimeHolder);var breakPicker={startDatePickerMenu:startDatePickerMenu,startTimePickerMenu:startTimePickerMenu,endDatePickerMenu:endDatePickerMenu,endTimePickerMenu:endTimePickerMenu} breakItemDeleteButton.addEventListener('click',function(){this.delegate.onDeleteBreakItemPressed(this.breakItem,this.breakPicker);}.bind({delegate:this,breakItem:breakItem,breakPicker:breakPicker}));if(shiftData!=null&&(shiftData.uid!=Application.sessionManager.sessionData.uid||parseInt(shiftData.locked)==1)){endDateAndTimePickersHolder.style.pointerEvents="none";startDateAndTimePickersHolder.style.pointerEvents="none";breakItemDeleteButton.style.opacity="0.0";breakItemDeleteButton.style.pointerEvents="none";} return{breakItem:breakItem,breakPicker:breakPicker};},onAddBreakButtonPressed:function(shiftData){if(this.breakPickers.length==0)this.breaksHolder.innerHTML="";var bItem=this.buildBreakItem(null,null);var breakItem=bItem.breakItem;var breakPicker=bItem.breakPicker;this.breaksHolder.appendChild(breakItem);this.breakPickers.push(breakPicker);},onDeleteBreakItemPressed:function(breakItem,breakPicker){Alert.present(s[l].ShifteditorViewDeleteBreakAlert.Title,s[l].ShifteditorViewDeleteBreakAlert.Description,s[l].ShifteditorViewDeleteBreakAlert.Button1Title,s[l].ShifteditorViewDeleteBreakAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:this.breakPickers=this.breakPickers.filter(item=>item!=breakPicker);this.breaksHolder.removeChild(breakItem);if(this.breakPickers.length==0){var noBreaksAvailableItem=document.createElement('div');noBreaksAvailableItem.className="NoTableItemsAvaiableItem";noBreaksAvailableItem.innerHTML=s[l].ShifteditorViewNoBreakItemsFoundText;this.breaksHolder.appendChild(noBreaksAvailableItem);} break;case 2:break;}}.bind(this));},presentFormNotFoundMessage:function(){var formNotFoundHolder=document.createElement('div');formNotFoundHolder.className="FormNotFoundHolder";var formNotFoundIcon=document.createElement('div');formNotFoundIcon.className="FormNotFoundIcon";formNotFoundHolder.appendChild(formNotFoundIcon);var formNotFoundTitle=document.createElement('div');formNotFoundTitle.className="FormNotFoundTitle";formNotFoundTitle.innerHTML=s[l].AbsencerequestViewFormNotFoundTitleText;formNotFoundHolder.appendChild(formNotFoundTitle);var formNotFoundText=document.createElement('div');formNotFoundText.className="FormNotFoundText";formNotFoundText.innerHTML=s[l].AbsencerequestViewFormNotFoundInfoText;formNotFoundHolder.appendChild(formNotFoundText);this.formHolder.innerHTML="";this.formHolder.appendChild(formNotFoundHolder);},togglePositionsMenu:function(){if(this.employeePositionsMenu.style.display=='block'){this.hidePositionsMenu();}else{this.showPositionsMenu();}},showPositionsMenu:function(){this.employeePositionsMenu.style.display="block";},hidePositionsMenu:function(){this.employeePositionsMenu.style.display="none";},approve:function(){var notes=null;if(this.approverNotesInput.value.length0?JSON.stringify(this.approverNotesInput.value):null);}else{Alert.present(s[l].ShifteditorViewFormIncompleteAlert.Title,s[l].ShifteditorViewFormIncompleteAlert.InfoTextInvalidNotesLength,s[l].ShifteditorViewFormIncompleteAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;} this.approveShift(this.tid,notes);},reject:function(){var notes=null;if(this.approverNotesInput.value.length0?JSON.stringify(this.approverNotesInput.value):null);}else{Alert.present(s[l].ShifteditorViewFormIncompleteAlert.Title,s[l].ShifteditorViewFormIncompleteAlert.InfoTextInvalidNotesLength,s[l].ShifteditorViewFormIncompleteAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;} this.rejectShift(this.tid,notes);},new:function(){setTimeout(function(){this.resetForm();this.getEmployeePositions();}.bind(this),100);},save:function(){var tid=this.tid;var pid=this.pid;var shiftStartDate=this.startDatePickerMenu.getDate();if(shiftStartDate!=null&&this.startTimePickerMenu.getTime()!=null){shiftStartDate.setHours(this.startTimePickerMenu.getHours());shiftStartDate.setMinutes(this.startTimePickerMenu.getMinutes());var startTime=Date.getServerAdjustedTimestampFromDate(shiftStartDate);}else{Alert.present(s[l].ShifteditorViewFormIncompleteAlert.Title,s[l].ShifteditorViewFormIncompleteAlert.InfoTextInvalidStartTime,s[l].ShifteditorViewFormIncompleteAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;} var shiftEndtDate=this.endDatePickerMenu.getDate();if(shiftEndtDate!=null&&this.endTimePickerMenu.getTime()!=null){shiftEndtDate.setHours(this.endTimePickerMenu.getHours());shiftEndtDate.setMinutes(this.endTimePickerMenu.getMinutes());var endTime=Date.getServerAdjustedTimestampFromDate(shiftEndtDate);}else{Alert.present(s[l].ShifteditorViewFormIncompleteAlert.Title,s[l].ShifteditorViewFormIncompleteAlert.InfoTextInvalidEndTime,s[l].ShifteditorViewFormIncompleteAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;} var breaks=(this.breakPickers.length>0?[]:null);for(var i=0;i0?JSON.stringify(this.notesInput.value):null);}else{Alert.present(s[l].ShifteditorViewFormIncompleteAlert.Title,s[l].ShifteditorViewFormIncompleteAlert.InfoTextInvalidNotesLength,s[l].ShifteditorViewFormIncompleteAlert.Button1Title,null,function(buttonPressed){}.bind(this));return;} if(this.tid!=null){this.saveShift(tid,startTime,endTime,pid,breaks,notes);}else{this.createShift(startTime,endTime,pid,breaks,notes);}},delete:function(){Alert.present(s[l].ShifteditorViewDeleteShiftAlert.Title,s[l].ShifteditorViewDeleteShiftAlert.Description,s[l].ShifteditorViewDeleteShiftAlert.Button1Title,s[l].ShifteditorViewDeleteShiftAlert.Button2Title,function(buttonPressed){switch(buttonPressed){case 1:this.deleteShift(this.tid);break;case 2:break}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onDatePickerMenuPresented:function(picker){this.startTimePickerMenu.hideMenu();this.endTimePickerMenu.hideMenu();if(picker==this.startDatePickerMenu)this.endDatePickerMenu.hideMenu();else this.startDatePickerMenu.hideMenu();},onDatePickerMenuDismissed:function(picker){},onTimePickerMenuPresented:function(picker){this.startDatePickerMenu.hideMenu();this.endDatePickerMenu.hideMenu();if(picker==this.startTimePickerMenu)this.endTimePickerMenu.hideMenu();else this.startTimePickerMenu.hideMenu();},onTimePickerMenuDismissed:function(picker){},saveShift:function(tid,startTime,endTime,pid,breaks=null,notes=null){var request=new NetworkRequest();var params="tid="+tid+"&start_time="+startTime+"&end_time="+endTime+"&pid="+pid+(breaks!=null?"&breaks="+breaks:"")+(notes!=null?"¬es="+notes:"");request.postRequest(Globals.ServicesURL.saveShiftDataURL,params,function(responseData){this.onSaveShiftSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveShiftFaild(statusCode,errorMessage)}.bind(this));},createShift:function(startTime,endTime,pid,breaks=null,notes=null){var request=new NetworkRequest();var params="start_time="+startTime+"&end_time="+endTime+"&pid="+pid+(breaks!=null?"&breaks="+breaks:"")+(notes!=null?"¬es="+notes:"");request.postRequest(Globals.ServicesURL.createShiftURL,params,function(responseData){this.onCreateShiftSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateShiftFaild(statusCode,errorMessage)}.bind(this));},getEmployeePositions:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getEmployeePositionsURL,params,function(responseData){this.onGetEmployeePositionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetEmployeePositionsFailed(statusCode,errorMessage)}.bind(this));},getShiftData:function(tid){var request=new NetworkRequest();var params="tid="+tid;request.postRequest(Globals.ServicesURL.getShiftDataURL,params,function(responseData){this.onGetShiftDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetShiftDataFaild(statusCode,errorMessage)}.bind(this));},approveShift:function(tid,notes=null){var request=new NetworkRequest();var params="tid="+tid+(notes!=null?"¬es="+notes:"");request.postRequest(Globals.ServicesURL.approveShiftURL,params,function(responseData){this.onApproveShiftSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onApproveShiftFaild(statusCode,errorMessage)}.bind(this));},rejectShift:function(tid,notes=null){var request=new NetworkRequest();var params="tid="+tid+(notes!=null?"¬es="+notes:"");request.postRequest(Globals.ServicesURL.rejectShiftURL,params,function(responseData){this.onRejectShiftSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onRejectShiftFaild(statusCode,errorMessage)}.bind(this));},deleteShift:function(tid){var request=new NetworkRequest();var params="tid="+tid;request.postRequest(Globals.ServicesURL.deleteShiftURL,params,function(responseData){this.onDeleteShiftSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteShiftFaild(statusCode,errorMessage)}.bind(this));},onSaveShiftSuccess:function(responseData){this.dismiss();},onSaveShiftFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateShiftSuccess:function(responseData){this.dismiss();},onCreateShiftFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetEmployeePositionsSuccess:function(responseData){var data={};data.employee_positions=JSON.parse(responseData);this.titleMenuButton.appendChild(this.buildTitleBarMenu(null));this.buildForm(data);},onGetEmployeePositionsFaild:function(statusCode,errorMessage){},onGetShiftDataSuccess:function(responseData){var data=JSON.parse(responseData);this.titleMenuButton.appendChild(this.buildTitleBarMenu(data));this.buildForm(data);},onGetShiftDataFaild:function(statusCode,errorMessage){this.titleMenuButton.appendChild(this.buildTitleBarMenu({error:404}));switch(parseInt(statusCode)){case 404:this.presentFormNotFoundMessage();break;default:var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}},onApproveShiftSuccess:function(responseData){this.dismiss();},onApproveShiftFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onRejectShiftSuccess:function(responseData){this.dismiss();},onRejectShiftFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteShiftSuccess:function(responseData){this.dismiss();},onDeleteShiftFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var TaskView=JS.subClass(JSAppView,{name:"TaskView",title:"Daily Report - Task",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,taskid:null,task:null,taskStatuses:null,allMenus:new Array(),TaskStatus:{OPEN:1,PROGRESS:2,HOLD:3,CANCELED:4,DONE:5,CLOSED:6},init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].TaskViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"task_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);},start:function(data=null){if(data==null)data={taskid:1};if(data!=null&&data.taskid!=undefined)this.getTask(data.taskid);},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].TaskViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"TaskView.save();"},{title:s[l].TaskViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"TaskView.delete();"},{title:s[l].TaskViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"TaskView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i"+s[l].TaskViewToolbarCreationTimeTitle+": "+timeString;toolbar.appendChild(taskCreationTime);timestamp=this.task.start_time;timeString=Date.getDayStringFromDate(timestamp);var taskStartTime=document.createElement('div');taskStartTime.className="TaskStartTime";taskStartTime.innerHTML=""+s[l].TaskViewToolbarStartedTimeTitle+": "+timeString;toolbar.appendChild(taskStartTime);timestamp=this.task.due_time;timeString=Date.getDayStringFromDate(timestamp);var taskDueTime=document.createElement('div');taskDueTime.className="TaskDueTime";taskDueTime.innerHTML=""+s[l].TaskViewToolbarDueTimeTitle+": "+timeString;toolbar.appendChild(taskDueTime);var spacer=document.createElement('div');spacer.className="ToolbarSpacer";toolbar.appendChild(spacer);this.markToolbarWithStatusColor(this.task,this.task.status);var statusButton=document.createElement('div');statusButton.className="TaskStatusButton";var statusTitle=document.createElement('div');statusTitle.className="TaskStatusTitle";statusTitle.innerHTML=(s[l].TasksViewTaskStatusList[(this.taskStatuses[this.task.status].title).replace(" ","_")]!=undefined?s[l].TasksViewTaskStatusList[(this.taskStatuses[this.task.status].title).replace(" ","_")]:this.taskStatuses[this.task.status].title);statusTitle.style.color=this.taskStatuses[this.task.status].text_color;statusTitle.style.backgroundColor=this.taskStatuses[this.task.status].color;statusButton.appendChild(statusTitle);var menu=this.buildStatusMenu(this.taskStatuses,statusTitle);statusButton.appendChild(menu);toolbar.appendChild(statusButton) statusButton.addEventListener('click',function(e){if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.menu.style.display="block";}}.bind({menu:menu}));taskHolder.appendChild(toolbar);var taskInfoHolder=document.createElement('div');taskInfoHolder.className="TaskInfoHolder";var taskTitleHolderFloatingTitle=document.createElement('div');taskTitleHolderFloatingTitle.className="TaskTitleHolderFloatingTitle";taskInfoHolder.appendChild(taskTitleHolderFloatingTitle);var taskTitleHolderTitle=document.createElement('div');taskTitleHolderTitle.className="TaskTitleHolderTitle";taskTitleHolderTitle.innerHTML=s[l].TaskViewTaskInfoTitleText;taskTitleHolderFloatingTitle.appendChild(taskTitleHolderTitle);var taskTitle=document.createElement('div');taskTitle.className="TaskTitle";taskTitle.innerHTML=this.task.title;taskInfoHolder.appendChild(taskTitle);var taskDescriptionHolderTitle=document.createElement('div');taskDescriptionHolderTitle.className="TaskDescriptionHolderTitle";taskDescriptionHolderTitle.innerHTML=s[l].TaskViewTaskInfoDescriptionTitleText;taskInfoHolder.appendChild(taskDescriptionHolderTitle);var taskDescription=document.createElement('div');taskDescription.className="TaskDescription";taskDescription.innerHTML=this.task.description;taskInfoHolder.appendChild(taskDescription);var taskAsigneeHolderTitle=document.createElement('div');taskAsigneeHolderTitle.className="TaskAssigneeHolderTitle";taskAsigneeHolderTitle.innerHTML=s[l].TaskViewTaskInfoAsigneeTitleText;taskInfoHolder.appendChild(taskAsigneeHolderTitle);var taskAssigneeList=document.createElement('div');taskAssigneeList.className="TaskAssigneeList";var assignedToList=this.task.assigned_to_users;for(var i=0;i0?(imageURL.substring(0,imageURL.indexOf("_white.svg"))):imageURL;imageURL=imageURL.indexOf("_black.svg")>0?(imageURL.substring(0,imageURL.indexOf("_black.svg"))):imageURL;icon.style.backgroundImage=index==i?imageURL+"_white.svg\")":imageURL+"_black.svg\")";} eval(itemData.action);},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";searchBarHolder.appendChild(this.buildGroupByControl());this.filterControlsHolder=document.createElement('div');this.filterControlsHolder.id="TasksViewSearchBarFilterControlsHolder";this.filterControlsHolder.className="FilterControlsHolder";searchBarHolder.appendChild(this.filterControlsHolder);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";this.filterControlsHolder.id="TasksViewSearchBarInfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.totalTasksTitle=document.createElement('div');this.totalTasksTitle.className="InfoText";this.searchBarInfoHolder.appendChild(this.totalTasksTitle);this.totalTasksTitle.innerHTML="";var space=document.createElement("div");space.className="Space";searchBarHolder.appendChild(space);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].TasksViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){var searchValue=this.searchFieldInput.value;if(this.currentTaskList==this.TaskListTypes.MY_LIST){this.getUserTasks(searchValue);}else if(this.currentTaskList==this.TaskListTypes.CREATED_BY_ME){this.getUserCreatedTasks(searchValue);}}else if(this.searchFieldInput.value.length==0){if(this.currentTaskList==this.TaskListTypes.MY_LIST){this.getUserTasks();}else if(this.currentTaskList==this.TaskListTypes.CREATED_BY_ME){this.getUserCreatedTasks();}} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";if(this.currentTaskList==this.TaskListTypes.MY_LIST){this.getUserTasks();}else if(this.currentTaskList==this.TaskListTypes.CREATED_BY_ME){this.getUserCreatedTasks();}}.bind(this));this.searchbar.appendChild(searchBarHolder);},searchButtonPressed:function(){var searchValue=this.searchFieldInput.value;if(this.currentTaskList==this.TaskListTypes.MY_LIST){this.getUserTasks(searchValue);}else if(this.currentTaskList==this.TaskListTypes.CREATED_BY_ME){this.getUserCreatedTasks(searchValue);}},buildGroupByControl:function(){var groupByControlsHolder=document.createElement('div');groupByControlsHolder.className="GroupByControlsHolder";var groupByControlsTitle=document.createElement('div');groupByControlsTitle.className="Title";groupByControlsTitle.innerHTML=s[l].TasksViewSearchBarGroupByTitleText+":";groupByControlsHolder.appendChild(groupByControlsTitle);var groupByControlsButton=document.createElement('div');groupByControlsButton.className="Button";groupByControlsHolder.appendChild(groupByControlsButton);var groupByControlsButtonTitle=document.createElement('div');groupByControlsButtonTitle.className="ButtonTitle";groupByControlsButtonTitle.innerHTML=(this.groupBy==this.GroupBy.TASK_GROUPS?s[l].TasksViewSearchBarGroupByOptions.Priority:s[l].TasksViewSearchBarGroupByOptions.Tags);groupByControlsButton.appendChild(groupByControlsButtonTitle);var groupByControlsMenu=document.createElement('div');this.groupByControlsMenu=groupByControlsMenu;groupByControlsMenu.className="Menu";groupByControlsButton.appendChild(groupByControlsMenu);groupByControlsButton.addEventListener('click',function(){this.delegate.filterControlsMenu.style.display="none";this.delegate.hideAllTableItemMenues();this.delegate.hideTitleBarMenu();if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.menu.style.display="block";}}.bind({delegate:this,menu:groupByControlsMenu}));var groupByControlsMenuItem=document.createElement('div');groupByControlsMenuItem.className="MenuItem";groupByControlsMenuItem.innerHTML=s[l].TasksViewSearchBarGroupByOptions.Priority;groupByControlsMenu.appendChild(groupByControlsMenuItem);groupByControlsMenuItem.addEventListener('click',function(){this.delegate.groupByButtonSelected(this.delegate.GroupBy.TASK_GROUPS);this.buttonTitle.innerHTML=s[l].TasksViewSearchBarGroupByOptions.Priority;}.bind({delegate:this,buttonTitle:groupByControlsButtonTitle}));groupByControlsMenuItem=document.createElement('div');groupByControlsMenuItem.className="MenuItem";groupByControlsMenuItem.innerHTML=s[l].TasksViewSearchBarGroupByOptions.Tags;groupByControlsMenu.appendChild(groupByControlsMenuItem);groupByControlsMenuItem.addEventListener('click',function(){this.delegate.groupByButtonSelected(this.delegate.GroupBy.TASK_TAGS);this.buttonTitle.innerHTML=s[l].TasksViewSearchBarGroupByOptions.Tags;}.bind({delegate:this,buttonTitle:groupByControlsButtonTitle}));return groupByControlsHolder;},buildFilterControl:function(taskStatuses){this.filterControlsHolder.innerHTML="";var statuses=taskStatuses.slice();statuses.unshift({tsid:'0',title:"All",color:'$FFFFFF',text_color:'#000000',backbround_color:'#FFFFFF'});var filterControlsHolder=this.filterControlsHolder;if(statuses!=null){var filterControlsTitle=document.createElement('div');filterControlsTitle.className="Title";filterControlsTitle.innerHTML=s[l].TasksViewSearchBarFilterTitleText+":";filterControlsHolder.appendChild(filterControlsTitle);var filterControlsButton=document.createElement('div');filterControlsButton.className="Button";filterControlsHolder.appendChild(filterControlsButton);var filterControlsButtonTitle=document.createElement('div');filterControlsButtonTitle.className="ButtonTitle";filterControlsButtonTitle.innerHTML=s[l].TasksViewTaskStatusList[(statuses[this.filterBy].title).replace(" ","_")];filterControlsButton.appendChild(filterControlsButtonTitle);var filterControlsMenu=document.createElement('div');this.filterControlsMenu=filterControlsMenu;filterControlsMenu.className="Menu";filterControlsButton.appendChild(filterControlsMenu);filterControlsButton.addEventListener('click',function(){this.delegate.groupByControlsMenu.style.display="none";this.delegate.hideAllTableItemMenues();this.delegate.hideTitleBarMenu();if(this.menu.style.display=="block"){this.menu.style.display="none";}else{this.menu.style.display="block";}}.bind({delegate:this,menu:filterControlsMenu}));for(var i=0;i0){j=3;var assigneePicture=document.createElement('div');assigneePicture.className="AssigneeProfilePicture";if(s[l].Direction=="rtl"){assigneePicture.style.right=(j*25)+"px";}else{assigneePicture.style.left=(j*25)+"px";} assigneePicture.innerHTML="+"+additionalMembers;assigneesHolder.appendChild(assigneePicture);} taskItem.addEventListener('click',function(){this.delegate.presentViewInDialog(TaskView,{taskid:this.task.taskid});}.bind({delegate:this,task:task}));if(s[l].Direction=="rtl"){title.classList.add('TableItem_rtl');taskStartTime.classList.add('TableItem_rtl');taskDueTime.classList.add('TableItem_rtl');} if(Date.checkIfOverdue(timestamp)<0&&(task.status!=this.TaskStatus.DONE&&task.status!=this.TaskStatus.CLOSED&&task.status!=this.TaskStatus.CANCELED)){taskItem.classList.add('TaskItemOverdue');}else{if(document.getElementById("TasksViewTaskItem_"+task.status)==null){var cssStyle=document.createElement('style');cssStyle.id="TasksViewTaskItem_"+task.status;cssStyle.innerHTML=".TasksViewTaskItem_"+task.status+" { background-color: "+this.taskStatuses[task.status].background_color+"; }";document.getElementsByTagName('head')[0].appendChild(cssStyle);} taskItem.classList.add("TasksViewTaskItem_"+task.status);} if(this.filterBy==0||this.filterBy==task.status){var tgid=(this.groupBy==this.GroupBy.TASK_GROUPS?task.task_group:task.tag_group);var table=this.taskTables[tgid];visibleTasks+=1;table.appendChild(taskItem);table.style.display="block";}}} if(data.task_statuses!=undefined)this.buildFilterControl(data.task_statuses);this.totalTasksTitle.innerHTML=s[l].TasksViewSearchBarInfoTextPart1+" "+visibleTasks+" "+s[l].TasksViewSearchBarInfoTextPart2+" "+totalTasks+" "+s[l].TasksViewSearchBarInfoTextPart3;},buildStatusMenu:function(statuses,task,title){var statusMenu=document.createElement('div');statusMenu.className="Menu";for(var i=1;i0?(imageURL.substring(0,imageURL.indexOf("_white.svg"))):imageURL;imageURL=imageURL.indexOf("_black.svg")>0?(imageURL.substring(0,imageURL.indexOf("_black.svg"))):imageURL;icon.style.backgroundImage=index==i?imageURL+"_white.svg\")":imageURL+"_black.svg\")";} eval(itemData.action);},loadTodaysTimesheet:function(data){this.titleBarDynamicText.innerHTML=" - "+s[l].TimeTrackingViewTabBarMenuItemTitleText["Today"];if(this.activeSheet!=null)this.activeSheet.stop();this.container.innerHTML="";this.todayssheet=new Todayssheet(this);this.container.appendChild(this.todayssheet.init());this.todayssheet.create();this.todayssheet.start(data);this.activeSheet=this.todayssheet;this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());},loadTimesheets:function(data){this.titleBarDynamicText.innerHTML=" - "+s[l].TimeTrackingViewTabBarMenuItemTitleText["Timesheets"];if(this.activeSheet!=null)this.activeSheet.stop();this.container.innerHTML="";this.timesheet=new Timesheet(this);this.container.appendChild(this.timesheet.init());this.timesheet.create();this.timesheet.start(data);this.activeSheet=this.timesheet;this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());},loadMyReport:function(data){this.titleBarDynamicText.innerHTML=" - "+s[l].TimeTrackingViewTabBarMenuItemTitleText["MyReport"];if(this.activeSheet!=null)this.activeSheet.stop();this.container.innerHTML="";this.employeesheet=new Employeesheet(this);this.container.appendChild(this.employeesheet.init());this.employeesheet.create();this.employeesheet.start();this.activeSheet=this.employeesheet;this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());},loadAbsenceRequests:function(data){this.titleBarDynamicText.innerHTML=" - "+s[l].TimeTrackingViewTabBarMenuItemTitleText["AbsenceRequests"];if(this.activeSheet!=null)this.activeSheet.stop();this.container.innerHTML="";this.absenceRequests=new Absencerequests(this);this.container.appendChild(this.absenceRequests.init());this.absenceRequests.create();this.absenceRequests.start();this.activeSheet=this.absenceRequests;this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());},getTabBarMenuItems:function(){var request=new NetworkRequest();var params=null request.postRequest(Globals.ServicesURL.getTimertrackingViewTabMenuItemsURL,params,function(responseData){this.onGetTabMenuItemsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTabMenuItemsFailed(statusCode,errorMessage)}.bind(this));},showPopupTitleBarMenu:function(){this.popupTitleBarMenu.style.display="block";},hidePopupTitleBarMenu:function(){this.popupTitleBarMenu.style.display="none";},togglePopupTitleBarMenu:function(){if(this.popupTitleBarMenu.style.display!="block")this.showPopupTitleBarMenu();else this.hidePopupTitleBarMenu();},presentViewInDialog:function(view,data){if(this.currentSheetInDialog!=null||this.currentDialogView!=null)this.onDismissDialogView();setTimeout(function(){this.hideTitleBarMenu();}.bind(this),100);this.currentDialogView=view;this.currentDialogViewData=data;this.popupContainerViewHolder.innerHTML="";view._init(this);var viewHolder=view.load();view.start(data);this.popupContainerViewHolder.appendChild(viewHolder);this.popupContainer.style.display="block";this.popupContainerTitleBar.style.display="none";this.popupContainerViewHolder.classList.add("TimetrackingViewPopUpContainerViewHolder_WithoutTitleBar");this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);},restoreEmployeeSheetInDialog:function(data){this.presentEmployeeSheetInDialog(data.data,data.uid,data.start,data.end);},presentEmployeeSheetInDialog:function(data=null,uid,start,end){this.popupContainerTitleBarProfileName.innerHTML=data.name;this.popupContainerTitleBarProfilePicture.style.backgroundImage="url('"+data.profile_picture+"')";if(this.currentSheetInDialog!=null||this.currentDialogView!=null)this.onDismissDialogView();this.currentDialogView=null;this.hideTitleBarMenu();this.popupContainerViewHolder.innerHTML="";this.employeesheet=new Employeesheet(this);this.currentSheetInDialog=this.employeesheet;this.popupContainerViewHolder.appendChild(this.employeesheet.init(true));this.employeesheet.create(data,uid,start,end);this.employeesheet.start();this.popupContainer.style.display="block";this.popupContainerTitleBar.style.display="block";this.popupContainerViewHolder.classList.remove("TimetrackingViewPopUpContainerViewHolder_WithoutTitleBar");this.popupContainerInnerHolder.style.transition="0s";this.popupContainerInnerHolder.style.top="2000px";this.popupContainerInnerHolder.style.transition="0.5s";setTimeout(function(){this.popupContainerInnerHolder.style.top="0px";}.bind(this),100);},onDismissDialogView:function(){var restoreData=null;if(this.currentDialogView!=null&&this.currentDialogView.restoreData!=undefined&&this.currentDialogView.restoreData!=null){restoreData=this.currentDialogView.restoreData;this.currentDialogView.restoreData=null;} if(this.currentSheetInDialog!=null)this.currentSheetInDialog.stop();this.currentSheetInDialog=null;if(this.currentDialogView!=null)this.currentDialogView.stop();this.currentDialogViewData=null;this.currentDialogView=null;this.popupContainer.style.display="none";this.popupContainerViewHolder.innerHTML="";this.popupContainerInnerHolder.style.top="2000px";if(restoreData!=null)this.restoreEmployeeSheetInDialog(restoreData);else if(this.activeSheet!=null&&this.activeSheet.reloadData!=undefined)this.activeSheet.reloadData();},print:function(data=null){if(this.currentSheetInDialog!=null&&this.currentSheetInDialog.print!=undefined)this.currentSheetInDialog.print();},export:function(data=null){if(this.currentSheetInDialog!=null&&this.currentSheetInDialog.export!=undefined)this.currentSheetInDialog.export();},titleBarMenuCreateAbsenceRequestPressed:function(data=null){this.loadAbsenceRequests(data);this.presentViewInDialog(AbsencerequestView,data);this.selectTabBarItem("Absencerequests");},selectTabBarItem(sheetName){for(var i=0;i4){this.updatePassword(username);}else{if(username.length<5){this.errorMessageHolder.innerHTML=s[l].UpdatepasswordViewInvalidUsernameErrorMessageText;}}},onLoginLinkPressed:function(){Application.loadView(LoginView,null);},updatePassword:function(username){var request=new NetworkRequest();var params="username="+username request.postRequest(Globals.ServicesURL.updatePasswordURL,params,function(responseData){this.onUpdatePasswordSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdatePasswordFailed(statusCode,errorMessage)}.bind(this));},onUpdatePasswordSuccess:function(responseData){this.passwordInputField.value="";this.password2InputField.value="";this.errorMessageHolder.innerHTML=s[l].UpdatepasswordViewDefaultResetMessageText;Application.loadView(LoginView);},onUpdatePasswordFailed:function(statusCode,errorMessage){this.errorMessageHolder.innerHTML=s[l].UpdatepasswordViewInvalidUsernameErrorMessageText;this.passwordInputField.value="";this.password2InputField.value="";}});var CookiemanagementView=JS.subClass(JSAppView,{name:"CookiemanagementView",title:"Cookie Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.innerHolder=document.createElement("div");this.innerHolder.id="InnerHolder";this.cookieGroupsTableTitle=document.createElement('div');this.cookieGroupsTableTitle.className="TableTitle";this.cookieGroupsTable=document.createElement('div');this.cookieGroupsTable.id="CookieGroupsTable";this.cookieGroupsTable.className="Table";this.cookieIndexesTableTitle=document.createElement('div');this.cookieIndexesTableTitle.className="TableTitle";this.cookieIndexesTable=document.createElement('div');this.cookieIndexesTable.id="CookieIndexTable";this.cookieIndexesTable.className="Table";this.cookieTableTitle=document.createElement('div');this.cookieTableTitle.className="TableTitle";this.cookieTable=document.createElement('div');this.cookieTable.id="ActiveCookieTable";this.cookieTable.className="Table";this.unclassifiedCookieTableTitle=document.createElement('div');this.unclassifiedCookieTableTitle.className="TableTitle";this.unclassifiedCookieTable=document.createElement('div');this.unclassifiedCookieTable.id="UnclassifiedCookieTable";this.unclassifiedCookieTable.className="Table";},create:function(domView){this.titleBarText.innerHTML=s[l].CookiemanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"database_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.innerHolder.appendChild(this.cookieGroupsTableTitle);this.innerHolder.appendChild(this.cookieGroupsTable);this.innerHolder.appendChild(this.cookieIndexesTableTitle);this.innerHolder.appendChild(this.cookieIndexesTable);this.innerHolder.appendChild(this.cookieTableTitle);this.innerHolder.appendChild(this.cookieTable);this.innerHolder.appendChild(this.unclassifiedCookieTableTitle);this.innerHolder.appendChild(this.unclassifiedCookieTable);},start:function(data=null){this.cookieGroupsTableTitle.innerHTML="Cookie classification list";this.cookieIndexesTableTitle.innerHTML="Classified cookie discriptions";this.cookieTableTitle.innerHTML="Classified cookies";this.unclassifiedCookieTableTitle.innerHTML="Unclassified cookies";this.getSiteCookies();},stop:function(){},getSiteCookies:function(){var request=new NetworkRequest();request.getRequest(Globals.ServicesURL.getSiteCookiesURL,function(responseData){this.onGetSiteCookiesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetSiteCookiesFailed(statusCode,errorMessage)}.bind(this));},buildCookieGroupsTable:function(groups){this.cookieGroupsTable.innerHTML="";var header=document.createElement("div");header.className="TableHeader";var headerItems=["ID","Category","Description"];for(var i in headerItems){var itemTitle=headerItems[i];var headerItem=document.createElement("div");headerItem.className="HeaderItem";headerItem.innerHTML=itemTitle;header.appendChild(headerItem);} this.cookieGroupsTable.appendChild(header);var content=document.createElement("div");content.className="TableContent";for(var i in groups){var group=groups[i];var itemKeys=["gid","name","description"];var domItem=document.createElement("div");domItem.className="TableRow";for(var k in itemKeys){var domValue=document.createElement("div");domValue.className="RowItem";domValue.innerHTML=group[itemKeys[k]];domItem.appendChild(domValue);} var itemOverlay=document.createElement("div");itemOverlay.className="ItemOverlay";var editButton=document.createElement("div");editButton.className="EditButton";itemOverlay.appendChild(editButton);var deleteButton=document.createElement("div");deleteButton.className="DeleteButton";itemOverlay.appendChild(deleteButton);domItem.appendChild(itemOverlay);content.appendChild(domItem);} this.cookieGroupsTable.appendChild(content);},buildCookieIndexTable:function(indexes){this.cookieIndexesTable.innerHTML="";var header=document.createElement("div");header.className="TableHeader";var headerItems=["GID","Name","Description"];for(var i in headerItems){var itemTitle=headerItems[i];var headerItem=document.createElement("div");headerItem.className="HeaderItem";headerItem.innerHTML=itemTitle;header.appendChild(headerItem);} this.cookieIndexesTable.appendChild(header);var content=document.createElement("div");content.className="TableContent";for(var i in indexes){var index=indexes[i];var itemKeys=["gid","name","description"];var domItem=document.createElement("div");domItem.className="TableRow";for(var k in itemKeys){var domValue=document.createElement("div");domValue.className="RowItem";domValue.innerHTML=index[itemKeys[k]];domItem.appendChild(domValue);} var itemOverlay=document.createElement("div");itemOverlay.className="ItemOverlay";var editButton=document.createElement("div");editButton.className="EditButton";itemOverlay.appendChild(editButton);var deleteButton=document.createElement("div");deleteButton.className="DeleteButton";itemOverlay.appendChild(deleteButton);domItem.appendChild(itemOverlay);content.appendChild(domItem);} this.cookieIndexesTable.appendChild(content);},builClassifiedCookieListTable:function(cookies,indexes){this.cookieTable.innerHTML="";var header=document.createElement("div");header.className="TableHeader";var headerItems=["","Name","Value"];for(var i in headerItems){var itemTitle=headerItems[i];var headerItem=document.createElement("div");headerItem.className="HeaderItem";headerItem.innerHTML=itemTitle;if(i==0)headerItem.style.width="0";header.appendChild(headerItem);} this.cookieTable.appendChild(header);var content=document.createElement("div");content.className="TableContent";for(var cookieTitle in cookies){var found=false;for(var i in indexes){var indexName=indexes[i].name;if(cookieTitle==indexName)found=true;} if(found==true){var domItem=document.createElement("div");domItem.className="TableRow";var emptySlot=document.createElement("div");emptySlot.className="RowItem";emptySlot.innerHTML="";emptySlot.style.width="0";domItem.appendChild(emptySlot);var titleItem=document.createElement("div");titleItem.className="RowItem";titleItem.innerHTML=cookieTitle domItem.appendChild(titleItem);var valueItem=document.createElement("div");valueItem.className="RowItem";valueItem.innerHTML=cookies[cookieTitle];domItem.appendChild(valueItem);var itemOverlay=document.createElement("div");itemOverlay.className="ItemOverlay";var editButton=document.createElement("div");editButton.className="EditButton";itemOverlay.appendChild(editButton);var editData={"tableRow":domItem,"items":[emptySlot,titleItem,valueItem],"overlay":itemOverlay};editButton.addEventListener("click",function(){for(var i in this.items){var item=this.items[i];item.style.display="none";} this.overlay.style.display="none";this.textInput=document.createElement("input");this.textInput.type="text";this.tableRow.appendChild(this.textInput);this.textInput.value=this.items[1].innerHTML;this.textArea=document.createElement("textarea");this.tableRow.appendChild(this.textArea);this.textArea.value=this.items[2].innerHTML;this.saveButton=document.createElement("div");this.saveButton.className="Button";this.saveButton.innerHTML="Save";this.tableRow.appendChild(this.saveButton);this.saveButton.addEventListener("click",function(){for(var i in this.items){var item=this.items[i];item.style.display="inline-block";} this.overlay.style.display="block";cookieManager.set(this.textInput.value,this.textArea.value,"",30,true);this.items[1].innerHTML=this.textInput.value;this.textInput.remove();this.items[2].innerHTML=this.textArea.value;this.textArea.remove();this.saveButton.remove();this.cancelButton.remove();}.bind(this));this.cancelButton=document.createElement("div");this.cancelButton.className="Button";this.cancelButton.innerHTML="Cancel";this.tableRow.appendChild(this.cancelButton);this.cancelButton.addEventListener("click",function(){for(var i in this.items){var item=this.items[i];item.style.display="inline-block";} this.overlay.style.display="block";this.textInput.remove();this.textArea.remove();this.saveButton.remove();this.cancelButton.remove();}.bind(this));}.bind(editData));var deleteButton=document.createElement("div");deleteButton.className="DeleteButton";itemOverlay.appendChild(deleteButton);var deleteData={"domItem":domItem,"cookieTitle":cookieTitle};deleteButton.addEventListener("click",function(){Alert.present("Delete Cookie","Are you sure you would like to delete the "+this.cookieTitle+" cookie?","Yes","No",function(buttonPressed){if(buttonPressed==1){if(this.domItem!=undefined)this.domItem.remove();if(this.cookieTitle!=undefined){cookieManager.delete(this.cookieTitle,"");}}}.bind(this));}.bind(deleteData));domItem.appendChild(itemOverlay);content.appendChild(domItem);}} this.cookieTable.appendChild(content);},buildUnclassifiedCookieListTable:function(cookies,indexes){this.unclassifiedCookieTable.innerHTML="";var header=document.createElement("div");header.className="TableHeader";var headerItems=["","Name","Value"];for(var i in headerItems){var itemTitle=headerItems[i];var headerItem=document.createElement("div");headerItem.className="HeaderItem";headerItem.innerHTML=itemTitle;if(i==0)headerItem.style.width="0";header.appendChild(headerItem);} this.unclassifiedCookieTable.appendChild(header);var content=document.createElement("div");content.className="TableContent";for(var cookieTitle in cookies){var found=false;for(i in indexes){var indexName=indexes[i].name;if(cookieTitle==indexName)found=true;} if(found==false){var domItem=document.createElement("div");domItem.className="TableRow";var emptySlot=document.createElement("div");emptySlot.className="RowItem";emptySlot.innerHTML="";emptySlot.style.width="0";domItem.appendChild(emptySlot);var titleItem=document.createElement("div");titleItem.className="RowItem";titleItem.innerHTML=cookieTitle domItem.appendChild(titleItem);var valueItem=document.createElement("div");valueItem.className="RowItem";valueItem.innerHTML=cookies[cookieTitle];domItem.appendChild(valueItem);var itemOverlay=document.createElement("div");itemOverlay.className="ItemOverlay";var editButton=document.createElement("div");editButton.className="EditButton";itemOverlay.appendChild(editButton);var editData={"tableRow":domItem,"items":[emptySlot,titleItem,valueItem],"overlay":itemOverlay};editButton.addEventListener("click",function(){for(i in this.items){var item=this.items[i];item.style.display="none";} this.overlay.style.display="none";this.textInput=document.createElement("input");this.textInput.type="text";this.tableRow.appendChild(this.textInput);this.textInput.value=this.items[1].innerHTML;this.textArea=document.createElement("textarea");this.tableRow.appendChild(this.textArea);this.textArea.value=this.items[2].innerHTML;this.saveButton=document.createElement("div");this.saveButton.className="Button";this.saveButton.innerHTML="Save";this.tableRow.appendChild(this.saveButton);this.saveButton.addEventListener("click",function(){for(i in this.items){var item=this.items[i];item.style.display="inline-block";} this.overlay.style.display="block";cookieManager.set(this.textInput.value,this.textArea.value,"",30,true);this.items[1].innerHTML=this.textInput.value;this.textInput.remove();this.items[2].innerHTML=this.textArea.value;this.textArea.remove();this.saveButton.remove();this.cancelButton.remove();}.bind(this));this.cancelButton=document.createElement("div");this.cancelButton.className="Button";this.cancelButton.innerHTML="Cancel";this.tableRow.appendChild(this.cancelButton);this.cancelButton.addEventListener("click",function(){for(i in this.items){var item=this.items[i];item.style.display="inline-block";} this.overlay.style.display="block";this.textInput.remove();this.textArea.remove();this.saveButton.remove();this.cancelButton.remove();}.bind(this));}.bind(editData));var deleteButton=document.createElement("div");deleteButton.className="DeleteButton";itemOverlay.appendChild(deleteButton);var deleteData={"domItem":domItem,"cookieTitle":cookieTitle};deleteButton.addEventListener("click",function(){Alert.present("Delete Cookie","Are you sure you would like to delete the "+this.cookieTitle+" cookie?","Yes","No",function(buttonPressed){if(buttonPressed==1){if(this.domItem!=undefined)this.domItem.remove();if(this.cookieTitle!=undefined){cookieManager.delete(this.cookieTitle,"");}}}.bind(this));}.bind(deleteData));domItem.appendChild(itemOverlay);content.appendChild(domItem);}} this.unclassifiedCookieTable.appendChild(content);},onGetSiteCookiesSuccess:function(responseData){var data=JSON.parse(responseData);this.buildCookieGroupsTable(data.groups);this.buildCookieIndexTable(data.indexes);this.builClassifiedCookieListTable(data.cookies,data.indexes);this.buildUnclassifiedCookieListTable(data.cookies,data.indexes);},onGetSiteCookiesFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var WebstatsView=JS.subClass(JSAppView,{name:"WebstatsView",title:"Daily Report - Webserver Stats",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,refreshInterval:null,chartData:{},init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";},create:function(domView){this.titleBarText.innerHTML=s[l].WebStatsViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"monitoring_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";domView.appendChild(this.innerHolder);this.statsContainer=document.createElement('div');this.statsContainer.className="StatsGrid";this.innerHolder.appendChild(this.statsContainer);this.renderSkeleton();},renderSkeleton:function(){var configs=[{id:"redis",label:"Online Users (Redis)",color:"#d2a8ff"},{id:"mysql",label:"MySQL Database",color:"#2f81f7"},{id:"cpu",label:"CPU Usage",color:"#2f81f7"},{id:"memory",label:"Memory",color:"#2ea043"},{id:"storage",label:"Disk Storage",color:"#e3b341"}];this.statsContainer.innerHTML="";for(var i=0;i'+conf.label+''+'
--
'+'
Loading...
'+'
'+'
';this.statsContainer.appendChild(card);}},drawSparkline:function(id){var canvas=document.getElementById('chart-'+id);if(!canvas)return;var ctx=canvas.getContext('2d');var data=this.chartData[id].values;var color=this.chartData[id].color;var width=canvas.offsetWidth;var height=canvas.offsetHeight;if(canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;} ctx.clearRect(0,0,width,height);if(data.length<2)return;var maxVal=Math.max.apply(Math,data);if(maxVal<100)maxVal=100;ctx.beginPath();ctx.strokeStyle=color;ctx.lineWidth=2;ctx.lineJoin='round';ctx.lineCap='round';var xStep=width/(data.length-1);for(var i=0;i=90)cpuColor="#fa4549";else if(cpuVal>=70)cpuColor="#e3b341";var cpuDot=document.getElementById('dot-cpu');if(cpuDot)cpuDot.style.backgroundColor=cpuColor;this.updateCard("cpu",data.cpu.value+"%","Load Avg: "+data.cpu.load,data.cpu.value);var memVal=parseFloat(data.memory.pct);var memColor="#2ea043";if(memVal>=90)memColor="#fa4549";else if(memVal>=70)memColor="#e3b341";var memDot=document.getElementById('dot-memory');if(memDot)memDot.style.backgroundColor=memColor;this.updateCard("memory",data.memory.pct+"%",data.memory.used+" / "+data.memory.total+" GB",data.memory.pct);var diskVal=parseFloat(data.storage.pct);var diskColor="#2ea043";if(diskVal>=90)diskColor="#fa4549";else if(diskVal>=75)diskColor="#e3b341";var diskDot=document.getElementById('dot-storage');if(diskDot)diskDot.style.backgroundColor=diskColor;this.updateCard("storage",data.storage.pct+"%",data.storage.used+" GB used",data.storage.pct);var redisDot=document.getElementById('dot-redis');if(redisDot)redisDot.style.backgroundColor=data.redis.online?"#2ea043":"#fa4549";this.updateCard("redis",data.redis.users,"Mem: "+data.redis.mem+" | Ops: "+data.redis.ops+"/s",null,data.redis.users);var mysqlDot=document.getElementById('dot-mysql');var dbStatusColor="#2ea043";if(data.mysql.active>5||parseFloat(data.mysql.pct)>=90)dbStatusColor="#fa4549";else if(data.mysql.active>2||parseFloat(data.mysql.pct)>=75)dbStatusColor="#e3b341";if(mysqlDot)mysqlDot.style.backgroundColor=dbStatusColor;this.updateCard("mysql",data.mysql.active+" Active Queries","Idle: "+data.mysql.sleeping+" | RAM: "+data.mysql.ram_pct+"% | Up: "+data.mysql.uptime+"h",data.mysql.pct);},updateCard:function(id,val,sub,progress,chartVal){var valEl=document.getElementById('val-'+id);var subEl=document.getElementById('sub-'+id);var barEl=document.getElementById('bar-'+id);if(valEl)valEl.innerText=val;if(subEl)subEl.innerText=sub;if(barEl&&progress!=null)barEl.style.width=progress+"%";var v=(chartVal!=null)?chartVal:parseFloat(val);this.chartData[id].values.shift();this.chartData[id].values.push(v);this.drawSparkline(id);},getStats:function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getServerStatsURL,params,function(responseData){this.onGetServerStatsSuccess(responseData);}.bind(this),function(statusCode,errorMessage){this.onGetServerStatsFailed(statusCode,errorMessage);}.bind(this));},onGetServerStatsSuccess:function(responseData){var response=JSON.parse(responseData);var statsData=(response.data)?response.data:response;this.populateStats(statsData);},onGetServerStatsFailed:function(statusCode,errorMessage){switch(statusCode){case"401":if(this.refreshInterval!=null){clearInterval(this.refreshInterval);this.refreshInterval=null;} break;default:break;} var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var AboutView=JS.subClass(JSAppView,{name:"AboutView",title:"Daily Report - About",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.infoHolder=document.createElement('div');this.infoHolder.className="InfoHolder";this.titleText=document.createElement('div');this.titleText.className="TitleText";},create:function(domView){this.titleBarText.innerHTML=s[l].AboutViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"data_object_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.innerHolder.appendChild(this.infoHolder);},start:function(data=null){this.infoHolder.innerHTML="";if(s[l].Direction=="rtl")this.infoHolder.classList.add("rtl");else this.infoHolder.classList.remove("rtl");this.infoHolder.appendChild(this.titleText);this.titleText.innerHTML=s[l].AboutViewInfoTitleText;if(s[l].Direction=="rtl")this.titleText.classList.add('rtl');else this.titleText.classList.remove('rtl');this.infoHolder.appendChild(this.buildVersionInfo());this.buildQRCode();var aboutData=AboutData[l];this.infoHolder.appendChild(this.renderAboutData(aboutData));},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildVersionInfo:function(){var section=document.createElement('div');section.className="InfoSection";var seciontTitle=document.createElement('div');seciontTitle.className="InfoSectionTitle";seciontTitle.innerHTML=s[l].AboutViewApplicationInfoTitleText+":";section.appendChild(seciontTitle);var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.innerHTML=s[l].AboutViewApplicationVersionTitleText+":";section.appendChild(infoTitle);var infoText=document.createElement('div');infoText.className="InfoText";infoText.innerHTML=App_Version.version;if(s[l].Direction=="rtl")infoText.classList.add('rtl');section.appendChild(infoText);var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.innerHTML=s[l].AboutViewApplicationBuildTitleText+":";section.appendChild(infoTitle);var infoText=document.createElement('div');infoText.className="InfoText";infoText.innerHTML=App_Version.build;if(s[l].Direction=="rtl")infoText.classList.add('rtl');section.appendChild(infoText);var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.innerHTML=s[l].AboutViewApplicationCommitTitleText+":";section.appendChild(infoTitle);var infoText=document.createElement('div');infoText.className="InfoText";infoText.innerHTML=App_Version.commit;if(s[l].Direction=="rtl")infoText.classList.add('rtl');section.appendChild(infoText);var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.innerHTML=s[l].AboutViewApplicationBuildDateTitleText+":";section.appendChild(infoTitle);var infoText=document.createElement('div');infoText.className="InfoText";infoText.innerHTML=Date.getDateFromTimestamp(App_Version.date);if(s[l].Direction=="rtl")infoText.classList.add('rtl');section.appendChild(infoText);return section;},buildQRCode:function(){var section=document.createElement('div');section.className="InfoSection";this.infoHolder.appendChild(section);var seciontTitle=document.createElement('div');seciontTitle.className="InfoSectionTitle";seciontTitle.innerHTML=s[l].AboutViewApplicationQRCodeTitleText+":";section.appendChild(seciontTitle);var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.style.width="100%";infoTitle.innerHTML=s[l].AboutViewApplicationQRCodeInfoText+":";section.appendChild(infoTitle);var qrCode=document.createElement('div');qrCode.className="InfoSectionQRCode";section.appendChild(qrCode);var qrcode=new QRCode(qrCode,{text:Globals.applicationDomain,width:240,height:240,colorDark:"#000000",colorLight:"#ffffff",correctLevel:QRCode.CorrectLevel.H});var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.style.width="100%";infoTitle.innerHTML=s[l].AboutViewApplicationDownloadNativeAndroid+":";section.appendChild(infoTitle);var androidDownloadButton=document.createElement('div');androidDownloadButton.className="DownloadButton";androidDownloadButton.style.backgroundImage="url('/assets/images/icons/android_black.svg')";section.appendChild(androidDownloadButton);androidDownloadButton.onclick=function(){if(Globals.androidDownloadURL.length>0)window.location.href=Globals.androidDownloadURL;};var infoTitle=document.createElement('div');infoTitle.className="InfoTitle";infoTitle.style.width="100%";infoTitle.innerHTML=s[l].AboutViewApplicationDownloadNativeiOS+":";section.appendChild(infoTitle);var iosDownloadButton=document.createElement('div');iosDownloadButton.className="DownloadButton";iosDownloadButton.style.backgroundImage="url('/assets/images/icons/ios_black.svg')";section.appendChild(iosDownloadButton);iosDownloadButton.onclick=function(){if(Globals.iOSDownloadURL.length>0)window.location.href=Globals.iOSDownloadURL;};},renderAboutData:function(data){var aboutInfoHolder=document.createElement("div");aboutInfoHolder.classList.add("AboutInfoHolder");data.forEach(dataSection=>{var section=document.createElement("div");section.classList.add("InfoSection");var topicDiv=document.createElement("div");topicDiv.classList.add("InfoSectionTitle");topicDiv.textContent=dataSection.topic+":";section.appendChild(topicDiv);var infoDiv=document.createElement("div");infoDiv.classList.add("InfoSectionText");infoDiv.textContent=dataSection.infoText;section.appendChild(infoDiv);var itemsDiv=document.createElement("div");itemsDiv.classList.add("Items");dataSection.items.forEach(item=>{var itemDiv=document.createElement("div");itemDiv.classList.add("Item");var titleDiv=document.createElement("div");titleDiv.classList.add("InfoLineTitle");titleDiv.textContent=item.title;itemDiv.appendChild(titleDiv);var infoLineDiv=document.createElement("div");infoLineDiv.classList.add("InfoLine");infoLineDiv.textContent=item.info;itemDiv.appendChild(infoLineDiv);var linkDiv=document.createElement("div");linkDiv.classList.add("InfoLine");var link=document.createElement("a");link.href=item.link;link.textContent=item.link;link.target="_blank";link.rel="noopener noreferrer";linkDiv.appendChild(link);itemDiv.appendChild(linkDiv);itemsDiv.appendChild(itemDiv);});section.appendChild(itemsDiv);aboutInfoHolder.appendChild(section);});return aboutInfoHolder;}});var EdituserView=JS.subClass(JSAppView,{name:"EdituserView",title:"Daily Report - Edit",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,inEditMode:false,userID:null,userData:null,positionsArray:null,locationsArray:null,featureAccessArray:null,settingsAccessArray:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="EdituserViewInnerHolder";},create:function(domView){this.innerHolder.innerHTML="";this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"user_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.formHolder=document.createElement("div");this.formHolder.id="FormHolder";if(s[l].Direction=="rtl")this.formHolder.classList.add("rtl");var header=document.createElement('div');header.className="Header";var stripes=document.createElement('h2');stripes.className="Stripes";this.formHolder.appendChild(stripes);this.formHolder.appendChild(header);this.profilePicture=document.createElement('div');this.profilePicture.className="ProfilePicture";this.profilePicture.style.backgroundImage="url('/uploads/profile_pictures/default.jpg')";this.formHolder.appendChild(this.profilePicture);this.uidTitle=document.createElement("div");this.uidTitle.id="EdituserViewFormUIDTitle";this.uidTitle.className="InputTitle";this.uidTitle.innerHTML="";this.formHolder.appendChild(this.uidTitle);this.firstNameTitle=document.createElement("div");this.firstNameTitle.id="EdituserViewFormFirstNameTitle";this.firstNameTitle.className="InputTitle";this.firstNameTitle.innerHTML=s[l].EdituserViewFormFirstNameTitleText;this.formHolder.appendChild(this.firstNameTitle);this.firstNameInput=document.createElement("input");this.firstNameInput.name="firstname";this.firstNameInput.id="EdituserViewFormFirstNameInput";this.formHolder.appendChild(this.firstNameInput);this.firstNameInput.type="text";this.lastNameTitle=document.createElement("div");this.lastNameTitle.id="EdituserViewFormLastNameTitle";this.lastNameTitle.className="InputTitle";this.lastNameTitle.innerHTML=s[l].EdituserViewFormLastNameTitleText;this.formHolder.appendChild(this.lastNameTitle);this.lastNameInput=document.createElement("input");this.lastNameInput.name="lastname";this.lastNameInput.id="EdituserViewFormLastNameInput";this.formHolder.appendChild(this.lastNameInput);this.lastNameInput.type="text";this.jobTitleTitle=document.createElement("div");this.jobTitleTitle.id="EdituserViewFormJobTitleTitle";this.jobTitleTitle.className="InputTitle";this.jobTitleTitle.innerHTML=s[l].EdituserViewFormJobTitleTitleText;this.formHolder.appendChild(this.jobTitleTitle);this.jobTitleInput=document.createElement("input");this.jobTitleInput.name="title";this.jobTitleInput.id="EdituserViewFormJobTitleInput";this.formHolder.appendChild(this.jobTitleInput);this.jobTitleInput.type="text";this.phoneNumberTitle=document.createElement("div");this.phoneNumberTitle.id="EdituserViewFormPhoneNumberTitle";this.phoneNumberTitle.className="InputTitle";this.phoneNumberTitle.innerHTML=s[l].EdituserViewFormPhoneNumberTitleText;this.formHolder.appendChild(this.phoneNumberTitle);this.phoneNumberInput=document.createElement("input");this.phoneNumberInput.name="mobile_phone";this.phoneNumberInput.id="EdituserViewFormPhoneNumberInput";this.formHolder.appendChild(this.phoneNumberInput);this.phoneNumberInput.type="text";this.emailTitle=document.createElement("div");this.emailTitle.id="EdituserViewFormEmailTitle";this.emailTitle.className="InputTitle";this.emailTitle.innerHTML=s[l].EdituserViewFormEmailTitleText;this.formHolder.appendChild(this.emailTitle);this.emailInput=document.createElement("input");this.emailInput.name="email";this.emailInput.id="EdituserViewFormEmailInput";this.emailInput.type="text";this.formHolder.appendChild(this.emailInput);this.inmailEmailTitle=document.createElement("div");this.inmailEmailTitle.id="EdituserViewFormInMailEmailTitle";this.inmailEmailTitle.className="InputTitle";this.inmailEmailTitle.innerHTML=s[l].EdituserViewFormInmailEmailTitleText;this.formHolder.appendChild(this.inmailEmailTitle);this.inmailHolder=document.createElement('div');this.inmailHolder.className="InmailHolder";this.formHolder.appendChild(this.inmailHolder);this.inmailCheckboxTitle=document.createElement("div");this.inmailCheckboxTitle.id="EdituserViewFormInMailEmailTitle";this.inmailCheckboxTitle.className="CheckboxTitle";this.inmailCheckboxTitle.innerHTML=s[l].EdituserViewFormInmailCheckboxTitleText;this.inmailHolder.appendChild(this.inmailCheckboxTitle);this.inmailEnabledCheckbox=document.createElement('input');this.inmailEnabledCheckbox.type="checkbox";this.inmailEnabledCheckbox.className="Checkbox";this.inmailEnabledCheckbox.name="InmailEnabledCheckbox";this.inmailEnabledCheckbox.checked=false;this.inmailHolder.appendChild(this.inmailEnabledCheckbox);this.inmailEnabledCheckbox.addEventListener('change',function(e){if(!e.target.checked){this.inmailEmailInput.value="";this.inmailEmailInput.disabled=true;this.inmailHolder.classList.remove("Enabled");}else{this.inmailEmailInput.disabled=false;this.inmailHolder.classList.add("Enabled");var firstname=this.firstNameInput.value;var lastname=this.lastNameInput.value;if(firstname.length>0&&lastname.length>0){var prefix=this.generateEmailPrefix(firstname,lastname);this.inmailEmailInput.value=prefix;}}}.bind(this));this.inmailEmailHolder=document.createElement('div');this.inmailEmailHolder.className="EmailHolder";this.inmailHolder.appendChild(this.inmailEmailHolder);this.inmailEmailInput=document.createElement("input");this.inmailEmailInput.name="inmail";this.inmailEmailInput.id="EdituserViewFormInmailEmailInput";this.inmailEmailInput.type="text";this.inmailEmailInput.disabled=true;this.inmailEmailHolder.appendChild(this.inmailEmailInput);this.inmailDomain=document.createElement('div');this.inmailDomain.className="InmailDomain";this.inmailDomain.innerText=this.getComanyEmailDomain();this.inmailEmailHolder.appendChild(this.inmailDomain);this.innerHolder.appendChild(this.formHolder);this.buildFormTimetrackingTable();},start:function(data=null){this.userID=(data!=null?(data.uid!=undefined?data.uid:null):null);this.userData=null;if(this.userID!=null){this.inEditMode=true;this.titleBarText.innerHTML=s[l].EdituserViewEditTitleText;this.getUserAccountData(this.userID);this.getUserLocations(this.userID);}else{this.inEditMode=false;this.titleBarText.innerHTML=s[l].EdituserViewAddTitleText;this.getUserLocations(null);}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].EdituserViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"EdituserView.new();"},{title:s[l].EdituserViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"EdituserView.save();"},{title:s[l].EdituserViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"EdituserView.delete();"},{title:s[l].EdituserViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"EdituserView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i";this.firstNameInput.value=userData.firstname this.lastNameInput.value=userData.lastname this.jobTitleInput.value=userData.title;this.phoneNumberInput.value=userData.mobile_phone;this.emailInput.value=userData.email;this.inmailEnabledCheckbox.checked=(parseInt(userData.internal_email_enabled)==1?true:false);this.inmailEmailInput.value="";if(parseInt(userData.internal_email_enabled)==1){if(userData.internal_email.length>0){var inmailInfo=this.extractEmailDetails(userData.internal_email);this.inmailEmailInput.value=inmailInfo.firstName+(inmailInfo.lastName.length>0?"."+inmailInfo.lastName:"");} this.inmailEmailInput.disabled=false;this.inmailHolder.classList.add("Enabled");}else{this.inmailEmailInput.disabled=true;this.inmailHolder.classList.remove("Enabled");} this.timetrackingReviewAccessCheckbox.checked=(parseInt(userData.has_review_access)==0?false:true);this.requiresManagerApprovalCheckbox.checked=(parseInt(userData.requires_manager_approval)==0?false:true);},buildFormTimetrackingTable:function(){var timetrackingList=document.createElement('div');timetrackingList.className="FeatureAccessList";var feature=document.createElement('div');feature.className="Item";var featureIcon=document.createElement('div');featureIcon.className="Icon";featureIcon.style.backgroundImage="url('/assets/images/icons/person_edit_black.svg')";feature.appendChild(featureIcon);var featureTitle=document.createElement('div');featureTitle.className="Title";featureTitle.innerHTML=s[l].EdituserViewTimetrackingListRequiresManagerApprovalItemTitleText;feature.appendChild(featureTitle);this.requiresManagerApprovalCheckbox=document.createElement('input');this.requiresManagerApprovalCheckbox.type="checkbox";this.requiresManagerApprovalCheckbox.className="Checkbox";feature.appendChild(this.requiresManagerApprovalCheckbox);this.requiresManagerApprovalCheckbox.checked=true;feature.addEventListener('click',function(e){if(this.checkbox.checked==true)this.checkbox.checked=false;else this.checkbox.checked=true;}.bind({checkbox:this.requiresManagerApprovalCheckbox})) timetrackingList.appendChild(feature);var feature=document.createElement('div');feature.className="Item";var featureIcon=document.createElement('div');featureIcon.className="Icon";featureIcon.style.backgroundImage="url('/assets/images/icons/document_review_black.svg')";feature.appendChild(featureIcon);var featureTitle=document.createElement('div');featureTitle.className="Title";featureTitle.innerHTML=s[l].EdituserViewTimetrackingListReviewAccesslItemTitleText;feature.appendChild(featureTitle);this.timetrackingReviewAccessCheckbox=document.createElement('input');this.timetrackingReviewAccessCheckbox.type="checkbox";this.timetrackingReviewAccessCheckbox.className="Checkbox";feature.appendChild(this.timetrackingReviewAccessCheckbox);this.timetrackingReviewAccessCheckbox.checked=false;feature.addEventListener('click',function(e){if(this.checkbox.checked==true)this.checkbox.checked=false;else this.checkbox.checked=true;}.bind({checkbox:this.timetrackingReviewAccessCheckbox})) timetrackingList.appendChild(feature);var timetrackingListTitleBar=document.createElement('div');timetrackingListTitleBar.className="TimetrackingListTitleBar";var timetrackingListTitleBarTitle=document.createElement('div');timetrackingListTitleBarTitle.className="Title";timetrackingListTitleBarTitle.innerHTML=s[l].EdituserViewTimetrackingListTitleText;timetrackingListTitleBar.appendChild(timetrackingListTitleBarTitle);var timetrackingListTitleBarIcon=document.createElement('div');timetrackingListTitleBarIcon.className="Icon";timetrackingListTitleBar.appendChild(timetrackingListTitleBarIcon);timetrackingListTitleBar.addEventListener('click',function(){if(this.menu.style.display=='block'){this.menu.style.display="none";this.button.style.transform="rotate(0deg)";}else{this.menu.style.display="block";this.button.style.transform="rotate(180deg)";}}.bind({menu:timetrackingList,delegate:this,button:timetrackingListTitleBarIcon}));this.formHolder.appendChild(timetrackingListTitleBar);this.formHolder.appendChild(timetrackingList);},populateFormWithUserLocationsData:function(data){this.locationsArray=new Array();var list=data.locations;var userLocations=((data.user_locations!=undefined&&data.user_locations!=null)?data.user_locations:null);var locationsList=document.createElement('div');locationsList.className="FeatureAccessList";for(var i=0;i0&&this.inmailEnabledCheckbox.checked==true?this.inmailEmailInput.value+this.inmailDomain.innerText:"");var inmailEnabled=(this.inmailEnabledCheckbox.checked==true?1:0) var phone=this.phoneNumberInput.value;var requiresManagerApproval=(this.requiresManagerApprovalCheckbox.checked==true?1:0);var timetrackingReviewAccess=(this.timetrackingReviewAccessCheckbox.checked==true?1:0);var locationsList=JSON.stringify(this.getLocationsList());var positionsList=JSON.stringify(this.getPositionsList());var menuAccessList=JSON.stringify(this.getMenuAccessList());var settingsAccessList=JSON.stringify(this.getSettingsMenuAccessList());if(this.inEditMode){this.updateUserAccount(first,last,title,email,inmail,inmailEnabled,phone,requiresManagerApproval,timetrackingReviewAccess,locationsList,positionsList,menuAccessList,settingsAccessList);}else{this.createUserAccount(first,last,title,email,inmail,inmailEnabled,phone,requiresManagerApproval,timetrackingReviewAccess,locationsList,positionsList,menuAccessList,settingsAccessList);}},getUserAccountData:function(uid){var request=new NetworkRequest();var params="uid="+uid;request.postRequest(Globals.ServicesURL.getUserAccountDataURL,params,function(responseData){this.onGetUserAccountDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserAccountDataFaild(statusCode,errorMessage)}.bind(this));},updateUserAccount:function(firstname,lastname,title,email,inmail,inmailEnabled,phone,requiresManagerApproval,timetrackingReviewAccess,locationsList,positionsList,menuAccessList,settingsAccessList){var request=new NetworkRequest();var params="uid="+this.userID+"&firstname="+firstname+"&lastname="+lastname+"&title="+title+"&email="+email+"&internal_email="+inmail+"&internal_email_enabled="+inmailEnabled+"&mobile_phone="+phone+"&requires_manager_approval="+requiresManagerApproval+"&has_review_access="+timetrackingReviewAccess+"&employee_locations="+locationsList+"&employee_positions="+positionsList+"&feature_access="+menuAccessList+"&settings_access="+settingsAccessList;request.postRequest(Globals.ServicesURL.updateUserAccountURL,params,function(responseData){this.onUpdateUserAccountSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateUserAccountFailed(statusCode,errorMessage)}.bind(this));},createUserAccount:function(firstname,lastname,title,email,inmail,inmailEnabled,phone,requiresManagerApproval,timetrackingReviewAccess,locationsList,positionsList,menuAccessList,settingsAccessList){var request=new NetworkRequest();var params="firstname="+firstname+"&lastname="+lastname+"&title="+title+"&email="+email+"&internal_email="+inmail+"&internal_email_enabled="+inmailEnabled+"&mobile_phone="+phone+"&requires_manager_approval="+requiresManagerApproval+"&has_review_access="+timetrackingReviewAccess+"&employee_locations="+locationsList+"&employee_positions="+positionsList+"&feature_access="+menuAccessList+"&settings_access="+settingsAccessList;request.postRequest(Globals.ServicesURL.createUserAccountURL,params,function(responseData){this.onCreateUserAccountSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateUserAccountFailed(statusCode,errorMessage)}.bind(this));},deleteUserAccount:function(uid){var request=new NetworkRequest();var params="uid="+uid+"&delete=1";request.postRequest(Globals.ServicesURL.deleteUserAccountURL,params,function(responseData){this.onDeleteUserAccountSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteUserAccountFailed(statusCode,errorMessage)}.bind(this));},getUserLocations:function(uid=null){var request=new NetworkRequest();var params=(uid!=null?"uid="+uid:"");request.postRequest(Globals.ServicesURL.getUserLocationsURL,params,function(responseData){this.onGetUserLocationsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserLocationsDataFailed(statusCode,errorMessage)}.bind(this));},getUserPositions:function(uid=null){var request=new NetworkRequest();var params=(uid!=null?"uid="+uid:"");request.postRequest(Globals.ServicesURL.getUserPositionsURL,params,function(responseData){this.onGetUserPositionsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserPositionsDataFailed(statusCode,errorMessage)}.bind(this));},getFeatureAccessList:function(uid=null){var params=(uid!=null?"uid="+uid:"");var request=new NetworkRequest();request.postRequest(Globals.ServicesURL.getFeatureAccessListURL,params,function(responseData){this.onGetFeatureAccessListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFeatureAccessListFailed(statusCode,errorMessage)}.bind(this));},getSettingsAccessList:function(uid=null){var params=(uid!=null?"uid="+uid:"");var request=new NetworkRequest();request.postRequest(Globals.ServicesURL.getSettingsAccessListURL,params,function(responseData){this.onGetSettingsAccessListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetSettingsAccessListFailed(statusCode,errorMessage)}.bind(this));},onGetUserAccountDataSuccess:function(responseData){this.userData=JSON.parse(responseData);this.populateFormWithUserData(this.userData);},onGetUserAccountDataFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateUserAccountSuccess:function(responseData){if(this.delegate!=null&&this.delegate.name=="UseraccountsView"){if(this.delegate.getUsersAccountData!=undefined)this.delegate.getUsersAccountData(this.delegate.searchFieldInput.value,null,null);if(this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);}},onUpdateUserAccountFailed:function(statusCode,errorMessage){if(errorMessage.search('users.email')>=0&&statusCode==400){Alert.present(s[l].EdituserViewEmailInUseAlertTitle,s[l].EdituserViewEmailInUseAlertText,s[l].EdituserViewEmailInUseAlertButtonText,null,function(buttonPressed){});}else if(errorMessage.search('users.mobile_phone')>=0&&statusCode==400){Alert.present(s[l].EdituserViewPhoneNumberInUseAlertTitle,s[l].EdituserViewPhoneNumberInUseAlertText,s[l].EdituserViewPhoneNumberInUseAlertButtonText,null,function(buttonPressed){});}else{var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}},onCreateUserAccountSuccess:function(responseData){if(this.delegate!=null&&this.delegate.name=="UseraccountsView"){if(this.delegate.getUsersAccountData!=undefined)this.delegate.getUsersAccountData(this.delegate.searchFieldInput.value,null,null);if(this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);}},onCreateUserAccountFailed:function(statusCode,errorMessage){if(errorMessage.search('users.email')>=0&&statusCode==400){Alert.present(s[l].EdituserViewEmailInUseAlertTitle,s[l].EdituserViewEmailInUseAlertText,s[l].EdituserViewEmailInUseAlertButtonText,null,function(buttonPressed){});}else if(errorMessage.search('users.mobile_phone')>=0&&statusCode==400){Alert.present(s[l].EdituserViewPhoneNumberInUseAlertTitle,s[l].EdituserViewPhoneNumberInUseAlertText,s[l].EdituserViewPhoneNumberInUseAlertButtonText,null,function(buttonPressed){});}else{var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}},onDeleteUserAccountSuccess:function(responseData){if(this.delegate!=null&&this.delegate.getUsersAccountData!=undefined)this.delegate.getUsersAccountData(this.delegate.searchFieldInput.value,null,null);if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onDeleteUserAccountFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetUserLocationsDataSuccess:function(responseData){this.populateFormWithUserLocationsData(JSON.parse(responseData));this.getUserPositions(this.userID);},onGetUserLocationsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetUserPositionsDataSuccess:function(responseData){this.populateFormWithUserPositionsData(JSON.parse(responseData));this.getFeatureAccessList(this.userID);},onGetUserPositionsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetFeatureAccessListSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormWithFeatureAccessData(data);this.getSettingsAccessList(this.userID);},onGetFeatureAccessListFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetSettingsAccessListSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormWithSettingsAccessData(data);},onGetSettingsAccessListFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var EulaView=JS.subClass(JSAppView,{name:"EulaView",title:"Daily Report - Eula",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.infoHolder=document.createElement('div');this.infoHolder.className="InfoHolder";this.titleText=document.createElement('div');this.titleText.className="TitleText";this.legalNoticeHolder=document.createElement('div');this.legalNoticeHolder.className="LegalNoticeHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].EulaViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"contract_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);domView.appendChild(this.titleBar);domView.appendChild(this.innerHolder);this.titleText.innerHTML=s[l].EulaViewInfoTitleText+":";this.infoHolder.appendChild(this.titleText);this.infoHolder.appendChild(this.legalNoticeHolder);this.innerHolder.appendChild(this.infoHolder);},start:function(data=null){var license=Licenses[l];this.renderLegalData(license,this.legalNoticeHolder);if(s[l].Direction=="rtl")this.legalNoticeHolder.classList.add("rtl");else this.legalNoticeHolder.classList.remove("rtl");},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},renderLegalData:function(data,container){container.innerHTML="";var tocDiv=document.createElement('div');tocDiv.className="TOC";var tocTitle=document.createElement('div');tocTitle.className="Title";tocTitle.innerHTML=s[l].EulaViewTocTitleText+":";tocDiv.appendChild(tocTitle);var topicCounter=0;for(var topicName in data){topicCounter++;var topicId='license-topic-'+topicCounter;var tocItem=document.createElement('div');tocItem.className='Item';tocItem.textContent=topicName+".";tocItem.style.cursor='pointer';tocItem.onclick=(function(id){return function(){document.getElementById(id).scrollIntoView({behavior:'smooth'});};})(topicId);tocDiv.appendChild(tocItem);} container.appendChild(tocDiv);topicCounter=0;for(var topicName in data){topicCounter++;var topicId='license-topic-'+topicCounter;var topicDiv=document.createElement('div');topicDiv.className='Topic';topicDiv.dataset.topic=topicName;topicDiv.id=topicId;topicDiv.innerHTML=topicName+":";for(var j=0;j1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/calendar_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].EventsmanagementViewTitleBarMenu.CreateTemplateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i"||this.formName.innerHTML==""){this.formName.innerHTML="";this.formName.setAttribute("placeholder",s[l].FormeditorViewFormNamePlaceholderText);}}.bind(this));this.formName.addEventListener("keyup",function(){if((this.formName.innerText.length>0&&this.ftid==null)||this.ftid!=null) this.shareButton.classList.add("Unlocked");else this.shareButton.classList.remove("Unlocked");}.bind(this));this.formName.setAttribute("placeholder",s[l].FormeditorViewFormNamePlaceholderText);this.formNameHolder.appendChild(this.formNameIcon);this.formNameHolder.appendChild(this.formName);this.menuBar.appendChild(this.formNameHolder);this.shareButton=document.createElement('div');this.shareButton.className="ShareButton";this.shareButtonTitle=document.createElement('div');this.shareButtonTitle.className="Title";this.shareButtonTitle.innerHTML=s[l].FormeditorViewShareSettingsShareButtonTitleText;this.shareButton.appendChild(this.shareButtonTitle);this.shareButtonIcon=document.createElement('div');this.shareButtonIcon.className="Icon";this.shareButton.appendChild(this.shareButtonIcon);if(s[l].Direction=="rtl")this.shareButtonIcon.classList.add('Icon_rtl');else this.shareButtonIcon.classList.remove('Icon_rtl');this.menuBar.appendChild(this.shareButton);this.shareButton.addEventListener('click',function(){this.onShareButtonPressed();}.bind(this));this.templateTypeMenuHolder=document.createElement('div');this.templateTypeMenuHolder.className="TemplateTypeMenuHolder";this.templateTypeTitleText=document.createElement('div');this.templateTypeTitleText.className="TitleHolder";this.templateTypeTitleText.innerHTML=s[l].FormditorViewTemplateTypeTitleText this.templateTypeMenuHolder.appendChild(this.templateTypeTitleText);this.templateTypeMenuTitleHolder=document.createElement('div');this.templateTypeMenuTitleHolder.className="MenuTitleHolder";this.templateTypeMenuHolder.appendChild(this.templateTypeMenuTitleHolder);this.templateTypeMenuTitle=document.createElement('div');this.templateTypeMenuTitle.className="MenuTitle";this.templateTypeMenuTitle.innerHTML=s[l].FormTypes[this.formType];this.templateTypeMenuTitleHolder.appendChild(this.templateTypeMenuTitle);this.templateTypeMenuTitle.addEventListener('click',function(){if(this.templateTypeMenu.style.display=="block"){this.templateTypeMenu.style.display="none";}else{this.templateTypeMenu.style.display="block";}}.bind(this));this.templateTypeMenu=document.createElement('div');this.templateTypeMenu.className="Menu";this.templateTypeMenuTitleHolder.appendChild(this.templateTypeMenu);var formTypes=Object.entries(FormTypes);for(var i=0;i0)this.shareButton.classList.add("Unlocked");else this.shareButton.classList.remove("Unlocked");},addItemToForm:function(item){var formItem=new(eval(item.type))();formItem.editable=true;formItem=formItem.init(this,item);if(formItem.editable==true){formItem.domItem.addEventListener('dragstart',function(event){event.item=this.formItem;this.delegate.onDragStart(event);}.bind({delegate:this,formItem:formItem}));formItem.domItem.addEventListener('dragover',function(event){event.preventDefault();}.bind({delegate:this,formItem:formItem}));formItem.domItem.addEventListener('drop',function(event){event.item=this.formItem;this.delegate.onDrop(event);}.bind({delegate:this,formItem:formItem}));} this.formHolder.appendChild(formItem.domItem);this.formItemsArray.push(formItem);},onDragStart:function(event){this.currentDraggedItem=event.item;},onDrop:function(event){var droppedOnItem=event.item.domItem;var draggedItem=this.currentDraggedItem.domItem;if(droppedOnItem===draggedItem)return;var draggedItemIndex=this.formItemsArray.indexOf(this.currentDraggedItem);var droppedOnItemIndex=this.formItemsArray.indexOf(event.item);var holder=draggedItem.parentNode;holder.insertBefore(draggedItem,droppedOnItem);this.formItemsArray.splice(draggedItemIndex,1);this.formItemsArray.splice(droppedOnItemIndex,0,this.currentDraggedItem);},serialize:function(){var serializedForm={};var formItems=new Array();serializedForm.name=encodeURIComponent(this.formName.innerText);serializedForm.items=formItems;if(this.formItemsArray!=null){for(var i=0;i0){for(var i=0;i0){for(var i=0;i0){for(var i=0;i=0)starButton.classList.add("StarButtonSelected");item.appendChild(starButton);starButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("StarButtonSelected")){selected=0;this.button.classList.remove("StarButtonSelected");}else{selected=1;this.button.classList.add("StarButtonSelected");} this.delegate.onShareDialogUserStarButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:starButton}));} if(this.selectedAccessList==AccessListTypes.Template&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true)){var bookmarkButton=document.createElement('div');bookmarkButton.className="BookmarkButton";if(bookmarkedUsers.indexOf(uid)>=0)bookmarkButton.classList.add("BookmarkButtonSelected");item.appendChild(bookmarkButton);bookmarkButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("BookmarkButtonSelected")){selected=0;this.button.classList.remove("BookmarkButtonSelected");}else{selected=1;this.button.classList.add("BookmarkButtonSelected");} this.delegate.onShareDialogUserBookmarkButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:bookmarkButton}));} var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+data.profile_picture+"')";item.appendChild(profilePicture);var name=document.createElement('div');name.className="Name";if(this.selectedAccessList==AccessListTypes.Review||this.selectedAccessList==AccessListTypes.Template)name.classList.add("NameWithButton");name.innerHTML=data.firstname+" "+data.lastname;item.appendChild(name);if(data.is_owner==1){var ownerBadge=document.createElement('div');ownerBadge.className="CreatorBadge";ownerBadge.innerHTML=s[l].AccessDialogAccessSettingsCreatorTagText;name.appendChild(ownerBadge);} if(data.is_owner==0){var deleteButton=document.createElement('div');deleteButton.className="DeleteButton";item.appendChild(deleteButton);deleteButton.addEventListener('click',function(){this.delegate.onShareDialogDeleteUserButtonPressed(this.data);if(this.delegate.selectedAccessList==AccessListTypes.Template)this.delegate.onShareDialogUserBookmarkButtonPressed(this.data,0);if(this.delegate.selectedAccessList==AccessListTypes.Review)this.delegate.onShareDialogUserStarButtonPressed(this.data,0);}.bind({delegate:this,data:data}));}else{var deleteButton=document.createElement('div');deleteButton.className="NoDeleteButton";item.appendChild(deleteButton);} return item;},buildDepartmentItem:function(data){var item=document.createElement("div");item.className="Item";var did=parseInt(data.did);var staredDepartments=(this.accessRights.stars.departments==null?[]:(typeof this.accessRights.stars.departments=="string"?JSON.parse(this.accessRights.stars.departments):this.accessRights.stars.departments));var bookmarkedDepartments=(this.accessRights.bookmarks.departments==null?[]:(typeof this.accessRights.bookmarks.departments=="string"?JSON.parse(this.accessRights.bookmarks.departments):this.accessRights.bookmarks.departments));if(this.selectedAccessList==AccessListTypes.Review&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true)){var starButton=document.createElement('div');starButton.className="StarButton";if(staredDepartments.indexOf(did)>=0)starButton.classList.add("StarButtonSelected");item.appendChild(starButton);starButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("StarButtonSelected")){selected=0;this.button.classList.remove("StarButtonSelected");}else{selected=1;this.button.classList.add("StarButtonSelected");} this.delegate.onShareDialogDepartmentStarButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:starButton}));} if(this.selectedAccessList==AccessListTypes.Template&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true)){var bookmarkButton=document.createElement('div');bookmarkButton.className="BookmarkButton";if(bookmarkedDepartments.indexOf(did)>=0)bookmarkButton.classList.add("BookmarkButtonSelected");item.appendChild(bookmarkButton);bookmarkButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("BookmarkButtonSelected")){selected=0;this.button.classList.remove("BookmarkButtonSelected");}else{selected=1;this.button.classList.add("BookmarkButtonSelected");} this.delegate.onShareDialogDepartmentBookmarkButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:bookmarkButton}));} var title=document.createElement('div');title.className="Title";if((this.selectedAccessList==AccessListTypes.Review||this.selectedAccessList==AccessListTypes.Template)&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true))title.classList.add("TitleWithButton");title.innerHTML=data.title;item.appendChild(title);var deleteButton=document.createElement('div');if(data.isPlaceHolder==undefined||data.isPlaceHolder!=true){deleteButton.className="DeleteButton";deleteButton.addEventListener('click',function(){this.delegate.onShareDialogDeleteDepartmentButtonPressed(this.data);if(this.delegate.selectedAccessList==AccessListTypes.Template)this.delegate.onShareDialogDepartmentBookmarkButtonPressed(this.data,0);if(this.delegate.selectedAccessList==AccessListTypes.Review)this.delegate.onShareDialogDepartmentStarButtonPressed(this.data,0);}.bind({delegate:this,data:data}));}else{deleteButton.className="NoDeleteButton";} item.appendChild(deleteButton);return item;},buildTeamItem:function(data){var item=document.createElement("div");item.className="Item";var tid=parseInt(data.tid);var staredTeams=(this.accessRights.stars.teams==null?[]:(typeof this.accessRights.stars.teams=="string"?JSON.parse(this.accessRights.stars.teams):this.accessRights.stars.teams));var bookmarkedTeams=(this.accessRights.bookmarks.teams==null?[]:(typeof this.accessRights.bookmarks.teams=="string"?JSON.parse(this.accessRights.bookmarks.teams):this.accessRights.bookmarks.teams));if(this.selectedAccessList==AccessListTypes.Review&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true)){var starButton=document.createElement('div');starButton.className="StarButton";if(staredTeams.indexOf(tid)>=0)starButton.classList.add("StarButtonSelected");item.appendChild(starButton);starButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("StarButtonSelected")){selected=0;this.button.classList.remove("StarButtonSelected");}else{selected=1;this.button.classList.add("StarButtonSelected");} this.delegate.onShareDialogTeamStarButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:starButton}));} if(this.selectedAccessList==AccessListTypes.Template&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true)){var bookmarkButton=document.createElement('div');bookmarkButton.className="BookmarkButton";if(bookmarkedTeams.indexOf(tid)>=0)bookmarkButton.classList.add("BookmarkButtonSelected");item.appendChild(bookmarkButton);bookmarkButton.addEventListener('click',function(){var selected=0;if(this.button.classList.contains("BookmarkButtonSelected")){selected=0;this.button.classList.remove("BookmarkButtonSelected");}else{selected=1;this.button.classList.add("BookmarkButtonSelected");} this.delegate.onShareDialogTeamBookmarkButtonPressed(this.data,selected);}.bind({delegate:this,data:data,button:bookmarkButton}));} var title=document.createElement('div');title.className="Title";if((this.selectedAccessList==AccessListTypes.Review||this.selectedAccessList==AccessListTypes.Template)&&(data.isPlaceHolder==undefined||data.isPlaceHolder!=true))title.classList.add("TitleWithButton");title.innerHTML=data.title;item.appendChild(title);var deleteButton=document.createElement('div');if(data.isPlaceHolder==undefined||data.isPlaceHolder!=true){deleteButton.className="DeleteButton";deleteButton.addEventListener('click',function(){this.delegate.onShareDialogDeleteTeamButtonPressed(this.data);if(this.delegate.selectedAccessList==AccessListTypes.Template)this.delegate.onShareDialogTeamBookmarkButtonPressed(this.data,0);if(this.delegate.selectedAccessList==AccessListTypes.Review)this.delegate.onShareDialogTeamStarButtonPressed(this.data,0);}.bind({delegate:this,data:data}));}else{deleteButton.className="NoDeleteButton";} item.appendChild(deleteButton);return item;},onTabBarMenuItemSelected:function(itemData,index){this.hideTitleBarMenu();var tabBar=this.shareDialogTabBar;for(var i=0;i0?(imageURL.substring(0,imageURL.indexOf("_white.svg"))):imageURL;imageURL=imageURL.indexOf("_black.svg")>0?(imageURL.substring(0,imageURL.indexOf("_black.svg"))):imageURL;icon.style.backgroundImage=index==i?imageURL+"_white.svg\")":imageURL+"_black.svg\")";} eval(itemData.action);},getTemplateAccess:function(){this.selectedAccessList=AccessListTypes.Template;this.getFormTemplateAccessList(this.ftid,this.selectedAccessList);},getResultsAccess:function(){this.selectedAccessList=AccessListTypes.Review;this.getFormTemplateAccessList(this.ftid,this.selectedAccessList);},getAssigneesAccess:function(){this.selectedAccessList=AccessListTypes.Assignees;this.getFormTemplateAccessList(this.ftid,this.selectedAccessList);},new:function(){this.initForm(null);this.questionsHolder.style.display="block";this.shareDialogHolder.style.display="none";this.shareButton.classList.remove("Unlocked");this.shareButton.classList.remove("Active");this.sharePickerDialog.dismiss();this.menu.showMenu();},save:function(){var name=encodeURIComponent(this.formName.innerText);var template=JSON.stringify(this.serialize());var ftid=this.ftid;var type=this.formType;if(ftid!=null){this.saveFormTemplate(ftid,name,type,template);}else{this.createFormTemplate(name,type,template);}},duplicate:function(){this.ftid=null;this.creatorUID=null;this.formName.innerText=this.formName.innerText+" "+s[l].FormeditorViewFormsDuplicateTitleText;if(this.formName.innerText.length>0&&this.creatorUID==null)this.shareButton.classList.add("Unlocked");},delete:function(){if(this.ftid!=null){Alert.present(s[l].FormeditorViewDeleteFormTemplateAlert.Title,s[l].FormeditorViewDeleteFormTemplateAlert.Description,s[l].FormeditorViewDeleteFormTemplateAlert.Button1Title,s[l].FormeditorViewDeleteFormTemplateAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.deleteFormTemplate(this.ftid);}}.bind(this));} else this.dismiss();},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onTemplateTypeMenuItemClicked:function(formType){this.formType=formType;},onShareDialogDeleteUserButtonPressed:function(data){for(var i=0;i=0)users.splice(users.indexOf(uid),1);if(isSelected==1)users.push(uid);this.accessRights.bookmarks.users=users;this.accessRights.bookmarks.departments=departments;this.accessRights.bookmarks.teams=teams;this.updateFormTemplateBookmarks(this.ftid,this.accessRights.bookmarks);},onShareDialogDepartmentBookmarkButtonPressed:function(data,isSelected){var did=parseInt(data.did);var users=(this.accessRights.bookmarks.users==null?[]:(typeof this.accessRights.bookmarks.users=="string"?JSON.parse(this.accessRights.bookmarks.users):this.accessRights.bookmarks.users));var departments=(this.accessRights.bookmarks.departments==null?[]:(typeof this.accessRights.bookmarks.departments=="string"?JSON.parse(this.accessRights.bookmarks.departments):this.accessRights.bookmarks.departments));var teams=(this.accessRights.bookmarks.teams==null?[]:(typeof this.accessRights.bookmarks.teams=="string"?JSON.parse(this.accessRights.bookmarks.teams):this.accessRights.bookmarks.teams));if(departments.indexOf(did)>=0)departments.splice(departments.indexOf(did),1);if(isSelected==1)departments.push(did);this.accessRights.bookmarks.users=users;this.accessRights.bookmarks.departments=departments;this.accessRights.bookmarks.teams=teams;this.updateFormTemplateBookmarks(this.ftid,this.accessRights.bookmarks);},onShareDialogTeamBookmarkButtonPressed:function(data,isSelected){var tid=parseInt(data.tid);var users=(this.accessRights.bookmarks.users==null?[]:(typeof this.accessRights.bookmarks.users=="string"?JSON.parse(this.accessRights.bookmarks.users):this.accessRights.bookmarks.users));var departments=(this.accessRights.bookmarks.departments==null?[]:(typeof this.accessRights.bookmarks.departments=="string"?JSON.parse(this.accessRights.bookmarks.departments):this.accessRights.bookmarks.departments));var teams=(this.accessRights.bookmarks.teams==null?[]:(typeof this.accessRights.bookmarks.teams=="string"?JSON.parse(this.accessRights.bookmarks.teams):this.accessRights.bookmarks.teams));if(teams.indexOf(tid)>=0)teams.splice(teams.indexOf(tid),1);if(isSelected==1)teams.push(tid);this.accessRights.bookmarks.users=users;this.accessRights.bookmarks.departments=departments;this.accessRights.bookmarks.teams=teams;this.updateFormTemplateBookmarks(this.ftid,this.accessRights.bookmarks);},onShareDialogUserStarButtonPressed:function(data,isSelected){var uid=parseInt(data.uid);var users=(this.accessRights.stars.users==null?[]:(typeof this.accessRights.stars.users=="string"?JSON.parse(this.accessRights.stars.users):this.accessRights.stars.users));var departments=(this.accessRights.stars.departments==null?[]:(typeof this.accessRights.stars.departments=="string"?JSON.parse(this.accessRights.stars.departments):this.accessRights.stars.departments));var teams=(this.accessRights.stars.teams==null?[]:(typeof this.accessRights.stars.teams=="string"?JSON.parse(this.accessRights.stars.teams):this.accessRights.stars.teams));if(users.indexOf(uid)>=0)users.splice(users.indexOf(uid),1);if(isSelected==1)users.push(uid);this.accessRights.stars.users=users;this.accessRights.stars.departments=departments;this.accessRights.stars.teams=teams;this.updateFormTemplateStars(this.ftid,this.accessRights.stars);},onShareDialogDepartmentStarButtonPressed:function(data,isSelected){var did=parseInt(data.did);var users=(this.accessRights.stars.users==null?[]:(typeof this.accessRights.stars.users=="string"?JSON.parse(this.accessRights.stars.users):this.accessRights.stars.users));var departments=(this.accessRights.stars.departments==null?[]:(typeof this.accessRights.stars.departments=="string"?JSON.parse(this.accessRights.stars.departments):this.accessRights.stars.departments));var teams=(this.accessRights.stars.teams==null?[]:(typeof this.accessRights.stars.teams=="string"?JSON.parse(this.accessRights.stars.teams):this.accessRights.stars.teams));if(departments.indexOf(did)>=0)departments.splice(departments.indexOf(did),1);if(isSelected==1)departments.push(did);this.accessRights.stars.users=users;this.accessRights.stars.departments=departments;this.accessRights.stars.teams=teams;this.updateFormTemplateStars(this.ftid,this.accessRights.stars);},onShareDialogTeamStarButtonPressed:function(data,isSelected){var tid=parseInt(data.tid);var users=(this.accessRights.stars.users==null?[]:(typeof this.accessRights.stars.users=="string"?JSON.parse(this.accessRights.stars.users):this.accessRights.stars.users));var departments=(this.accessRights.stars.departments==null?[]:(typeof this.accessRights.stars.departments=="string"?JSON.parse(this.accessRights.stars.departments):this.accessRights.stars.departments));var teams=(this.accessRights.stars.teams==null?[]:(typeof this.accessRights.stars.teams=="string"?JSON.parse(this.accessRights.stars.teams):this.accessRights.stars.teams));if(teams.indexOf(tid)>=0)teams.splice(teams.indexOf(tid),1);if(isSelected==1)teams.push(tid);this.accessRights.stars.users=users;this.accessRights.stars.departments=departments;this.accessRights.stars.teams=teams;this.updateFormTemplateStars(this.ftid,this.accessRights.stars);},onSharePickerDialogEnded:function(selectedItems,listType){var accessRightsUIDS=new Array();accessRightsUIDS['users']=this.parseAccessRightsUIDs(this.accessRights.users);accessRightsUIDS['departments']=this.parseAccessRightsUIDs(this.accessRights.departments);accessRightsUIDS['teams']=this.parseAccessRightsUIDs(this.accessRights.teams);switch(listType){case this.sharePickerDialog.ListTypes.USERS:accessRightsUIDS['users']=accessRightsUIDS['users'].concat(this.parseAccessRightsUIDs(selectedItems));break;case this.sharePickerDialog.ListTypes.DEPARTMENTS:accessRightsUIDS['departments']=accessRightsUIDS['departments'].concat(this.parseAccessRightsUIDs(selectedItems));break;case this.sharePickerDialog.ListTypes.TEAMS:accessRightsUIDS['teams']=accessRightsUIDS['teams'].concat(this.parseAccessRightsUIDs(selectedItems));break;} this.updateFormTemplateAccessList(this.ftid,this.selectedAccessList,accessRightsUIDS,this.singleUserResponseRequired,this.singleDepartmentResponseRequired,this.singleTeamResponseRequired);},parseAccessRightsUIDs:function(list){var accessRightsUIDs=new Array();for(var i in list){var item=list[i];if(item.uid!=undefined)accessRightsUIDs.push(parseInt(item.uid));else if(item.did!=undefined)accessRightsUIDs.push(parseInt(item.did));else if(item.tid!=undefined)accessRightsUIDs.push(parseInt(item.tid));} return accessRightsUIDs;},onFormItemDeleteButtonClicked:function(formItem){this.formHolder.removeChild(formItem.domItem);this.formItemsArray.splice(this.formItemsArray.indexOf(formItem),1);},onFormMenuItemSelected:function(itemName){this.addItemToForm({type:itemName});this.questionsHolder.scrollTop=this.questionsHolder.scrollHeight;},onFormDatePickerInputActive:function(formDatePickerInput){console.log("TODO: Implement "+this.name+" onFormDatePickerInputActive");},getFormTemplate:function(ftid){var request=new NetworkRequest();var params="ftid="+ftid;request.postRequest(Globals.ServicesURL.getFormTemplateURL,params,function(responseData){this.onGetFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFormTemplateFaild(statusCode,errorMessage)}.bind(this));},saveFormTemplate:function(ftid,name,type,template){var request=new NetworkRequest();var params="ftid="+ftid+"&name="+name+"&type="+type+"&template="+template;request.postRequest(Globals.ServicesURL.saveFormTemplateURL,params,function(responseData){this.onSaveFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveFormTemplateFaild(statusCode,errorMessage)}.bind(this));},createAndLoadShareDialog:function(name,type,template){var request=new NetworkRequest();var params="name="+name+"&type="+type+"&template="+template;request.postRequest(Globals.ServicesURL.createFormTemplateURL,params,function(responseData){this.onCreateAndLoadShareDialogSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateAndLoadShareDialogFaild(statusCode,errorMessage)}.bind(this));},createFormTemplate:function(name,type,template){var request=new NetworkRequest();var params="name="+name+"&type="+type+"&template="+template;request.postRequest(Globals.ServicesURL.createFormTemplateURL,params,function(responseData){this.onCreateFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onCreateFormTemplateFaild(statusCode,errorMessage)}.bind(this));},deleteFormTemplate:function(templateID){var request=new NetworkRequest();var params="ftid="+templateID;request.postRequest(Globals.ServicesURL.deleteFormTemplateURL,params,function(responseData){this.onDeleteFormTemplateSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteFormTemplateFaild(statusCode,errorMessage)}.bind(this));},getFormTemplateAccessList:function(templateID,listType){var request=new NetworkRequest();var params="ftid="+templateID+"&list_type="+listType;request.postRequest(Globals.ServicesURL.getFormTemplateAccessListURL,params,function(responseData){this.onGetFormTemplateAccessListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetFormTemplateAccessListFailed(statusCode,errorMessage)}.bind(this));},updateFormTemplateAccessList:function(templateID,listType,accessRights,singleUserResponseRequired,singleDepartmentResponseRequired,singleTeamResponseRequired){var request=new NetworkRequest();var users=JSON.stringify(accessRights.users);var departments=JSON.stringify(accessRights.departments);var teams=JSON.stringify(accessRights.teams);var params="ftid="+templateID+"&list_type="+listType+"&users="+users+"&departments="+departments+"&teams="+teams+"&single_user_response_required="+singleUserResponseRequired+"&single_department_response_required="+singleDepartmentResponseRequired+"&single_team_response_required="+singleTeamResponseRequired;request.postRequest(Globals.ServicesURL.updateFormTemplateAccessListURL,params,function(responseData){this.onUpdateFormTemplateAccessListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFormTemplateAccessListFailed(statusCode,errorMessage)}.bind(this));},setAnonymousFormTemplateResponses:function(templateID,isAnonymous){var request=new NetworkRequest();var params="ftid="+templateID+"&anonymous="+isAnonymous;request.postRequest(Globals.ServicesURL.setAnonymousFormResponsesURL,params,function(responseData){this.onSetAnonymousFormTemplateResponsesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSetAnonymousFormTemplateResponsesFailed(statusCode,errorMessage)}.bind(this));},updateFormTemplateStars:function(templateID,accessRights){var request=new NetworkRequest();var users=JSON.stringify(accessRights.users);var departments=JSON.stringify(accessRights.departments);var teams=JSON.stringify(accessRights.teams);var params="ftid="+templateID+"&users="+users+"&departments="+departments+"&teams="+teams;request.postRequest(Globals.ServicesURL.updateFormTemplateStarsURL,params,function(responseData){this.onUpdateFormTemplateStarsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFormTemplateStarsFailed(statusCode,errorMessage)}.bind(this));},updateFormTemplateBookmarks:function(templateID,accessRights){var request=new NetworkRequest();var users=JSON.stringify(accessRights.users);var departments=JSON.stringify(accessRights.departments);var teams=JSON.stringify(accessRights.teams);var params="ftid="+templateID+"&users="+users+"&departments="+departments+"&teams="+teams;request.postRequest(Globals.ServicesURL.updateFormTemplateBookmarksURL,params,function(responseData){this.onUpdateFormTemplateBookmarksSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateFormTemplateBookmarksFailed(statusCode,errorMessage)}.bind(this));},onGetFormTemplateSuccess:function(responseData){var data=JSON.parse(responseData);this.initForm(data);if(this.startupData!=null&&this.startupData.duplicateForm!=undefined&&this.startupData.duplicateForm==true){this.duplicate();this.startupData=null;}},onGetFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSaveFormTemplateSuccess:function(responseData){this.dismiss();},onSaveFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateAndLoadShareDialogSuccess:function(responseData){var data=JSON.parse(responseData);this.ftid=data.ftid;this.creatorUID=data.creator_uid;this.showShareDialog();},onCreateAndLoadShareDialogFaild(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateFormTemplateSuccess:function(responseData){this.dismiss();},onCreateFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteFormTemplateSuccess:function(responseData){this.dismiss();},onDeleteFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetFormTemplateAccessListSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormShareDialogAccessList(data);},onGetFormTemplateAccessListFailed:function(){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFormTemplateAccessListSuccess:function(responseData){var data=JSON.parse(responseData);this.populateFormShareDialogAccessList(data);},onUpdateFormTemplateAccessListFailed:function(){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSetAnonymousFormTemplateResponsesSuccess:function(responseData){},onSetAnonymousFormTemplateResponsesFailed:function(){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFormTemplateBookmarksSuccess:function(responseData){},onUpdateFormTemplateBookmarksFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateFormTemplateStarsSuccess:function(responseData){},onUpdateFormTemplateStarsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var FormsmanagementView=JS.subClass(JSAppView,{name:"FormsmanagementView",title:"Daily Report - Forms Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),scrollPosition:0,currentPage:1,order:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.formTableTitleHolder=document.createElement('div');this.formTableTitleHolder.className="TableTitleHolder";this.formsTable=document.createElement('div');this.formsTable.className="TableHolder";this.tablePaginationHolder=document.createElement('div');this.tablePaginationHolder.className="FormsViewTablePaginationHolder";this.popupContainer=document.createElement('div');this.popupContainer.id="FormsmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="FormsmanagementViewPopUpContainerInnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].FormsmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"form_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);this.innerHolder.appendChild(this.formTableTitleHolder);this.innerHolder.appendChild(this.formsTable);this.innerHolder.appendChild(this.tablePaginationHolder);domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;this.getFormTemplates();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space1=document.createElement("div");space1.className="Space1";searchBarHolder.appendChild(space1);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.totalFormsTitle=document.createElement('div');this.totalFormsTitle.className="InfoText";this.searchBarInfoHolder.appendChild(this.totalFormsTitle);this.totalFormsTitle.innerHTML="";var space2=document.createElement("div");space2.className="Space2";searchBarHolder.appendChild(space2);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].FormsmanagementViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){this.currentPage=1;if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value,this.order,this.currentPage);}else if(this.searchFieldInput.value.length==0){this.search(null,this.order,this.currentPage);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.currentPage=1;this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null,this.order,this.currentPage);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/form_template_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].FormsmanagementViewTitleBarMenu.CreateFormButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i0?this.searchFieldInput.value:null);this.getFormTemplates(search,orderBy,page);},search:function(search=null,order=null,page=1){this.getFormTemplates(search,order,page);},populateFormsTable:function(data){this.buildFormsTable(data);this.buildPaginationFooter(data);},buildFormsTable:function(data){this.formsTable.innerHTML="";this.formTableItems=Array();this.allMenus=Array();var forms=data.forms;var statuses=(data.form_statuses!=undefined&&data.form_statuses!=null?data.form_statuses:null);this.formStatuses=new Array();if(statuses!=null){for(var i=0;i"+formItem.nameTitle+"":(formItem.name!=undefined&&formItem.name!=null?formItem.name:""));formTableItem.appendChild(formName);if(formItem.isTitle!=undefined&&formItem.isTitle==true){formName.classList.add("Clickable");formName.addEventListener('click',function(){this.reorderTable('name');}.bind(this));} var creatorProfilePicture=document.createElement('div');creatorProfilePicture.className="ProfilePicture";creatorProfilePicture.style.backgroundImage=(formItem.creator_profile_picture!=undefined&&formItem.creator_profile_picture!=null?"url('"+formItem.creator_profile_picture+"')":"");var createdBy=document.createElement('div');createdBy.className="Username";createdBy.innerHTML=(formItem.creatorTitle!=undefined&&formItem.creatorTitle!=null?""+formItem.creatorTitle+"":(formItem.creator_firstname!=undefined&&formItem.creator_firstname!=null?formItem.creator_firstname:"")+(formItem.creator_lastname!=undefined&&formItem.creator_lastname!=null?" "+formItem.creator_lastname:""));if(formItem.isTitle!=true){var createdByHolder=document.createElement('div');createdByHolder.className="TableItemHolder";formTableItem.appendChild(createdByHolder);var createdByTitle=document.createElement('div');createdByTitle.className="TableItemTitle";createdByTitle.innerHTML=s[l].FormsViewFormsTableCreatorTitle+":";createdByHolder.appendChild(createdByTitle);createdByHolder.appendChild(creatorProfilePicture);createdByHolder.appendChild(createdBy);}else{formTableItem.appendChild(creatorProfilePicture);formTableItem.appendChild(createdBy);} if(formItem.isTitle!=undefined&&formItem.isTitle==true){createdBy.classList.add("Clickable");createdBy.addEventListener('click',function(){this.reorderTable('creator');}.bind(this));}else{var emptyPlaceHolder=document.createElement('div');emptyPlaceHolder.className="TableItemHolder";formTableItem.appendChild(emptyPlaceHolder);} var creationTime=document.createElement('div');creationTime.className="Time";creationTime.classList.add("CreationTime");creationTime.innerHTML=(formItem.creationTimeTitle!=undefined&&formItem.creationTimeTitle!=null?""+formItem.creationTimeTitle+"":(formItem.creation_time!=undefined&&formItem.creation_time!=null?Date.getTimeString(formItem.creation_time)+" "+Date.getDateString(formItem.creation_time):""));if(formItem.isTitle!=true){var creationTimeHolder=document.createElement('div');creationTimeHolder.className="TableItemHolder";formTableItem.appendChild(creationTimeHolder);var creationTimeTitle=document.createElement('div');creationTimeTitle.className="TableItemTitle";creationTimeTitle.innerHTML=s[l].FormsViewFormsTableCreationTimeTitle+":";creationTimeHolder.appendChild(creationTimeTitle);creationTimeHolder.appendChild(creationTime);}else{formTableItem.appendChild(creationTime);} if(formItem.isTitle!=undefined&&formItem.isTitle==true){creationTime.style.cursor="pointer";creationTime.classList.add("Clickable");creationTime.addEventListener('click',function(){this.reorderTable('creation_time');}.bind(this));} var lastModified=document.createElement('div');lastModified.className="Time";lastModified.classList.add("LastModified");lastModified.innerHTML=(formItem.lastModifiedTitle!=undefined&&formItem.lastModifiedTitle!=null?""+formItem.lastModifiedTitle+"":(formItem.last_modified!=undefined&&formItem.last_modified!=null?Date.getTimeString(formItem.last_modified)+" "+Date.getDateString(formItem.last_modified):""));if(formItem.isTitle!=true){var lastModifiedHolder=document.createElement('div');lastModifiedHolder.className="TableItemHolder";formTableItem.appendChild(lastModifiedHolder);var lastModifiedTitle=document.createElement('div');lastModifiedTitle.className="TableItemTitle";lastModifiedTitle.innerHTML=s[l].FormsViewFormsTableLastModifiedTitle+":";lastModifiedHolder.appendChild(lastModifiedTitle);lastModifiedHolder.appendChild(lastModified);}else{formTableItem.appendChild(lastModified);} if(formItem.isTitle!=undefined&&formItem.isTitle==true){lastModified.classList.add("Clickable");lastModified.addEventListener('click',function(){this.reorderTable('last_modified');}.bind(this));} if(s[l].Direction=="rtl")formTableItem.classList.add('TableItem_rtl');else formTableItem.classList.remove('TableItem_rtl');if(formItem.isTitle==undefined||formItem.isTitle==false){var menuButton=document.createElement("div");menuButton.className="MenuButton";formTableItem.appendChild(menuButton);var menu=this.buildTableItemMenu(formItem);menuButton.appendChild(menu);menuButton.addEventListener("click",function(e){e.preventDefault();e.stopPropagation();if(this.menu.style.display!="block"){this.delegate.hideTitleBarMenu();this.delegate.hideAllTableItemMenues();this.menu.style.display="block";}else{this.menu.style.display="none";}}.bind({delegate:this,menu:menu}));} return formTableItem;},buildTableItemMenu:function(data){var items=[];items.push({title:s[l].FormtemplatesViewFormsTemplateTableItemMenu.DuplicateButtonTitleText,icon:"/assets/images/icons/copy_document_black.svg",action:"FormsmanagementView.onDuplicateFormTemplatePressed("+data.ftid+")"});if(parseInt(Application.sessionManager.sessionData.uid)==parseInt(data.creator_uid)){items.push({title:s[l].FormtemplatesViewFormsTemplateTableItemMenu.EditButtonTitleText,icon:"/assets/images/icons/edit_black.svg",action:"FormsmanagementView.onEditFormTemplatePressed("+data.ftid+")"});items.push({title:s[l].FormtemplatesViewFormsTemplateTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"FormsmanagementView.onDeleteFormTemplatePressed("+data.ftid+")"});} var menu=document.createElement('div');menu.className="TableItemMenu";if(s[l].Direction=="rtl")menu.classList.add('TableItemMenu_rtl');for(var i=0;i0?this.searchFieldInput.value:null);this.getFormTemplates(searchValue,this.order,this.currentPage);}.bind(this));var pageInfoHolder=document.createElement('div');pageInfoHolder.className="PageInfoHolder";pageInfoHolder.innerHTML=currentPage+" / "+((totalItems%limit)>0?parseInt(totalItems/limit)+1:parseInt(totalItems/limit));paginationInnerHolder.appendChild(pageInfoHolder);var nextButton=document.createElement('div');nextButton.className="NextPageButton";paginationInnerHolder.appendChild(nextButton);if((currentPage*limit)>=totalItems){nextButton.style.opacity="0.0";nextButton.style.pointerEvents="none";} nextButton.addEventListener('click',function(){if((this.currentPage*limit)>totalItems)return;this.currentPage=this.currentPage+1;var searchValue=(this.searchFieldInput.value.length>0?this.searchFieldInput.value:null);this.getFormTemplates(searchValue,this.order,this.currentPage);}.bind(this));if(s[l].Direction=="rtl"){nextButton.classList.add("NextPageButton_rtl");previousButton.classList.add("PreviousPageButton_rtl");}else{nextButton.classList.remove("NextPageButton_rtl");previousButton.classList.remove("PreviousPageButton_rtl");}},hideAllTableItemMenues:function(){if(this.allMenus!=null)for(var i=0;i0?this.searchFieldInput.value:null);this.getFormTemplates(search,this.order,this.currentPage);},onDeleteFormTemplateFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var GroupeditorView=JS.subClass(JSAppView,{STATES:{DEPARTMENT:1,TEAM:2},name:"GroupeditorView",title:"Daily Report - Group editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,groupID:null,groupData:null,state:null,inEditMode:false,allMenus:new Array(),init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.topOfPageIcon=document.createElement('div');this.topOfPageIcon.className="TopOfPageIcon";this.groupIDTitle=document.createElement("div");this.groupIDTitle.className="GroupeditorViewGroupIDTitle";this.groupTitleText=document.createElement("div");this.groupTitleText.id="GroupeditorViewGroupTitleText";this.groupTitleText.className="InputTitle";this.groupTitle=document.createElement("input");this.groupTitle.type="text";this.groupTitle.id="GroupeditorViewGroupTitle";this.groupDescriptionText=document.createElement("div");this.groupDescriptionText.id="GroupeditorViewGroupDescriptionText";this.groupDescriptionText.className="InputTitle";this.groupDescription=document.createElement("input");this.groupDescription.type="text";this.groupDescription.id="GroupeditorViewGroupDescription";this.usersListTable=document.createElement("div");this.usersListTable.className="UserListTable";this.usersListTableSearchBar=document.createElement("div");this.usersListTableSearchBar.className="SearchBar";this.usersListTitle=document.createElement("div");this.usersListTitle.className="UserListTitle";this.usersListTitleIcon=document.createElement("div");this.usersListTitleIcon.className="UserListIcon";this.usersListTableSearchBarSearchField=document.createElement("div");this.usersListTableSearchBarSearchField.className="SearchField";this.usersListTableSearchBarSearchIcon=document.createElement("div");this.usersListTableSearchBarSearchIcon.className="SearchIcon";this.usersListTableSearchInput=document.createElement("input");this.usersListTableSearchInput.type="text";this.usersListTableSearchBarClearButton=document.createElement("div");this.usersListTableSearchBarClearButton.className="SearchBarClearButton";this.usersListTableUsersHolder=document.createElement("div");this.usersListTableUsersHolder.className="UserListTableUsersHolder";this.managersListTable=document.createElement("div");this.managersListTable.className="UserListTable";this.managersListTableSearchBar=document.createElement("div");this.managersListTableSearchBar.className="SearchBar";this.managersListTitle=document.createElement("div");this.managersListTitle.className="UserListTitle";this.managersListTitleIcon=document.createElement("div");this.managersListTitleIcon.className="UserListIcon";this.managersListTableSearchBarSearchField=document.createElement("div");this.managersListTableSearchBarSearchField.className="SearchField";this.managersListTableSearchBarSearchIcon=document.createElement("div");this.managersListTableSearchBarSearchIcon.className="SearchIcon";this.managersListTableSearchInput=document.createElement("input");this.managersListTableSearchInput.type="text";this.managersListTableSearchBarClearButton=document.createElement("div");this.managersListTableSearchBarClearButton.className="SearchBarClearButton";this.managersListTableManagersHolder=document.createElement("div");this.managersListTableManagersHolder.className="UserListTableUsersHolder";},create:function(domView){this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"users_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.topOfPageIcon.style.backgroundImage="url("+Globals.iconsPath+"users_black.svg"+")";this.formHolder.appendChild(this.topOfPageIcon);this.formHolder.appendChild(this.groupIDTitle);this.formHolder.appendChild(this.groupTitleText);this.formHolder.appendChild(this.groupTitle);this.formHolder.appendChild(this.groupDescriptionText);this.formHolder.appendChild(this.groupDescription);this.innerHolder.appendChild(this.formHolder);this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchInput);this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchBarSearchIcon);this.usersListTableSearchBarSearchField.appendChild(this.usersListTableSearchBarClearButton);this.usersListTableSearchBar.appendChild(this.usersListTitleIcon);this.usersListTableSearchBar.appendChild(this.usersListTitle);this.usersListTableSearchBar.appendChild(this.usersListTableSearchBarSearchField);this.usersListTitle.innerHTML=s[l].GroupeditorViewMembersTableTitle;this.usersListTable.appendChild(this.usersListTableSearchBar);this.usersListTable.appendChild(this.usersListTableUsersHolder);this.formHolder.appendChild(this.usersListTable);this.usersListTableSearchBarClearButton.addEventListener('click',function(){this.usersListTableSearchInput.value="";this.usersListTableSearchBarClearButton.style.display="none";if(this.state==this.STATES.DEPARTMENT){this.getDepartmentMembers(this.groupID,null);}else if(this.state==this.STATES.TEAM){this.getTeamMembers(this.groupID,null);}}.bind(this));this.usersListTableSearchInput.placeholder=s[l].GroupeditorViewMembersTableSearchFieldPlaceholderText;this.usersListTableSearchInput.addEventListener("keyup",function(event){if(this.usersListTableSearchInput.value.length>1){if(this.state==this.STATES.DEPARTMENT){this.getDepartmentMembers(this.groupID,this.usersListTableSearchInput.value);}else if(this.state==this.STATES.TEAM){this.getTeamMembers(this.groupID,this.usersListTableSearchInput.value);}}else if(this.usersListTableSearchInput.value.length==0){if(this.state==this.STATES.DEPARTMENT){this.getDepartmentMembers(this.groupID,null);}else if(this.state==this.STATES.TEAM){this.getTeamMembers(this.groupID,null);}} if(this.usersListTableSearchInput.value.length>0){this.usersListTableSearchBarClearButton.style.display="block";}else{this.usersListTableSearchBarClearButton.style.display="none";}}.bind(this));this.managersListTableSearchBarSearchField.appendChild(this.managersListTableSearchInput);this.managersListTableSearchBarSearchField.appendChild(this.managersListTableSearchBarSearchIcon);this.managersListTableSearchBarSearchField.appendChild(this.managersListTableSearchBarClearButton);this.managersListTableSearchBar.appendChild(this.managersListTitleIcon);this.managersListTableSearchBar.appendChild(this.managersListTitle);this.managersListTableSearchBar.appendChild(this.managersListTableSearchBarSearchField);this.managersListTable.appendChild(this.managersListTableSearchBar);this.managersListTable.appendChild(this.managersListTableManagersHolder);this.formHolder.appendChild(this.managersListTable);this.managersListTableSearchBarClearButton.addEventListener('click',function(){this.managersListTableSearchInput.value="";this.managersListTableSearchBarClearButton.style.display="none";if(this.state==this.STATES.DEPARTMENT){this.getDepartmentManagers(this.groupID,null);}else if(this.state==this.STATES.TEAM){this.getTeamAdmins(this.groupID,null);}}.bind(this));this.managersListTableSearchInput.placeholder=s[l].GroupeditorViewMembersTableSearchFieldPlaceholderText;this.managersListTableSearchInput.addEventListener("keyup",function(event){if(this.managersListTableSearchInput.value.length>1){if(this.state==this.STATES.DEPARTMENT){this.getDepartmentManagers(this.groupID,this.managersListTableSearchInput.value);}else if(this.state==this.STATES.TEAM){this.getTeamAdmins(this.groupID,this.managersListTableSearchInput.value);}}else if(this.managersListTableSearchInput.value.length==0){if(this.state==this.STATES.DEPARTMENT){this.getDepartmentManagers(this.groupID,null);}else if(this.state==this.STATES.TEAM){this.getTeamAdmins(this.groupID,null);}} if(this.managersListTableSearchInput.value.length>0){this.managersListTableSearchBarClearButton.style.display="block";}else{this.managersListTableSearchBarClearButton.style.display="none";}}.bind(this));domView.appendChild(this.innerHolder);},start:function(data=null){this.groupIDTitle.innerHTML="";this.groupTitle.value="";this.groupDescription.value="";this.usersListTableSearchInput.value="";this.usersListTableSearchBarClearButton.style.display="none";this.managersListTableSearchInput.value="";this.managersListTableSearchBarClearButton.style.display="none";this.groupID=(data!=null&&data.gid!=undefined?data.gid:null);this.groupData=null;var state=data.state;this.state=(state==this.STATES.DEPARTMENT?this.STATES.DEPARTMENT:(state==this.STATES.TEAM?this.STATES.TEAM:null));if(this.state==this.STATES.DEPARTMENT){this.groupTitleText.innerHTML=s[l].GroupeditorViewDepartmentTitleText;this.groupDescriptionText.innerHTML=s[l].GroupeditorViewDepartmentDescriptionText;this.managersListTitle.innerHTML=s[l].GroupeditorViewManagersTableTitle;}else if(this.state==this.STATES.TEAM){this.groupTitleText.innerHTML=s[l].GroupeditorViewTeamTitleText;this.groupDescriptionText.innerHTML=s[l].GroupeditorViewTeamDescriptionText;this.managersListTitle.innerHTML=s[l].GroupeditorViewAdminsTableTitle} if(this.groupID!=null){this.inEditMode=true;if(this.state==this.STATES.DEPARTMENT){this.titleBarText.innerHTML=s[l].GroupeditorViewEditDepartmentTitleText;this.groupIDTitle.innerHTML=(this.groupID!=null?s[l].GroupeditorViewDepartmentIDText+": "+this.groupID:"");this.getDepartmentData(this.groupID);}else if(this.state==this.STATES.TEAM){this.titleBarText.innerHTML=s[l].GroupeditorViewEditTeamTitleText;this.groupIDTitle.innerHTML=(this.groupID!=null?s[l].GroupeditorViewTeamIDText+": "+this.groupID:"");this.getTeamData(this.groupID);}}else{this.inEditMode=false;if(this.state==this.STATES.DEPARTMENT){this.titleBarText.innerHTML=s[l].GroupeditorViewAddDepartmentTitleText;}else if(this.state==this.STATES.TEAM){this.titleBarText.innerHTML=s[l].GroupeditorViewAddTeamTitleText;}} if(this.state==this.STATES.DEPARTMENT){this.getDepartmentMembers(this.groupID,null);}else if(this.state==this.STATES.TEAM){this.getTeamMembers(this.groupID,null);}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){var items=[{title:s[l].GroupeditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"GroupeditorView.new();"},{title:s[l].GroupeditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"GroupeditorView.save();"},{title:s[l].GroupeditorViewTitleBarMenu.DuplicateButtonTitleText,icon:"/assets/images/icons/copy_document_black.svg",action:"GroupeditorView.duplicate();"},{title:s[l].GroupeditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"GroupeditorView.delete();"},{title:s[l].GroupeditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"GroupeditorView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0&&search!=null?"&":"") params+=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getTeamMembersURL,params,function(responseData){this.onGetTeamMembersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTeamMembersFailed(statusCode,errorMessage)}.bind(this));},getTeamAdmins:function(tid=null,search=null){var request=new NetworkRequest();var params=(tid!=null?"tid="+tid:"");params+=(params.length>0&&search!=null?"&":"") params+=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getTeamAdminsURL,params,function(responseData){this.onGetTeamAdminsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTeamAdminsFailed(statusCode,errorMessage)}.bind(this));},getDepartmentMembers:function(did=null,search=null){var request=new NetworkRequest();var params=(did!=null?"did="+did:"");params+=(params.length>0&&search!=null?"&":"") params+=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getDepartmentMembersURL,params,function(responseData){this.onGetDepartmentMembersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetDepartmentMembersFailed(statusCode,errorMessage)}.bind(this));},getDepartmentManagers:function(did=null,search=null){var request=new NetworkRequest();var params=(did!=null?"did="+did:"");params+=(params.length>0&&search!=null?"&":"") params+=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getDepartmentManagersURL,params,function(responseData){this.onGetDepartmentManagersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetDepartmentManagersFailed(statusCode,errorMessage)}.bind(this));},updateTeamMembers:function(tid,uid,isSelected){var request=new NetworkRequest();var params="tid="+tid+"&uid="+uid+"&selected="+isSelected;request.postRequest(Globals.ServicesURL.updateTeamMembersURL,params,function(responseData){this.onUpdateTeamMembersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateTeamMembersFailed(statusCode,errorMessage)}.bind(this));},updateDepartmentMembers:function(did,uid,isSelected){var request=new NetworkRequest();var params="did="+did+"&uid="+uid+"&selected="+isSelected;request.postRequest(Globals.ServicesURL.updateDepartmentMembersURL,params,function(responseData){this.onUpdateDepartmentMembersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateDepartmentMembersFailed(statusCode,errorMessage)}.bind(this));},updateTeamAdmins:function(tid,uid,isSelected){var request=new NetworkRequest();var params="tid="+tid+"&uid="+uid+"&selected="+isSelected;request.postRequest(Globals.ServicesURL.updateTeamAdminsURL,params,function(responseData){this.onUpdateTeamAdminsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateTeamAdminsFailed(statusCode,errorMessage)}.bind(this));},updateDepartmentManagers:function(did,uid,isSelected){var request=new NetworkRequest();var params="did="+did+"&uid="+uid+"&selected="+isSelected;request.postRequest(Globals.ServicesURL.updateDepartmentManagersURL,params,function(responseData){this.onUpdateDepartmentManagersSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateDepartmentManagersFailed(statusCode,errorMessage)}.bind(this));},onCreateTeamSuccess:function(responseData){this.dismiss();},onCreateTeamFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onCreateDepartmentSuccess:function(responseData){this.dismiss();},onCreateDepartmentFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateTeamSuccess:function(responseData){this.dismiss();},onUpdateTeamFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateDepartmentSuccess:function(responseData){this.dismiss();},onUpdateDepartmentFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetDepartmentDataSuccess:function(responseData){var data=JSON.parse(responseData);this.populateForm(data)},onGetDepartmentDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetTeamDataSuccess:function(responseData){var data=JSON.parse(responseData);this.populateForm(data)},onGetTeamDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteTeamSuccess:function(responseData){this.dismiss();},onDeleteTeamFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteDepartmentSuccess:function(responseData){this.dismiss();},onDeleteDepartmentFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetTeamMembersSuccess:function(responseData){var data=JSON.parse(responseData);this.populateUserListTable(data);this.populateManagersListTable(data);},onGetTeamMembersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetTeamAdminsSuccess:function(responseData){var data=JSON.parse(responseData);this.populateManagersListTable(data);},onGetTeamAdminsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetDepartmentMembersSuccess:function(responseData){var data=JSON.parse(responseData);this.populateUserListTable(data);this.populateManagersListTable(data);},onGetDepartmentMembersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetDepartmentManagersSuccess:function(responseData){var data=JSON.parse(responseData);this.populateManagersListTable(data);},onGetDepartmentManagersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateTeamMembersSuccess:function(responseData){this.getTeamAdmins(this.groupID,null);},onUpdateTeamMembersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateDepartmentMembersSuccess:function(responseData){this.getDepartmentManagers(this.groupID,null);},onUpdateDepartmentMembersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateTeamAdminsSuccess:function(responseData){},onUpdateTeamAdminsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateDepartmentManagersSuccess:function(responseData){},onUpdateDepartmentManagersFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},});var GroupmanagementView=JS.subClass(JSAppView,{name:"GroupmanagementView",title:"Daily Report - Groups Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),scrollPosition:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.popupContainer=document.createElement('div');this.popupContainer.id="GroupmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="GroupmanagementViewPopUpContainerInnerHolder";this.tablesHolder=document.createElement('div');this.tablesHolder.id="GroupmanagementViewTablesHolder";this.departmentsTableHolder=document.createElement('div');this.departmentsTableHolder.id="GroupmanagementViewDepartmentsTableHolder";this.departmentsTitleHolder=document.createElement('div');this.departmentsTitleHolder.id="GroupmanagementViewDepartmentsTitleHolder";this.departmentsTitle=document.createElement('div');this.departmentsTitle.id="GroupmanagementViewDepartmentsTitle";this.departmentsTitleHolderInfoHolder=document.createElement('div');this.departmentsTitleHolderInfoHolder.className="InfoHolder";this.departmentsInfoText=document.createElement('div');this.departmentsInfoText.className="InfoText";this.departmentsInfoText.innerHTML="";this.departmentsTable=document.createElement('div');this.departmentsTable.id="GroupmanagementViewDepartmentsTable";this.teamsTableHolder=document.createElement('div');this.teamsTableHolder.id="GroupmanagementViewTeamsTableHolder";this.teamsTitleHolder=document.createElement('div');this.teamsTitleHolder.id="GroupmanagementViewTeamsTitleHolder";this.teamsTitle=document.createElement('div');this.teamsTitle.id="GroupmanagementViewTeamsTitle";this.teamsTitleHolderInfoHolder=document.createElement('div');this.teamsTitleHolderInfoHolder.className="InfoHolder";this.teamsInfoText=document.createElement('div');this.teamsInfoText.className="InfoText";this.teamsInfoText.innerHTML="";this.teamsTable=document.createElement('div');this.teamsTable.id="GroupmanagementViewTeamsTable";},create:function(domView){this.titleBarText.innerHTML=s[l].GroupmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"users_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);this.departmentsTitle.innerHTML=s[l].GroupmanagementViewDepartmentsTitleText;this.departmentsTitleHolder.appendChild(this.departmentsTitle);this.departmentsTitleHolder.appendChild(this.departmentsTitleHolderInfoHolder);this.departmentsTitleHolderInfoHolder.appendChild(this.departmentsInfoText);this.departmentsTableHolder.appendChild(this.departmentsTitleHolder);this.departmentsTableHolder.appendChild(this.departmentsTable);this.tablesHolder.appendChild(this.departmentsTableHolder);this.teamsTitle.innerHTML=s[l].GroupmanagementViewTeamsTitleText;this.teamsTitleHolder.appendChild(this.teamsTitle);this.teamsTitleHolder.appendChild(this.teamsTitleHolderInfoHolder);this.teamsTitleHolderInfoHolder.appendChild(this.teamsInfoText);this.teamsTableHolder.appendChild(this.teamsTitleHolder);this.teamsTableHolder.appendChild(this.teamsTable);this.tablesHolder.appendChild(this.teamsTableHolder);if(s[l].Direction=="rtl"){this.teamsTable.classList.add('GroupmanagementViewTeamsTable_rtl');this.departmentsTable.classList.add('GroupmanagementViewTeamsTable_rtl');}else{this.teamsTable.classList.remove('GroupmanagementViewTeamsTable_rtl');this.departmentsTable.classList.remove('GroupmanagementViewTeamsTable_rtl');} this.innerHolder.appendChild(this.tablesHolder);domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;this.getTeamsData();this.getDepartmentsData();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space=document.createElement("div");space.className="Space";searchBarHolder.appendChild(space);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].GroupmanagementViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/group_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].GroupmanagementViewTitleBarMenu.CreateDepartmentTemplateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateDepartmentButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/group_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].GroupmanagementViewTitleBarMenu.CreateTeamTemplateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTeamButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i0&&search.length<20?"&search="+search:"");request.postRequest(Globals.ServicesURL.getTeamsDataURL,params,function(responseData){this.onGetTeamsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetTeamsDataFailed(statusCode,errorMessage)}.bind(this));},getDepartmentsData:function(search=null){var request=new NetworkRequest();var params=(search!=null&&search.length>0&&search.length<20?"&search="+search:"");request.postRequest(Globals.ServicesURL.getDepartmentsDataURL,params,function(responseData){this.onGetDepartmentsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetDepartmentsDataFailed(statusCode,errorMessage)}.bind(this));},deleteTeam:function(tid){var request=new NetworkRequest();var params="tid="+tid;request.postRequest(Globals.ServicesURL.deleteTeamURL,params,function(responseData){this.onDeleteTeamSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteTeamFailed(statusCode,errorMessage)}.bind(this));},deleteDepartment:function(did){var request=new NetworkRequest();var params="did="+did;request.postRequest(Globals.ServicesURL.deleteDepartmentURL,params,function(responseData){this.onDeleteDepartmentSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteDepartmentFailed(statusCode,errorMessage)}.bind(this));},onDismissDialogView:function(){this.dismissDialog();var search=this.searchFieldInput.value;this.getTeamsData(search);this.getDepartmentsData(search);},onGetTeamsDataSuccess:function(responseData){this.populateTeamsTable(JSON.parse(responseData));},onGetTeamsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onGetDepartmentsDataSuccess:function(responseData){this.populateDepartmentsTable(JSON.parse(responseData));},onGetDepartmentsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteTeamSuccess:function(responseData){var search=this.searchFieldInput.value;this.getTeamsData(search);this.getDepartmentsData(search);},onDeleteTeamFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteDepartmentSuccess:function(responseData){var search=this.searchFieldInput.value;this.getTeamsData(search);this.getDepartmentsData(search);},onDeleteDepartmentFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var KioskeditorView=JS.subClass(JSAppView,{name:"KioskeditorView",title:"Daily Report - Kiosk editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),kid:null,lid:null,type:1,requiresAccessSettings:false,scrollKiosk:0,shareSettingsDialog:null,accessRights:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="KioskeditorViewTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="KioskeditorViewInnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.topOfPageIcon=document.createElement('div');this.topOfPageIcon.className="TopOfPageIcon";this.kioskIDTitle=document.createElement("div");this.kioskIDTitle.className="KioskeditorViewKioskIDTitle";this.kioskLocationTitleText=document.createElement("div");this.kioskLocationTitleText.className="InputTitle";this.locationsSelectionDropdown=document.createElement('div');this.locationsSelectionDropdown.className="LocationsSelectionDropdown";this.kioskTitleText=document.createElement("div");this.kioskTitleText.className="InputTitle";this.kioskTitle=document.createElement("input");this.kioskTitle.type="text";this.kioskTitle.id="KioskeditorViewKioskTitle";this.kioskDescriptionText=document.createElement("div");this.kioskDescriptionText.id="KioskeditorViewKioskAddressText";this.kioskDescriptionText.className="InputTitle";this.kioskDescription=document.createElement("input");this.kioskDescription.type="text";this.kioskDescription.id="KioskeditorViewKioskDescription";this.kioskTypeTitleText=document.createElement("div");this.kioskTypeTitleText.className="InputTitle";this.kioskTypeSelectionDropdown=document.createElement('div');this.kioskTypeSelectionDropdown.className="KioskTypeSelectionDropdown";this.kioskAccessSettingsTitleText=document.createElement("div");this.kioskAccessSettingsTitleText.className="InputTitle";this.kioskAccessSettingsButton=document.createElement('div');this.kioskAccessSettingsButton.className="KioskAccessSettingsButton";this.kioskUsernameTitleText=document.createElement("div");this.kioskUsernameTitleText.id="KioskeditorViewKioskUsernameTitleText";this.kioskUsernameTitleText.className="InputTitle";this.kioskUsername=document.createElement("input");this.kioskUsername.type="text";this.kioskUsername.id="KioskeditorViewKioskUsername";this.kioskPasswordTitleText=document.createElement("div");this.kioskPasswordTitleText.id="KioskeditorViewKioskPasswordTitleText";this.kioskPasswordTitleText.className="InputTitle";this.kioskPassword=document.createElement("input");this.kioskPassword.type="password";this.kioskPassword.id="KioskeditorViewKioskPassword";this.shareSettingsDialogContainer=document.createElement('div');this.shareSettingsDialogContainer.className="ShareSettingsDialogContainer";},create:function(domView){if(s[l].Direction=="rtl"){domView.classList.add('rtl');}else{domView.classList.remove('rtl');} this.titleBarText.innerHTML=s[l].KioskeditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"kiosk_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.topOfPageIcon.style.backgroundImage="url("+Globals.iconsPath+"kiosk_black.svg"+")";this.formHolder.appendChild(this.topOfPageIcon);this.formHolder.appendChild(this.kioskIDTitle);this.formHolder.appendChild(this.kioskTitleText);this.formHolder.appendChild(this.kioskTitle);this.formHolder.appendChild(this.kioskDescriptionText);this.formHolder.appendChild(this.kioskDescription);this.formHolder.appendChild(this.kioskLocationTitleText);this.formHolder.appendChild(this.locationsSelectionDropdown);this.formHolder.appendChild(this.kioskTypeTitleText);this.formHolder.appendChild(this.kioskTypeSelectionDropdown);this.formHolder.appendChild(this.kioskAccessSettingsTitleText);this.formHolder.appendChild(this.kioskAccessSettingsButton);this.formHolder.appendChild(this.kioskUsernameTitleText);this.formHolder.appendChild(this.kioskUsername);this.formHolder.appendChild(this.kioskPasswordTitleText);this.formHolder.appendChild(this.kioskPassword);this.innerHolder.appendChild(this.formHolder);this.kioskLocationTitleText.innerHTML=s[l].KioskeditorViewKioskLocationTitleText+":";this.kioskTitleText.innerHTML=s[l].KioskeditorViewKioskTitleText+":";this.kioskDescriptionText.innerHTML=s[l].KioskeditorViewKioskDescriptionText+":";this.kioskTypeTitleText.innerHTML=s[l].KioskeditorViewKioskTypeTitleText+":";this.kioskAccessSettingsTitleText.innerHTML=s[l].KioskeditorViewKioskAccessSettingsTitleText+":";this.kioskAccessSettingsButton.innerHTML=s[l].KioskeditorViewKioskAccessSettingsButtonText;this.kioskUsernameTitleText.innerHTML=s[l].KioskeditorViewKioskUsernameText+":";this.kioskPasswordTitleText.innerHTML=s[l].KioskeditorViewKioskPasswordText+":";this.kioskAccessSettingsButton.addEventListener('click',function(){if(this.kid!=null)this.getKioskAccessPermissions(this.kid,this.type);else{this.shareSettingsDialog.present(null,[],[],[]);}}.bind(this));domView.appendChild(this.innerHolder);domView.appendChild(this.shareSettingsDialogContainer);this.shareSettingsDialog=new ShareSettingsDialog(this.shareSettingsDialogContainer,this);},start:function(data=null){this.clear();this.shareSettingsDialog.dismiss();if(data!=null&&data.kid!=undefined){this.kid=data.kid;this.getKioskData(this.kid);}else{this.getKioskData(null);}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},clear:function(){this.kid=null;this.lid=null;this.kioskIDTitle.innerHTML="";this.kioskTitle.value="";this.kioskDescription.value="" this.kioskUsername.value="";this.kioskPassword.value="";},buildTitleBarMenu:function(){var items=[{title:s[l].KioskeditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"KioskeditorView.new();"},{title:s[l].KioskeditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"KioskeditorView.save();"},{title:s[l].KioskeditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"KioskeditorView.delete();"},{title:s[l].KioskeditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"KioskeditorView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0?this.kioskPassword.value:null);var users=null;var departments=null;var teams=null;if(this.accessRights!=null){users=JSON.stringify(this.accessRights.users);departments=JSON.stringify(this.accessRights.departments);teams=JSON.stringify(this.accessRights.teams);} this.saveKiosk(kid,lid,type,title,description,username,password,users,departments,teams);},duplicate:function(){this.kid=null,this.kioskIDTitle.innerHTML="";},delete:function(){Alert.present(s[l].KioskeditorViewDeleteKioskAlert.Title,s[l].KioskeditorViewDeleteKioskAlert.Description,s[l].KioskeditorViewDeleteKioskAlert.Button1Title,s[l].KioskeditorViewDeleteKioskAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var kid=this.kid;this.deleteKiosk(kid);}else{}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},onShareSettingsDialogUpdate:function(resourceID,accessRights){if(this.kid!=null){this.updateKioskAccessPermissions(this.kid,this.type,JSON.stringify(accessRights.users),JSON.stringify(accessRights.departments),JSON.stringify(accessRights.teams));}else{this.accessRights={};this.accessRights.users=accessRights.users;this.accessRights.departments=accessRights.departments;this.accessRights.teams=accessRights.teams;}},saveKiosk:function(kid=null,lid=null,type=1,title=null,description=null,username=null,password=null,users=null,departments=null,teams=null){var request=new NetworkRequest();var params=(kid!=null?"kid="+kid+"&":"")+"lid="+lid+"&type="+type+"&title="+encodeURIComponent(title)+"&description="+encodeURIComponent(description)+(username!=null?"&username="+username:"")+(password!=null?"&password="+MD5(password):"")+"&users="+users+"&departments="+departments+"&teams="+teams;request.postRequest(Globals.ServicesURL.saveKioskDataURL,params,function(responseData){this.onSaveKioskDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveKioskDataFailed(statusCode,errorMessage)}.bind(this));},getKioskData:function(kid=null){var request=new NetworkRequest();var params=(kid!=null?"kid="+kid:"");request.postRequest(Globals.ServicesURL.getKioskDataURL,params,function(responseData){this.onGetKioskDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetKioskDataFailed(statusCode,errorMessage)}.bind(this));},deleteKiosk:function(kid){var request=new NetworkRequest();var params="kid="+kid;request.postRequest(Globals.ServicesURL.deleteKioskURL,params,function(responseData){this.onDeleteKioskSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteKioskFailed(statusCode,errorMessage)}.bind(this));},getKioskAccessPermissions:function(kid,type){var request=new NetworkRequest();var params="kid="+kid+"&type="+type;request.postRequest(Globals.ServicesURL.getKioskAccessPremissionsURL,params,function(responseData){this.onGetKioskAccessPermissionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetKioskAccessPermissionsFailed(statusCode,errorMessage)}.bind(this));},updateKioskAccessPermissions:function(kid,type,users,departments,teams){var request=new NetworkRequest();var params="kid="+kid+"&type="+type+"&users="+users+"&departments="+departments+"&teams="+teams;request.postRequest(Globals.ServicesURL.updateKioskAccessPremissionsURL,params,function(responseData){this.onUpdateKioskAccessPermissionsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateKioskAccessPermissionsFailed(statusCode,errorMessage)}.bind(this));},onSaveKioskDataSuccess:function(data){this.dismiss();},onSaveKioskDataFailed:function(statusCode,errorMessage){console.log("Failed to save kiosk");},onGetKioskDataSuccess:function(data){this.populateForm(JSON.parse(data));},onGetKioskDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteKioskSuccess:function(data){this.dismiss();},onDeleteKioskFailed:function(statusCode,errorMessage){this.dismiss();},onGetKioskAccessPermissionsSuccess:function(data){var users=[];var departments=[];var teams=[];var kid=this.kid;if(data!=null&&data!=="null"){var responseData=JSON.parse(data);users=(responseData.users!=undefined?responseData.users:[]);departments=(responseData.departments!=undefined?responseData.departments:[]);teams=(responseData.teams!=undefined?responseData.teams:[]);kid=responseData.kid;} this.shareSettingsDialog.present(kid,users,departments,teams);},onGetKioskAccessPermissionsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdateKioskAccessPermissionsSuccess:function(data){},onUpdateKioskAccessPermissionsFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var KiosksmanagementView=JS.subClass(JSAppView,{name:"KiosksmanagementView",title:"Daily Report - Events Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.kiosksTableHolder=document.createElement('div');this.kiosksTableHolder.className="KiosksmanagementViewKiosksTableHolder";this.kiosksTitleHolder=document.createElement('div');this.kiosksTitleHolder.className="KiosksmanagementViewKiosksTitleHolder";this.kiosksTitle=document.createElement('div');this.kiosksTitle.className="KiosksmanagementViewKiosksTitle";this.kiosksTable=document.createElement('div');this.kiosksTable.className="KiosksmanagementViewKiosksTable";this.popupContainer=document.createElement('div');this.popupContainer.className="KiosksmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.className="KiosksmanagementViewPopUpContainerInnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].KiosksmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"kiosk_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);this.kiosksTitle.innerHTML=s[l].KiosksmanagementViewKiosksTableTitleText;this.kiosksTitleHolder.appendChild(this.kiosksTitle);this.kiosksTableHolder.appendChild(this.kiosksTitleHolder);this.kiosksTableHolder.appendChild(this.kiosksTable);this.innerHolder.appendChild(this.kiosksTableHolder);if(s[l].Direction=="rtl")this.kiosksTableHolder.classList.add("rtl");else this.kiosksTableHolder.classList.remove("rtl");domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.getKioskList(null);this.startRefreshingContent();},stop:function(){if(this.refreshInterval!=null){clearInterval(this.refreshInterval);this.refreshInterval=null;}},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},onApplicationMovedToForeground:function(){this.getKioskList(null);this.startRefreshingContent();},onApplicationMovedToBackground:function(){if(this.refreshInterval!=null){clearInterval(this.refreshInterval);this.refreshInterval=null;}},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space1=document.createElement("div");space1.className="Space1";searchBarHolder.appendChild(space1);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.infoText=document.createElement('div');this.infoText.className="InfoText";this.searchBarInfoHolder.appendChild(this.infoText);this.infoText.innerHTML="";var space2=document.createElement("div");space2.className="Space2";searchBarHolder.appendChild(space2);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].KiosksmanagementViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/new_kiosk_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].KiosksmanagementViewTitleBarMenu.NewKioskButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuNewKioskButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i0){for(var i=0;i0?this.searchFieldInput.value:null);this.getKioskList(search);}.bind(this),Globals.KIOSK_MANAGEMENT_VIEW_REFRESH_INTERVAL);}},getKioskList:function(search=null){var request=new NetworkRequest();var params=(search!=null?"&search="+search:"");request.postRequest(Globals.ServicesURL.getKioskListURL,params,function(responseData){this.onGetKioskListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetKioskListFailed(statusCode,errorMessage)}.bind(this));},deleteKiosk:function(kid){var request=new NetworkRequest();var params="kid="+kid;request.postRequest(Globals.ServicesURL.deleteKioskURL,params,function(responseData){this.onDeleteKioskSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteKioskFailed(statusCode,errorMessage)}.bind(this));},onGetKioskListSuccess:function(responseData){var data=JSON.parse(responseData);this.populateKiosksTable(data);},onGetKioskListFailed:function(statusCode,errorMessage){},onDeleteKioskSuccess:function(responseData){this.getKioskList();},onDeleteKioskFailed:function(statusCode,errorMessage){}});var LocationeditorView=JS.subClass(JSAppView,{name:"LocationeditorView",title:"Daily Report - Location editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),lid:null,scrollLocation:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="LocationeditorViewTitlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="LocationeditorViewInnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.topOfPageIcon=document.createElement('div');this.topOfPageIcon.className="TopOfPageIcon";this.locationIDTitle=document.createElement("div");this.locationIDTitle.className="LocationeditorViewLocationIDTitle";this.locationTitleText=document.createElement("div");this.locationTitleText.id="LocationeditorViewLocationTitleText";this.locationTitleText.className="InputTitle";this.locationTitle=document.createElement("input");this.locationTitle.type="text";this.locationTitle.id="LocationeditorViewLocationTitle";this.locationAddressText=document.createElement("div");this.locationAddressText.id="LocationeditorViewLocationAddressText";this.locationAddressText.className="InputTitle";this.locationAddress=document.createElement("input");this.locationAddress.type="text";this.locationAddress.id="LocationeditorViewLocationAddress";this.setCurrentLocationButton=document.createElement('div');this.setCurrentLocationButton.className="CurrentLocationButton";this.locationLatitudeTitleText=document.createElement("div");this.locationLatitudeTitleText.id="LocationeditorViewLocationLatituedTitleText";this.locationLatitudeTitleText.className="InputTitle";this.locationLatitude=document.createElement("input");this.locationLatitude.type="text";this.locationLatitude.id="LocationeditorViewLocationLatitude";this.locationLongitudeTitleText=document.createElement("div");this.locationLongitudeTitleText.id="LocationeditorViewLocationLongitudeTitleText";this.locationLongitudeTitleText.className="InputTitle";this.locationLongitude=document.createElement("input");this.locationLongitude.type="text";this.locationLongitude.id="LocationeditorViewLocationLongitude";this.locationDistanceTitleText=document.createElement("div");this.locationDistanceTitleText.id="LocationeditorViewLocationDistanceTitleText";this.locationDistanceTitleText.className="InputTitle";this.locationDistance=document.createElement("input");this.locationDistance.type="text";this.locationDistance.id="LocationeditorViewLocationLongitudeDistance";this.showOnMapButton=document.createElement('div');this.showOnMapButton.className="ShowOnMapButton";this.mapHolder=document.createElement("div");this.mapHolder.id="LocationeditorViewMapHolder";this.mapHolder.className="LocationeditorViewMapHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].LocationeditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"domain_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.topOfPageIcon.style.backgroundImage="url("+Globals.iconsPath+"domain_black.svg"+")";this.formHolder.appendChild(this.topOfPageIcon);this.formHolder.appendChild(this.locationIDTitle);this.formHolder.appendChild(this.locationTitleText);this.formHolder.appendChild(this.locationTitle);this.formHolder.appendChild(this.locationDistanceTitleText);this.formHolder.appendChild(this.locationDistance);this.setCurrentLocationButton.innerHTML=s[l].LocationeditorViewSetCurrentLocationButtonTitleText;this.formHolder.appendChild(this.setCurrentLocationButton);this.setCurrentLocationButton.addEventListener('click',function(){this.getCurrentLocation();}.bind(this));this.formHolder.appendChild(this.locationAddressText);this.formHolder.appendChild(this.locationAddress);this.formHolder.appendChild(this.locationLatitudeTitleText);this.formHolder.appendChild(this.locationLatitude);this.formHolder.appendChild(this.locationLongitudeTitleText);this.formHolder.appendChild(this.locationLongitude);this.showOnMapButton.innerHTML=s[l].LocationeditorViewShowOnMapButtonTitleText;this.formHolder.appendChild(this.showOnMapButton);this.showOnMapButton.addEventListener('click',function(){this.showOnMap();}.bind(this));this.formHolder.appendChild(this.mapHolder);this.innerHolder.appendChild(this.formHolder);this.locationTitleText.innerHTML=s[l].LocationeditorViewLocationTitleText;this.locationAddressText.innerHTML=s[l].LocationeditorViewLocationAddressText;this.locationLatitudeTitleText.innerHTML=s[l].LocationeditorViewLocationLatitudeText;this.locationLongitudeTitleText.innerHTML=s[l].LocationeditorViewLocationLongitudeText;this.locationDistanceTitleText.innerHTML=s[l].LocationeditorViewLocationDistanceText;domView.appendChild(this.innerHolder);},start:function(data=null){this.clear();if(data!=null&&data.lid!=undefined){this.lid=data.lid;this.getLocationData(this.lid);}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},clear:function(){this.lid=null;this.locationIDTitle.innerHTML="";this.locationTitle.value="";this.locationAddress.value="" this.locationLatitude.value="";this.locationLongitude.value="";this.locationDistance.value="";this.mapHolder.style.backgroundImage="";this.showOnMapButton.innerHTML=s[l].LocationeditorViewShowOnMapButtonTitleText;},buildTitleBarMenu:function(){var items=[{title:s[l].LocationeditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"LocationeditorView.new();"},{title:s[l].LocationeditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"LocationeditorView.save();"},{title:s[l].LocationeditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"LocationeditorView.delete();"},{title:s[l].LocationeditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"LocationeditorView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i0&&this.locationLongitude.value.length>0){this.showOnMap();}},getCurrentLocation:function(){if(Application.location!=null){var coords=Application.location.coords;this.getAddress(coords.latitude,coords.longitude);}else{console.log("TODO: Implement alert here");}},populateAddressFields:function(addressData){this.locationAddress.value=addressData.address;this.locationLatitude.value=addressData.latitude;this.locationLongitude.value=addressData.longitude},showOnMap:function(){var lat=this.locationLatitude.value;var long=this.locationLongitude.value;var title=this.locationTitle.value;if(lat.length>0&&long.length>0){this.loadMap(lat,long,title);this.showOnMapButton.innerHTML=s[l].LocationeditorViewReloadMapButtonTitleText;}else{console.log("TODO: Implement alert here");}},loadMap:function(lat,long,title){this.mapHolder.style.backgroundImage="url('/api/v1.0/services/maps/getmap.php?lat="+lat+"&lng="+long+"')";},new:function(){this.clear();},save:function(){var lid=this.lid;var title=this.locationTitle.value;var address=this.locationAddress.value;var latitude=this.locationLatitude.value;var longitude=this.locationLongitude.value;var distance=this.locationDistance.value;this.saveLocation(lid,title,address,latitude,longitude,distance);},duplicate:function(){},delete:function(){Alert.present(s[l].LocationeditorViewDeleteLocationAlert.Title,s[l].LocationeditorViewDeleteLocationAlert.Description,s[l].LocationeditorViewDeleteLocationAlert.Button1Title,s[l].LocationeditorViewDeleteLocationAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var lid=this.lid;this.deleteLocation(lid);}else{}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},saveLocation:function(lid=null,title=null,address=null,latitude=null,longitude=null,distance=null){var request=new NetworkRequest();var params=(lid!=null?"lid="+lid+"&":"")+"title="+encodeURIComponent(title)+"&address="+encodeURIComponent(address)+"&latitude="+encodeURIComponent(latitude)+"&longitude="+encodeURIComponent(longitude)+"&distance="+encodeURIComponent(distance);request.postRequest(Globals.ServicesURL.saveLocationDataURL,params,function(responseData){this.onSaveLocationDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveLocationDataFailed(statusCode,errorMessage)}.bind(this));},getLocationData:function(lid=null){var request=new NetworkRequest();var params=(lid!=null?"lid="+lid:"");request.postRequest(Globals.ServicesURL.getLocationDataURL,params,function(responseData){this.onGetLocationDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetLocationDataFailed(statusCode,errorMessage)}.bind(this));},deleteLocation:function(lid){var request=new NetworkRequest();var params="lid="+lid;request.postRequest(Globals.ServicesURL.deleteLocationDataURL,params,function(responseData){this.onDeleteLocationDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteLocationDataFailed(statusCode,errorMessage)}.bind(this));},getAddress:function(latitude,longitude){var request=new NetworkRequest();var params="latitude="+latitude+"&longitude="+longitude;request.postRequest(Globals.ServicesURL.getMapAddressURL,params,function(responseData){this.onGetAddressDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetAddressDataFailed(statusCode,errorMessage)}.bind(this));},onSaveLocationDataSuccess:function(responseData){this.dismiss();},onSaveLocationDataFailed:function(statusCode,errorMessage){console.log("Failed to save location");},onGetLocationDataSuccess:function(responseData){this.populateForm(JSON.parse(responseData));},onGetLocationDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteLocationDataSuccess:function(responseData){this.dismiss();},onDeleteLocationDataFailed:function(statusCode,errorMessage){this.dismiss();},onGetAddressDataSuccess:function(responseData){var addressData=(JSON.parse(responseData));this.populateAddressFields(addressData);},onGetAddressDataFailed:function(statusCode,errorMessage){},});var LocationsmanagementView=JS.subClass(JSAppView,{name:"LocationsmanagementView",title:"Daily Report - Location Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),scrollLocation:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.popupContainer=document.createElement('div');this.popupContainer.id="LocationsmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="LocationsmanagementViewPopUpContainerInnerHolder";this.tablesHolder=document.createElement('div');this.tablesHolder.id="LocationsmanagementViewTablesHolder";this.locationsTableHolder=document.createElement('div');this.locationsTableHolder.id="LocationsmanagementViewLocationsTableHolder";this.locationsTitleHolder=document.createElement('div');this.locationsTitleHolder.id="LocationsmanagementViewLocationsTitleHolder";this.locationsTitle=document.createElement('div');this.locationsTitle.id="LocationsmanagementViewLocationsTitle";this.locationsTable=document.createElement('div');this.locationsTable.id="LocationsmanagementViewLocationsTable";},create:function(domView){this.titleBarText.innerHTML=s[l].LocationsmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"domain_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);this.locationsTitle.innerHTML=s[l].LocationsmanagementViewLocationsTitleText;this.locationsTitleHolder.appendChild(this.locationsTitle);this.locationsTableHolder.appendChild(this.locationsTitleHolder);this.locationsTableHolder.appendChild(this.locationsTable);this.tablesHolder.appendChild(this.locationsTableHolder);if(s[l].Direction=="rtl"){this.locationsTable.classList.add('LocationsmanagementViewLocationsTable_rtl');}else{this.locationsTable.classList.remove('LocationsmanagementViewLocationsTable_rtl');} this.innerHolder.appendChild(this.tablesHolder);domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollLocation=0;this.getLocationsData();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/domain_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].LocationsmanagementViewTitleBarMenu.CreateLocationButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateLocationButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},populateLocationsTable:function(data){var locations=data.locations;this.locationsTable.innerHTML="";var visibleItems=0;var totalItems=(data!=null&&data.total!=undefined?data.total:0);if(locations.length>0){for(var i=0;i0&&search.length<20?"&search="+search:"");request.postRequest(Globals.ServicesURL.getLocationsDataURL,params,function(responseData){this.onGetLocationsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetLocationsDataFailed(statusCode,errorMessage)}.bind(this));},onDeleteLocation:function(lid){Alert.present(s[l].LocationsmanagementViewDeleteLocationAlert.Title,s[l].LocationsmanagementViewDeleteLocationAlert.Description,s[l].LocationsmanagementViewDeleteLocationAlert.Button1Title,s[l].LocationsmanagementViewDeleteLocationAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){this.delegate.deleteLocation(this.lid)}else{}}.bind({delegate:this,lid:lid}));},deleteLocation:function(lid){var request=new NetworkRequest();var params="lid="+lid;request.postRequest(Globals.ServicesURL.deleteLocationDataURL,params,function(responseData){this.onDeleteLocationDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteLocationDataFailed(statusCode,errorMessage)}.bind(this));},onDismissDialogView:function(){this.dismissDialog();var search=this.searchFieldInput.value;this.getLocationsData(search);},onGetLocationsDataSuccess:function(responseData){this.populateLocationsTable(JSON.parse(responseData));},onGetLocationsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteLocationDataSuccess:function(responseData){var search=this.searchFieldInput.value;this.getLocationsData(search);},onDeleteLocationDataFailed:function(statusCode,errorMessage){console.log("Failed to delete location");}});var MailboxsettingsView=JS.subClass(JSAppView,{name:"MailboxsettingsView",title:"Daily Report - Email aliases",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),scrollPosition:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.tasksTable=document.createElement('div');this.tasksTable.className="Table";this.popupContainer=document.createElement('div');this.popupContainer.id="MailboxsettingsViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="MailboxsettingsViewPopUpContainerInnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].MailboxsettingsViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"alternate_email_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);this.innerHolder.appendChild(this.tasksTable);domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space1=document.createElement("div");space1.className="Space1";searchBarHolder.appendChild(space1);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.totalFormsTitle=document.createElement('div');this.totalFormsTitle.className="InfoText";this.searchBarInfoHolder.appendChild(this.totalFormsTitle);this.totalFormsTitle.innerHTML="";var space2=document.createElement("div");space2.className="Space2";searchBarHolder.appendChild(space2);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].MailboxsettingsViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/contact_mail_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].MailboxsettingsViewTitleBarMenu.CreateAliasButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;igetFontName(font));var Font=Quill.import('formats/font');Font.whitelist=fontNames;Quill.register(Font,true);const fontSizeArr=['14px','16px','18px','20px','24px','32px','42px','54px','68px','84px','98px'];var Size=Quill.import('attributors/style/size');Size.whitelist=fontSizeArr;Quill.register(Size,true);Quill.register('modules/imageResize',QuillResizeModule);Quill.register(ImageFormat,true);Quill.register("modules/imageCompressor",imageCompressor);var toolbarOptions=[['bold','italic','underline'],['blockquote'],[{'list':'ordered'},{'list':'bullet'}],[{'indent':'-1'},{'indent':'+1'}],[{'direction':'rtl'}],[{'align':[]}],[{'color':[]},{'background':[]}],[{'font':fontNames}],[{'size':fontSizeArr}],['link','image'],];var quill=new Quill('#NewseditorViewEditor',{modules:{imageResize:true,toolbar:toolbarOptions,imageCompressor:{quality:1.0,maxWidth:1024,maxHeight:1024,imageType:'image/jpeg',keepImageTypes:['image/png','image/gif'],ignoreImageTypes:['image/webp']}},theme:'snow'});return quill;},new:function(){this.nid=null;this.quillEditor.setContents({});},save:function(){var nid=this.nid;this.saveNewsArticle(nid);},duplicate:function(){this.saveNewsArticle();},delete:function(){Alert.present(s[l].NewseditorViewDeleteArticleAlert.Title,s[l].NewseditorViewDeleteArticleAlert.Description,s[l].NewseditorViewDeleteArticleAlert.Button1Title,s[l].NewseditorViewDeleteArticleAlert.Button2Title,function(buttonPressed){if(buttonPressed==1){var nid=this.nid;this.deleteNewsArticle(nid);}else{}}.bind(this));},dismiss:function(){if(this.delegate!=null&&this.delegate.onDismissDialogView!=undefined)this.delegate.onDismissDialogView(this);},saveNewsArticle:function(nid){var delta=this.quillEditor.getContents();var article=JSON.stringify(delta);article=encodeURIComponent(article);var html="";var articleHTML="";var text=this.quillEditor.getText();var articleText=encodeURIComponent(text);var request=new NetworkRequest();var params=(nid!=null?"nid="+nid+"&":"")+"article="+article+"&html="+articleHTML+"&text="+articleText;request.postRequest(Globals.ServicesURL.saveNewsArticleURL,params,function(responseData){this.onSaveNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onSaveNewsArticleFaild(statusCode,errorMessage)}.bind(this));},deleteNewsArticle:function(nid){var request=new NetworkRequest();var params="nid="+nid;request.postRequest(Globals.ServicesURL.deleteNewsArticleURL,params,function(responseData){this.onDeleteNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteNewsArticleFaild(statusCode,errorMessage)}.bind(this));},getNewsArticle:function(nid){var request=new NetworkRequest();var params="nid="+nid;request.postRequest(Globals.ServicesURL.getNewsArticleURL,params,function(responseData){this.onGetNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetNewsArticleFaild(statusCode,errorMessage)}.bind(this));},onGetNewsArticleSuccess:function(responseData){var data=JSON.parse(responseData);this.populateEditor(data);},onGetNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onSaveNewsArticleSuccess:function(responseData){this.dismiss();},onSaveNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteNewsArticleSuccess:function(responseData){this.dismiss();},onDeleteNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var NewsmanagementView=JS.subClass(JSAppView,{name:"NewsmanagementView",title:"Daily Report - News management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,scrollPosition:0,allMenus:new Array(),init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.newsArticleTable=document.createElement('div');this.newsArticleTable.id="NewsViewArticleTable";this.newsArticleTable.className="Table";this.popupContainer=document.createElement('div');this.popupContainer.id="NewsmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="NewsmanagementViewPopUpContainerInnerHolder";this.loadingScreen=document.createElement('div');this.loadingScreen.className="NewsmamagementViewLoadingScreen";this.loadingScreen.appendChild(new PaperPlane());},create:function(domView){this.titleBarText.innerHTML=s[l].NewsmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"news_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);domView.appendChild(this.innerHolder);this.innerHolder.appendChild(this.newsArticleTable);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);domView.appendChild(this.loadingScreen);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;this.getNewsArticleList();},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space1=document.createElement("div");space1.className="Space1";searchBarHolder.appendChild(space1);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.infoText=document.createElement('div');this.infoText.className="InfoText";this.searchBarInfoHolder.appendChild(this.infoText);this.infoText.innerHTML="";var space2=document.createElement("div");space2.className="Space2";searchBarHolder.appendChild(space2);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].NewsmanagementViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/create_article_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].NewsmanagementViewTitleBarMenu.CreateArticleButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateArticleButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},titleBarMenuCreateArticleButtonPressed:function(){this.presentViewInDialog(NewseditorView,null);},hideAllTableItemMenues:function(){for(var i=0;i0){for(var i=0;i0){var deltaObject=JSON.parse(delta);quill.setContents(deltaObject,'api');} var dateHolder=document.createElement('div');dateHolder.className="NewsArticleDateHolder";dateHolder.innerHTML=Date.getDateFromTimestamp(item.creation_date);newsArticle.appendChild(dateHolder);var publishStatus=document.createElement('div');publishStatus.className="NewsArticlePublishStatus";publishStatus.innerHTML=(item.is_published==1?s[l].NewsmanagementViewNewsArticlePublishedTitleText+Date.getDateFromTimestamp(item.publish_date):s[l].NewsmanagementViewNewsArticleUnPublishedTitleText);newsArticle.appendChild(publishStatus);var menuButton=document.createElement('div');menuButton.className="NewsArticleMenuButton";newsArticle.appendChild(menuButton);var menu=this.buildNewsArticleMenu(item);this.allMenus.push(menu);menuButton.appendChild(menu);menuButton.addEventListener("click",function(){if(this.menu.style.display!="block"){this.delegate.hideTitleBarMenu();this.delegate.hideAllTableItemMenues();this.menu.style.display="block";}else{this.menu.style.display="none";}}.bind({delegate:this,menu:menu}));visibleArticles++;}}else{var emptyNewsItem=document.createElement('div');emptyNewsItem.className="EmptyNewsItem";emptyNewsItem.innerHTML=s[l].NewsmanagementViewNoItemsFoundTableItemText;this.newsArticleTable.appendChild(emptyNewsItem);} this.infoText.innerHTML=s[l].NewsmanagementViewSearchBarInfoTextPart1+" "+visibleArticles+" "+s[l].NewsmanagementViewSearchBarInfoTextPart2+" "+totalArticles+" "+s[l].NewsmanagementViewSearchBarInfoTextPart3;},buildNewsArticleMenu:function(data){var items=[{title:(data.is_published==0?s[l].NewsmanagementViewNewsArticleMenu.PublishButtonTitleText:s[l].NewsmanagementViewNewsArticleMenu.UnPublishButtonTitleText),icon:"/assets/images/icons/"+(data.is_published==0?"upload_document_black.svg":"download_document_black.svg"),action:"NewsmanagementView.publishNewsArticle({nid:'"+data.nid+"',publish:"+(data.is_published==0?1:0)+"});"},{title:s[l].NewsmanagementViewNewsArticleMenu.EditButtonTitleText,icon:"/assets/images/icons/edit_document_black.svg",action:"NewsmanagementView.presentViewInDialog(NewseditorView,{nid:'"+data.nid+"'});"},{title:s[l].NewsmanagementViewNewsArticleMenu.DuplicateButtonTitleText,icon:"/assets/images/icons/copy_document_black.svg",action:"NewsmanagementView.duplicateNewsArticle({nid:'"+data.nid+"'});"},{title:s[l].NewsmanagementViewNewsArticleMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"NewsmanagementView.onDeleteNewsArticle({nid:'"+data.nid+"'});"}];var menu=document.createElement('div');menu.className="NewsArticleMenu";for(var i=0;i0&&search.length<20?"&search="+search:"");request.postRequest(Globals.ServicesURL.getNewsArticleListURL,params,function(responseData){this.onGetNewsArticleListSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetNewsArticleListFaild(statusCode,errorMessage)}.bind(this));},duplicateNewsArticle:function(data){this.scrollPosition=0;var request=new NetworkRequest();var params="nid="+data.nid;request.postRequest(Globals.ServicesURL.duplicateNewsArticleURL,params,function(responseData){this.onDuplicateNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDuplicateNewsArticleFaild(statusCode,errorMessage)}.bind(this));},publishNewsArticle:function(data){this.scrollPosition=document.getElementById('NewsViewArticleTable').scrollTop;var request=new NetworkRequest();var params="nid="+data.nid+"&publish="+data.publish;request.postRequest(Globals.ServicesURL.publishNewsArticleURL,params,function(responseData){this.onPublishNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onPublishNewsArticleFaild(statusCode,errorMessage)}.bind(this));},deleteNewsArticle:function(data){this.scrollPosition=document.getElementById('NewsViewArticleTable').scrollTop;var request=new NetworkRequest();var params="nid="+data.nid;request.postRequest(Globals.ServicesURL.deleteNewsArticleURL,params,function(responseData){this.onDeleteNewsArticleSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeleteNewsArticleFaild(statusCode,errorMessage)}.bind(this));},showLoadingScreen:function(){this.loadingScreen.style.display="block";},hideLoadingScreen:function(){this.loadingScreen.style.display="none";},onDismissDialogView:function(){this.dismissDialog();this.scrollPosition=document.getElementById('NewsViewArticleTable').scrollTop;this.getNewsArticleList();},onGetNewsArticleListSuccess:function(responseData){this.populateNewsTable(JSON.parse(responseData));document.getElementById('NewsViewArticleTable').scrollTop=this.scrollPosition;},onGetNewsArticleListFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDuplicateNewsArticleSuccess:function(responseData){this.getNewsArticleList();},onDuplicateNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onPublishNewsArticleSuccess:function(responseData){this.getNewsArticleList();},onPublishNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeleteNewsArticleSuccess:function(responseData){this.getNewsArticleList();},onDeleteNewsArticleFaild:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var PositioneditorView=JS.subClass(JSAppView,{name:"PositioneditorView",title:"Daily Report - Position editor",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),pid:null,scrollPosition:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.formHolder=document.createElement('div');this.formHolder.className="FormHolder";this.topOfPageIcon=document.createElement('div');this.topOfPageIcon.className="TopOfPageIcon";this.positionIDTitle=document.createElement("div");this.positionIDTitle.className="PositioneditorViewPositionIDTitle";this.positionTitleText=document.createElement("div");this.positionTitleText.id="PositioneditorViewPositionTitleText";this.positionTitleText.className="InputTitle";this.positionTitle=document.createElement("input");this.positionTitle.type="text";this.positionTitle.id="PositioneditorViewPositionTitle";this.positionDescriptionText=document.createElement("div");this.positionDescriptionText.id="PositioneditorViewPositionDescriptionText";this.positionDescriptionText.className="InputTitle";this.positionDescription=document.createElement("input");this.positionDescription.type="text";this.positionDescription.id="PositioneditorViewPositionDescription";},create:function(domView){this.titleBarText.innerHTML=s[l].PositioneditorViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"position_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.topOfPageIcon.style.backgroundImage="url("+Globals.iconsPath+"position_black.svg"+")";this.formHolder.appendChild(this.topOfPageIcon);this.formHolder.appendChild(this.positionIDTitle);this.formHolder.appendChild(this.positionTitleText);this.formHolder.appendChild(this.positionTitle);this.formHolder.appendChild(this.positionDescriptionText);this.formHolder.appendChild(this.positionDescription);this.innerHolder.appendChild(this.formHolder);this.positionTitleText.innerHTML=s[l].PositioneditorViewPositionTitleText;this.positionDescriptionText.innerHTML=s[l].PositioneditorViewPositionDescriptionText;domView.appendChild(this.innerHolder);},start:function(data=null){this.clear();if(data!=null&&data.pid!=undefined){this.pid=data.pid;this.getPositionData(this.pid);}},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},clear:function(){this.pid=null;this.positionIDTitle.innerHTML="";this.positionTitle.value="";this.positionDescription.value=""},buildTitleBarMenu:function(){var items=[{title:s[l].PositioneditorViewTitleBarMenu.NewButtonTitleText,icon:"/assets/images/icons/add_document_black.svg",action:"PositioneditorView.new();"},{title:s[l].PositioneditorViewTitleBarMenu.SaveButtonTitleText,icon:"/assets/images/icons/save_black.svg",action:"PositioneditorView.save();"},{title:s[l].PositioneditorViewTitleBarMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_document_black.svg",action:"PositioneditorView.delete();"},{title:s[l].PositioneditorViewTitleBarMenu.CloseButtonTitleText,icon:"/assets/images/icons/close_document_black.svg",action:"PositioneditorView.dismiss();"}];this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";for(var i=0;i1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},populatePositionsTable:function(data){var positions=data.positions;this.positionsTable.innerHTML="";var visibleItems=0;var totalItems=(data!=null&&data.total!=undefined?data.total:0);if(positions.length>0){for(var i=0;i0&&search.length<20?"&search="+search:"");request.postRequest(Globals.ServicesURL.getPositionsDataURL,params,function(responseData){this.onGetPositionsDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetPositionsDataFailed(statusCode,errorMessage)}.bind(this));},deletePosition:function(pid){var request=new NetworkRequest();var params="pid="+pid;request.postRequest(Globals.ServicesURL.deletePositionDataURL,params,function(responseData){this.onDeletePositionDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onDeletePositionDataFailed(statusCode,errorMessage)}.bind(this));},onDismissDialogView:function(){this.dismissDialog();var search=this.searchFieldInput.value;this.getPositionsData(search);},onGetPositionsDataSuccess:function(responseData){this.populatePositionsTable(JSON.parse(responseData));},onGetPositionsDataFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onDeletePositionDataSuccess:function(responseData){var search=this.searchFieldInput.value;this.getPositionsData(search);},onDeletePositionDataFailed:function(statusCode,errorMessage){console.log("Failed to delete position");}});var ProfileView=JS.subClass(JSAppView,{name:"ProfileView",title:"Daily Report - User Profile",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.profileHolder=document.createElement('div');this.profileHolder.id="ProfileHolder";this.profileInnerHolder=document.createElement('div');this.profileInnerHolder.id="ProfileInnerHolder";this.profileInfoText=document.createElement('div');this.profileInfoText.id="ProfileInfoText";this.profilePictureContainer=document.createElement('div');this.profilePictureContainer.id="ProfilePictureContainer";this.profilePictureHolder=document.createElement('div');this.profilePictureHolder.id="ProfilePictureHolder";this.profilePictureTitle=document.createElement('div');this.profilePictureTitle.id="ProfilePictureTitle";this.profilePictureText=document.createElement('div');this.profilePictureText.id="ProfilePictureText";this.profilePicture=document.createElement('img');this.profilePicture.id="ProfilePicture";this.canvas=document.createElement('canvas');this.canvas.id="Canvas";this.profileButtonsHolder=document.createElement('div');this.profileButtonsHolder.id="ProfileButtonsHolder";this.profilePictureUploadButton=document.createElement('div');this.profilePictureUploadButton.id="UploadButton";this.profilePictureDeleteButton=document.createElement('div');this.profilePictureDeleteButton.id="DeleteButton";this.profilePictureDeleteButtonIcon=document.createElement('div');this.profilePictureDeleteButtonIcon.id="DeleteButtonIcon";this.profilePictureFile=document.createElement('input');this.profilePictureFile.type="file";this.profilePictureFile.accept="image/png, image/jpeg";this.profilePictureFile.id="UploadFile";this.profilePictureFile.style.display="none";this.profilePictureSpacer=document.createElement('div');this.profilePictureSpacer.className="ProfilePictureSpacer";this.profilePictureInfoHolder=document.createElement('div');this.profilePictureInfoHolder.id="ProfilePictureInfoHolder";this.profilePictureInfoImage=document.createElement('div');this.profilePictureInfoImage.id="ProfilePictureInfoImage";this.profilePictureInfoText=document.createElement('div');this.profilePictureInfoText.id="ProfilePictureInfoText";this.form=document.createElement("div");this.form.id="ProfileViewForm";},create:function(domView){this.titleBarText.innerHTML=s[l].ProfileViewTitleText;this.profileInfoText.innerHTML=s[l].ProfileViewInfoText;this.profilePictureTitle.innerHTML=s[l].ProfileViewProfilePictureTitleText;this.profilePictureText.innerHTML=s[l].ProfileViewProfilePictureText;this.profilePictureUploadButton.innerHTML=s[l].ProfileViewProfilePictureUploadButtonTitleText;this.profilePictureDeleteButton.innerHTML=s[l].ProfileViewProfilePictureDeleteButtonTitleText;this.profilePictureInfoText.innerHTML=s[l].ProfileViewProfilePictureInfoText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"account_circle_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.profileHolder.appendChild(this.profileInnerHolder);this.profileInnerHolder.appendChild(this.profileInfoText);this.profilePictureHolder.appendChild(this.profilePictureTitle);this.profilePictureHolder.appendChild(this.profilePicture);this.profilePictureUploadButton.appendChild(this.profilePictureFile);this.profileButtonsHolder.appendChild(this.profilePictureUploadButton);this.profilePictureDeleteButton.appendChild(this.profilePictureDeleteButtonIcon);this.profileButtonsHolder.appendChild(this.profilePictureDeleteButton);this.profilePictureHolder.appendChild(this.profileButtonsHolder);this.profilePictureHolder.appendChild(this.profilePictureText);this.profilePictureInfoHolder.appendChild(this.profilePictureInfoImage);this.profilePictureInfoHolder.appendChild(this.profilePictureInfoText);this.profilePictureContainer.appendChild(this.profilePictureHolder);this.profilePictureContainer.appendChild(this.profilePictureSpacer);this.profilePictureContainer.appendChild(this.profilePictureInfoHolder);this.profileInnerHolder.appendChild(this.profilePictureContainer);this.profilePictureUploadButton.addEventListener("click",function(){this.profilePictureFile.click();}.bind(this));this.profilePictureDeleteButton.addEventListener("click",function(){this.profilePicture.src="/uploads/profile_pictures/default.jpg";this.updateUserProfile("profile_picture","/uploads/profile_pictures/default.jpg");}.bind(this));this.form.innerHTML="";this.form.appendChild(this.buildForm());this.profileInnerHolder.appendChild(this.form);domView.appendChild(this.titleBar);domView.appendChild(this.profileHolder);if(s[l].Direction=="rtl")this.form.classList.add('ProfileViewForm_rtl');else this.form.classList.remove('ProfileViewForm_rtl');this.canvas.width=500;this.canvas.height=500;var imageURL=null;if(Application.sessionManager.sessionData.profile_picture!=null&&Application.sessionManager.sessionData.profile_picture.length>0){imageURL=Application.sessionManager.sessionData.profile_picture;} var img=new Image;img.onload=function(){this.drawOnCanvas(this.canvas,img);}.bind(this);img.src=imageURL;this.profilePicture.src=imageURL;this.profilePictureFile.addEventListener('change',function(){this.uploadPicture()}.bind(this));},start:function(data=null){},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildForm:function(){var formHolder=document.createElement("div");formHolder.id="ProfileViewFormHolder";var firstNameTitle=document.createElement("div");firstNameTitle.id="ProfileViewFormFirstNameTitle";firstNameTitle.innerHTML=s[l].ProfileViewFormFirstNameTitleText;formHolder.appendChild(firstNameTitle);var firstNameInput=document.createElement("input");firstNameInput.name="firstname";firstNameInput.id="ProfileViewFormFirstNameInput";firstNameInput.value=Application.sessionManager.sessionData.firstname formHolder.appendChild(firstNameInput);firstNameInput.type="text";firstNameInput.readOnly="true";var firstNameEditButton=document.createElement("div");firstNameEditButton.id="ProfileViewFormFirstNameEditButton";firstNameEditButton.innerHTML=s[l].ProfileViewUpdateButtonTitleText;firstNameEditButton.className="ProfileViewFormButton";formHolder.appendChild(firstNameEditButton);var firstNameSaveButton=document.createElement("div");firstNameSaveButton.id="ProfileViewFormFirstNameSaveButton";firstNameSaveButton.className="ProfileViewFormButton";firstNameSaveButton.innerHTML=s[l].ProfileViewSaveButtonTitleText;firstNameSaveButton.style.display="none";formHolder.appendChild(firstNameSaveButton);firstNameEditButton.addEventListener("click",function(){this.editButton.style.display="none";this.saveButton.style.display="inline-block";this.input.readOnly=false;this.input.focus();}.bind({delegate:this,saveButton:firstNameSaveButton,editButton:firstNameEditButton,input:firstNameInput}));firstNameSaveButton.addEventListener("click",function(){this.editButton.style.display="inline-block";this.saveButton.style.display="none";this.input.readOnly=true;this.delegate.updateUserProfile(this.input.name,this.input.value);}.bind({delegate:this,saveButton:firstNameSaveButton,editButton:firstNameEditButton,input:firstNameInput}));var lastNameTitle=document.createElement("div");lastNameTitle.id="ProfileViewFormLastNameTitle";lastNameTitle.innerHTML=s[l].ProfileViewFormLastNameTitleText;formHolder.appendChild(lastNameTitle);var lastNameInput=document.createElement("input");lastNameInput.name="lastname";lastNameInput.id="ProfileViewFormLastNameInput";lastNameInput.value=Application.sessionManager.sessionData.lastname formHolder.appendChild(lastNameInput);lastNameInput.type="text";lastNameInput.readOnly="true";var lastNameEditButton=document.createElement("div");lastNameEditButton.id="ProfileViewFormLastNameEditButton";lastNameEditButton.innerHTML=s[l].ProfileViewUpdateButtonTitleText;lastNameEditButton.className="ProfileViewFormButton";formHolder.appendChild(lastNameEditButton);var lastNameSaveButton=document.createElement("div");lastNameSaveButton.id="ProfileViewFormLastNameSaveButton";lastNameSaveButton.className="ProfileViewFormButton";lastNameSaveButton.innerHTML=s[l].ProfileViewSaveButtonTitleText;lastNameSaveButton.style.display="none";formHolder.appendChild(lastNameSaveButton);lastNameEditButton.addEventListener("click",function(){this.editButton.style.display="none";this.saveButton.style.display="inline-block";this.input.readOnly=false;this.input.focus();}.bind({delegate:this,saveButton:lastNameSaveButton,editButton:lastNameEditButton,input:lastNameInput}));lastNameSaveButton.addEventListener("click",function(){this.editButton.style.display="inline-block";this.saveButton.style.display="none";this.input.readOnly=true;this.delegate.updateUserProfile(this.input.name,this.input.value);}.bind({delegate:this,saveButton:lastNameSaveButton,editButton:lastNameEditButton,input:lastNameInput}));var phoneNumberTitle=document.createElement("div");phoneNumberTitle.id="ProfileViewFormPhoneNumberTitle";phoneNumberTitle.innerHTML=s[l].ProfileViewFormPhoneNumberTitleText;formHolder.appendChild(phoneNumberTitle);var phoneNumberInput=document.createElement("input");phoneNumberInput.name="mobile_phone";phoneNumberInput.id="ProfileViewFormPhoneNumberInput";phoneNumberInput.value=Application.sessionManager.sessionData.phone_number;formHolder.appendChild(phoneNumberInput);phoneNumberInput.type="text";phoneNumberInput.readOnly="true";this.phoneNumberInput=phoneNumberInput;var phoneNumberEditButton=document.createElement("div");phoneNumberEditButton.id="ProfileViewFormPhoneNumberEditButton";phoneNumberEditButton.innerHTML=s[l].ProfileViewUpdateButtonTitleText;phoneNumberEditButton.className="ProfileViewFormButton";formHolder.appendChild(phoneNumberEditButton);var phoneNumberSaveButton=document.createElement("div");phoneNumberSaveButton.id="ProfileViewFormPhoneNumberSaveButton";phoneNumberSaveButton.className="ProfileViewFormButton";phoneNumberSaveButton.innerHTML=s[l].ProfileViewSaveButtonTitleText;phoneNumberSaveButton.style.display="none";formHolder.appendChild(phoneNumberSaveButton);phoneNumberEditButton.addEventListener("click",function(){this.editButton.style.display="none";this.saveButton.style.display="inline-block";this.input.readOnly=false;this.input.focus();}.bind({delegate:this,saveButton:phoneNumberSaveButton,editButton:phoneNumberEditButton,input:phoneNumberInput}));phoneNumberSaveButton.addEventListener("click",function(){this.editButton.style.display="inline-block";this.saveButton.style.display="none";this.input.readOnly=true;this.delegate.updateUserProfile(this.input.name,this.input.value);}.bind({delegate:this,saveButton:phoneNumberSaveButton,editButton:phoneNumberEditButton,input:phoneNumberInput}));var emailTitle=document.createElement("div");emailTitle.id="ProfileViewFormEmailTitle";emailTitle.innerHTML=s[l].ProfileViewFormEmailTitleText;formHolder.appendChild(emailTitle);var emailInput=document.createElement("input");emailInput.name="email";emailInput.id="ProfileViewFormEmailInput";emailInput.value=Application.sessionManager.sessionData.email;formHolder.appendChild(emailInput);emailInput.type="text";emailInput.readOnly="true";this.emailInput=emailInput;var emailEditButton=document.createElement("div");emailEditButton.id="ProfileViewFormEmailEditButton";emailEditButton.innerHTML=s[l].ProfileViewUpdateButtonTitleText;emailEditButton.className="ProfileViewFormButton";formHolder.appendChild(emailEditButton);var emailSaveButton=document.createElement("div");emailSaveButton.id="ProfileViewFormEmailSaveButton";emailSaveButton.className="ProfileViewFormButton";emailSaveButton.innerHTML=s[l].ProfileViewSaveButtonTitleText;emailSaveButton.style.display="none";formHolder.appendChild(emailSaveButton);emailEditButton.addEventListener("click",function(){this.editButton.style.display="none";this.saveButton.style.display="inline-block";this.input.readOnly=false;this.input.focus();}.bind({delegate:this,saveButton:emailSaveButton,editButton:emailEditButton,input:emailInput}));emailSaveButton.addEventListener("click",function(){this.editButton.style.display="inline-block";this.saveButton.style.display="none";this.input.readOnly=true;this.delegate.updateUserProfile(this.input.name,this.input.value);}.bind({delegate:this,saveButton:emailSaveButton,editButton:emailEditButton,input:emailInput}));return formHolder;},drawOnCanvas:function(canvas,img){var ctx=canvas.getContext('2d');if(img.width>img.height){var h=canvas.height;var w=canvas.height*(img.width/img.height);var dw=(w-canvas.width)/2 ctx.drawImage(img,0,0,img.width,img.height,-dw,0,w,h);}else{var h=canvas.width*(img.height/img.width);var w=canvas.width;var dh=(h-canvas.height)/2 ctx.drawImage(img,0,0,img.width,img.height,0,-dh,w,h);}},uploadPicture:function(){var fileInput=document.getElementById('UploadFile');var file=fileInput.files[0];fileInput.value=null;var reader=new FileReader();reader.readAsDataURL(file);reader.onload=(event)=>{this.url=event.target.result;var img=new Image;img.onload=function(){this.drawOnCanvas(this.canvas,img);this.uploadImageToServer(this.canvas);var file=this.canvas.toDataURL("image/jpeg");this.profilePicture.src=file;}.bind(this);img.src=this.url;}},updateUserProfile:function(name,value){var request=new NetworkRequest();var params="name="+name+"&value="+value;request.postRequest(Globals.ServicesURL.updateProfileURL,params,function(responseData){this.onUpdateProfileSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdateProfileFailed(statusCode,errorMessage)}.bind(this));},uploadImageToServer:function(canvas){var file=canvas.toDataURL("image/jpeg");var postData="file="+file;var xhr=new XMLHttpRequest();xhr.open('POST',Globals.ServicesURL.updateProfilePictureURL,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.send(postData);xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200){var response=xhr.responseText;try{var responseObject=eval('('+response+')');}catch(error){this.onUploadFailed(500,"Error: Request failed with status "+error);} try{if(responseObject.status_code==200)this.onUpdateProfilePictureSuccess(responseObject.data);else this.onUpdateProfilePictureFailed(responseObject.status_code,responseObject.error_message);}catch(error){console.log(error);}}else{this.onUpdateProfilePictureFailed(xhr.status,"Error: Request failed with status "+xhr.status);}}}.bind(this);},onUpdateProfileSuccess:function(responseData){if(Application.updateProfileData!=undefined)Application.updateProfileData(JSON.parse(responseData));},onUpdateProfileFailed:function(statusCode,errorMessage){if(errorMessage.search('users.email')>=0&&statusCode==400){Alert.present(s[l].ProfileViewEmailInUseAlertTitle,s[l].ProfileViewEmailInUseAlertText,s[l].ProfileViewEmailInUseAlertButtonText,null,function(buttonPressed){this.emailInput.value=Application.sessionManager.sessionData.email;}.bind(this));}else if(errorMessage.search('users.mobile_phone')>=0&&statusCode==400){Alert.present(s[l].ProfileViewPhoneNumberInUseAlertTitle,s[l].ProfileViewPhoneNumberInUseAlertText,s[l].ProfileViewPhoneNumberInUseAlertButtonText,null,function(buttonPressed){this.phoneNumberInput.value=Application.sessionManager.sessionData.phone_number;}.bind(this));}else{var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}},onUpdateProfilePictureSuccess:function(responseData){if(Application.updateProfileData!=undefined)Application.updateProfileData(JSON.parse(responseData));},onUpdateProfilePictureFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var SchedulingmanagementView=JS.subClass(JSAppView,{name:"SchedulingmanagementView",title:"Daily Report - Scheduling Management",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,allMenus:new Array(),scrollPosition:0,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleMenuButton=document.createElement('div');this.titleMenuButton.className="TitleMenuButton";this.titleMenuButton.addEventListener("click",function(){this.toggleTitleBarMenu();}.bind(this));this.innerHolder=document.createElement('div');this.innerHolder.className="InnerHolder";this.searchbar=document.createElement('div');this.searchbar.className="Searchbar";this.popupContainer=document.createElement('div');this.popupContainer.id="SchedulingmanagementViewPopUpContainer";this.popupContainerInnerHolder=document.createElement('div');this.popupContainerInnerHolder.id="SchedulingmanagementViewPopUpContainerInnerHolder";},create:function(domView){this.titleBarText.innerHTML=s[l].SchedulingmanagementViewTitleText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"calendar_white.svg"+")";this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.titleBar.appendChild(this.titleMenuButton);this.titleMenuButton.innerHTML="";this.titleMenuButton.appendChild(this.buildTitleBarMenu());domView.appendChild(this.titleBar);this.searchbar.appendChild(this.buildSearchBar());this.innerHolder.appendChild(this.searchbar);domView.appendChild(this.innerHolder);this.popupContainer.appendChild(this.popupContainerInnerHolder);domView.appendChild(this.popupContainer);},start:function(data=null){this.dismissDialog();this.scrollPosition=0;},stop:function(){},onApplicationMovedToForeground:function(){},onApplicationMovedToBackground:function(){},buildSearchBar:function(){this.searchbar.innerHTML="";var searchBarHolder=document.createElement('div');searchBarHolder.className="SearchBarHolder";var space1=document.createElement("div");space1.className="Space1";searchBarHolder.appendChild(space1);this.searchBarInfoHolder=document.createElement('div');this.searchBarInfoHolder.className="InfoHolder";searchBarHolder.appendChild(this.searchBarInfoHolder);this.infoText=document.createElement('div');this.infoText.className="InfoText";this.searchBarInfoHolder.appendChild(this.infoText);this.infoText.innerHTML="";var space2=document.createElement("div");space2.className="Space2";searchBarHolder.appendChild(space2);this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.id="SearchFieldSearchIcon";this.searchField.appendChild(this.searchIcon);this.searchFieldInput.placeholder=s[l].SchedulingmanagementViewSearchFieldPlaceholderText;this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);searchBarHolder.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/calendar_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].SchedulingmanagementViewTitleBarMenu.CreateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i0){this.delegate.passcodeInputItems[this.index-1].focus();e.preventDefault();} return;} if(/^\d$/.test(key)){this.input.value=key;setTimeout(()=>{if(this.index0){this.delegate.passcodeInputItems[this.index-1].focus();e.preventDefault();} if(key==='ArrowRight'&&this.index=8&&p2.localeCompare(p1)==0){var password=this.passwordInput.value;this.updatePassword(password);this.errorMessageHolder.innerHTML=s[l].SecurityViewDefaultMessageText;this.passwordInput.value="";this.password2Input.value="";this.validatePassword();}else{this.errorMessageHolder.innerHTML=s[l].SecurityViewPasswordInvalidMessageText;this.passwordMissmatchMessageHolder.style.display="none";this.passwordInput.value="";this.password2Input.value="";}},onSubmitPasscodeButtonPressed:function(){var passcodeValid=true;var passcode="";for(var i=0;i=8){this.lengthValidation.classList.remove("invalid");this.lengthValidation.classList.add("valid");}else{this.lengthValidation.classList.remove("valid");this.lengthValidation.classList.add("invalid");}},validatePassword2:function(){var p1=this.passwordInput.value;var p2=this.password2Input.value;if(p2.localeCompare(p1.substring(0,p2.length))!=0){this.passwordMissmatchMessageHolder.style.display="block";}else{this.passwordMissmatchMessageHolder.style.display="none";}},updatePassword:function(password){var request=new NetworkRequest();var hashedPassword=MD5(password);var params="password="+hashedPassword;request.postRequest(Globals.ServicesURL.updatePasswordURL,params,function(responseData){this.onUpdatePasswordSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdatePasswordFailed(statusCode,errorMessage)}.bind(this));},updatePasscode:function(passcode){var request=new NetworkRequest();var hashedPasscode=MD5(passcode);var params="passcode="+hashedPasscode;request.postRequest(Globals.ServicesURL.updatePasscodeURL,params,function(responseData){this.onUpdatePasscodeSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onUpdatePasscodeFailed(statusCode,errorMessage)}.bind(this));},onUpdatePasswordSuccess:function(responseData){Alert.present(s[l].SecurityViewPasswordUpdateSucessAlert.Title,s[l].SecurityViewPasswordUpdateSucessAlert.Description,s[l].SecurityViewPasswordUpdateSucessAlert.Button1Title,null,function(buttonPressed){if(buttonPressed==1){}});},onUpdatePasswordFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();},onUpdatePasscodeSuccess:function(responseData){Alert.present(s[l].SecurityViewPasscodeUpdateSucessAlert.Title,s[l].SecurityViewPasscodeUpdateSucessAlert.Description,s[l].SecurityViewPasscodeUpdateSucessAlert.Button1Title,null,function(buttonPressed){if(buttonPressed==1){}});},onUpdatePasscodeFailed:function(statusCode,errorMessage){var errorHandler=new ErrorHandler(statusCode,errorMessage);errorHandler.handleError();}});var SettingsView=JS.subClass(JSAppView,{name:"SettingsView",title:"Daily Report - Settings",showDesktopMenu:true,showTitleBarChatButton:true,showTitleBarNotificationsButton:true,showMobileNavigationBarButton:true,viewData:null,currentView:null,currentViewData:null,selectedMenuItem:null,menuItems:null,init:function(){this.titleBar=document.createElement('div');this.titleBar.className="Titlebar";this.titleBarIcon=document.createElement('div');this.titleBarIcon.className="Icon";this.titleBarText=document.createElement('div');this.titleBarText.className="Title";this.titleBarMobileBackButton=document.createElement("div");this.titleBarMobileBackButton.className="TitleBarMobileBackButton";this.titleBarMobileBackButton.addEventListener("click",function(){this.onMobileBackButtonPressed();}.bind(this));this.settingsMenu=document.createElement("div");this.settingsMenu.className="SettingsMenu";this.settingsDetails=document.createElement("div");this.settingsDetails.className="SettingsDetails";this.settingsDetailsTitleBar=document.createElement("div");this.settingsDetailsTitleBar.className="SettingsDetailsTitleBar";this.settingsDetailsInnerHolder=document.createElement("div");this.settingsDetailsInnerHolder.className="SettingsDetailsInnerHolder";this.settingsDetailsPlaceholder=document.createElement("div");this.settingsDetailsPlaceholder.className="SettingsDetailsPlaceholderText";this.searchbar=document.createElement("div");this.searchbar.className="SearchBar";this.searchField=document.createElement("div");this.searchField.className="SearchField";this.searchFieldInput=document.createElement("input");this.searchFieldInput.type="text";this.searchField.appendChild(this.searchFieldInput);this.searchIcon=document.createElement("div");this.searchIcon.className="SearchFieldSearchIcon";this.searchFieldInput.name="search_bar_search_input";this.searchField.appendChild(this.searchIcon);this.searchbar.appendChild(this.searchField);this.searchFieldInput.addEventListener("keyup",function(event){if(this.searchFieldInput.value.length>1){var search=this.searchFieldInput.value;this.getSettings(search);}else if(this.searchFieldInput.value.length==0){this.getSettings();} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton=document.createElement("div");this.searchClearButton.className="SearchBarClearButton";this.searchField.appendChild(this.searchClearButton);this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.getSettings();}.bind(this));this.settingsList=document.createElement("div");this.settingsList.className="SettingsList";window.addEventListener("resize",function(){const mq=window.matchMedia("(min-width: 700px)");if(mq.matches){this.titleBar.style.display="block";this.settingsMenu.style.display="inline-block";this.settingsDetails.style.display="inline-block";this.titleBarMobileBackButton.style.display="none";this.titleBarText.style.width="calc(100% - 50px)";}else{this.titleBar.style.display="block";}}.bind(this));},create:function(domView){if(s[l].Direction=="rtl"){this.settingsMenu.classList.add('SettingsMenu_rtl');this.titleBarMobileBackButton.classList.add('TitleBarMobileBackButton_rtl');}else{this.settingsMenu.classList.remove('SettingsMenu_rtl');this.titleBarMobileBackButton.classList.remove('TitleBarMobileBackButton_rtl');} this.titleBarText.innerHTML=s[l].SettingsViewTitleText;this.searchFieldInput.placeholder=s[l].SettingsViewSearchFieldPlaceholderText;this.titleBarIcon.style.backgroundImage="url("+Globals.iconsPath+"settings_white.svg"+")";this.titleBar.appendChild(this.titleBarMobileBackButton);this.titleBar.appendChild(this.titleBarIcon);this.titleBar.appendChild(this.titleBarText);this.settingsDetails.innerHTML="";this.settingsDetailsPlaceholder.innerHTML=s[l].SettingsViewDetailsPlaceholderText;this.settingsDetails.appendChild(this.settingsDetailsTitleBar);this.settingsDetails.appendChild(this.settingsDetailsInnerHolder);this.settingsDetailsInnerHolder.appendChild(this.settingsDetailsPlaceholder);domView.appendChild(this.settingsMenu);this.settingsMenu.appendChild(this.titleBar);this.settingsMenu.appendChild(this.searchbar);this.settingsMenu.appendChild(this.settingsList);domView.appendChild(this.settingsDetails);},start:function(data=null){this.viewData=data;this.menuItems=new Array() this.selectedMenuItem=null;this.searchFieldInput.value="";this.titleBarMobileBackButton.style.display="none";this.titleBar.style.display="block";this.settingsMenu.style.display="inline-block";this.getSettings();},stop:function(){},onApplicationMovedToForeground:function(){if(this.currentView!=null)this.currentView.onApplicationMovedToForeground();},onApplicationMovedToBackground:function(){if(this.currentView!=null)this.currentView.onApplicationMovedToBackground();},getSettings:function(search=null){var request=new NetworkRequest();var params=(search!=null?"search="+search:"");request.postRequest(Globals.ServicesURL.getSettingsMenuItemsURL,params,function(responseData){this.onGetSettingsMenuItemsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetSettingsMenuItemsFailed(statusCode,errorMessage)}.bind(this));},buildSettingsMenu:function(menuData){this.settingsList.innerHTML="";var openOnStart=null;var lastTitle=null;var lastItemType=null;var currentItemType=null;var activeView=(this.viewData!=null&&this.viewData.view!=undefined?this.viewData.view.replace("View",""):"");for(var i=0;i1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/task_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].TasksmanagementViewTitleBarMenu.CreateTemplateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i1){this.search(this.searchFieldInput.value);}else if(this.searchFieldInput.value.length==0){this.search(null);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null);}.bind(this));return searchBarHolder;},buildTitleBarMenu:function(){this.titleBarMenu=document.createElement("ul");this.titleBarMenu.className="TitleBarMenu";var titleMenuItem=document.createElement('li');titleMenuItem.className="TitleBarMenuItem";var titleMenuItemIcon=document.createElement('div');titleMenuItemIcon.className="ItemIcon";titleMenuItemIcon.style.backgroundImage="url('/assets/images/icons/calendar_add_black.svg')";titleMenuItem.appendChild(titleMenuItemIcon);var titleMenuItemTitle=document.createElement("div");titleMenuItemTitle.className="ItemTitle";titleMenuItemTitle.innerHTML=s[l].TimetrackingmanagementViewTitleBarMenu.CreateButtonTitleText;titleMenuItem.appendChild(titleMenuItemTitle);if(s[l].Direction=="rtl")this.titleBarMenu.classList.add('TitleBarMenu_rtl');else this.titleBarMenu.classList.remove('TitleBarMenu_rtl');titleMenuItem.addEventListener("click",function(){this.titleBarMenuCreateTemplateButtonPressed();}.bind(this));this.titleBarMenu.appendChild(titleMenuItem);return this.titleBarMenu;},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i1){this.search(this.searchFieldInput.value,this.order);}else if(this.searchFieldInput.value.length==0){this.search(null,this.order);} if(this.searchFieldInput.value.length>0){this.searchClearButton.style.display="block";}else{this.searchClearButton.style.display="none";}}.bind(this));this.searchClearButton.addEventListener('click',function(){this.searchFieldInput.value="";this.searchClearButton.style.display="none";this.search(null,this.order);}.bind(this));return searchBarHolder;},buildTableTitle:function(){var titleHolder=document.createElement("div");titleHolder.className="TableItem";var profilePicture=document.createElement('div');profilePicture.className="ProfileSpace";titleHolder.appendChild(profilePicture);var firstname=document.createElement('div');firstname.className="FirstName";firstname.classList.add("Clickable");firstname.innerHTML=""+s[l].UserAccountsViewFirstNameTitleText+"";titleHolder.appendChild(firstname);firstname.addEventListener('click',function(){this.reorderTable("firstname");}.bind(this));var lastname=document.createElement('div');lastname.className="LastName";lastname.classList.add("Clickable");lastname.innerHTML=""+s[l].UserAccountsViewLastNameTitleText+"";titleHolder.appendChild(lastname);lastname.addEventListener('click',function(){this.reorderTable("lastname");}.bind(this));var title=document.createElement('div');title.className="Title";title.classList.add("Clickable");title.innerHTML=""+s[l].UserAccountsViewJobTitleTitleText+"";titleHolder.appendChild(title);title.addEventListener('click',function(){this.reorderTable("title");}.bind(this));var isActive=document.createElement('div');isActive.className="ShortTitle";isActive.classList.add("Clickable");isActive.innerHTML=""+s[l].UserAccountsViewAccountActiveTitleText+"";titleHolder.appendChild(isActive);isActive.addEventListener('click',function(){this.reorderTable("active");}.bind(this));var isBlocked=document.createElement('div');isBlocked.className="ShortTitle";isBlocked.classList.add("Clickable");isBlocked.innerHTML=""+s[l].UserAccountsViewAccountBlockedTitleText+"";titleHolder.appendChild(isBlocked);isBlocked.addEventListener('click',function(){this.reorderTable("blocked");}.bind(this));var space=document.createElement('div');space.className="TitleSpace";titleHolder.appendChild(space);return titleHolder;},populateAccountsTable:function(data){this.tableTitle.innerHTML="";this.tableTitle.appendChild(this.buildTableTitle());this.tableItemsHolder.innerHTML="";this.allMenus=new Array();var visible=0;var users=data.users;var total=data.total;for(var i in users){var item=users[i];var lineItem=this.buildLineItem(item);this.tableItemsHolder.appendChild(lineItem);visible++;} this.infoText.innerHTML=s[l].UserAccountsViewSearchBarInfoTextPart1+" "+visible+" "+s[l].UserAccountsViewSearchBarInfoTextPart2+" "+total+" "+s[l].UserAccountsViewSearchBarInfoTextPart3;},buildLineItem:function(lineItem){var tableItem=document.createElement('div');tableItem.className="TableItem";var profilePicture=document.createElement('div');profilePicture.className="ProfilePicture";profilePicture.style.backgroundImage="url('"+lineItem.profile_picture+"')";tableItem.appendChild(profilePicture);var firstname=document.createElement('div');firstname.className="FirstName";firstname.innerHTML=lineItem.firstname;tableItem.appendChild(firstname);var lastname=document.createElement('div');lastname.className="LastName";lastname.innerHTML=lineItem.lastname;tableItem.appendChild(lastname);var title=document.createElement('div');title.className="Title";title.innerHTML=lineItem.title;tableItem.appendChild(title);var active=document.createElement('div');active.className="ShortTitle";var activeCheckbox=document.createElement('div');activeCheckbox.className="CheckBox";activeCheckbox.name="is_active";activeCheckbox.style.backgroundImage="url('/assets/images/icons/checkbox"+(parseInt(lineItem.is_active)==1?"_checked":"")+"_black.svg')";active.appendChild(activeCheckbox);tableItem.appendChild(active);var blocked=document.createElement('div');blocked.className="ShortTitle";var blockedCheckbox=document.createElement('div');blockedCheckbox.className="CheckBox";blockedCheckbox.name="is_blocked";blockedCheckbox.style.backgroundImage="url('/assets/images/icons/checkbox"+(parseInt(lineItem.is_blocked)==1?"_checked":"")+"_black.svg')";blocked.appendChild(blockedCheckbox);tableItem.appendChild(blocked);var space=document.createElement('div');space.className="Space";tableItem.appendChild(space);var menuButton=document.createElement("div");menuButton.className="MenuButton";tableItem.appendChild(menuButton);var menu=this.buildTableItemMenu(lineItem);menuButton.appendChild(menu);menuButton.addEventListener("click",function(){if(this.menu.style.display!="block"){this.delegate.hideTitleBarMenu();this.delegate.hideAllTableItemMenues();this.menu.style.display="block";}else{this.menu.style.display="none";}}.bind({delegate:this,menu:menu}));return tableItem;},buildTableItemMenu:function(data){var items=[{title:s[l].UserAccountsViewTableItemMenu.EditButtonTitleText,icon:"/assets/images/icons/edit_black.svg",action:"UseraccountsView.presentViewInDialog(EdituserView,{uid:"+data.uid+"})"}];if(data.is_active==0)items.push({title:s[l].UserAccountsViewTableItemMenu.SendInviteButtonTitleText,icon:"/assets/images/icons/outgoing_mail_black.svg",action:"UseraccountsView.sendEmailInvite("+data.uid+")"});items.push({title:s[l].UserAccountsViewTableItemMenu.ResetPasswordButtonTitleText,icon:"/assets/images/icons/password_black.svg",action:"UseraccountsView.resetPassword("+data.uid+")"});items.push({title:s[l].UserAccountsViewTableItemMenu.LogoutButtonTitleText,icon:"/assets/images/icons/logout_black.svg",action:"UseraccountsView.logoutUser("+data.uid+")"});if(data.is_blocked==0)items.push({title:s[l].UserAccountsViewTableItemMenu.BlockButtonTitleText,icon:"/assets/images/icons/block_black.svg",action:"UseraccountsView.blockUser("+data.uid+",1)"});else items.push({title:s[l].UserAccountsViewTableItemMenu.UnblockButtonTitleText,icon:"/assets/images/icons/block_black.svg",action:"UseraccountsView.blockUser("+data.uid+",0)"});items.push({title:s[l].UserAccountsViewTableItemMenu.DeleteButtonTitleText,icon:"/assets/images/icons/delete_black.svg",action:"UseraccountsView.deleteUser("+data.uid+")"});var menu=document.createElement('div');menu.className="TableItemMenu";if(s[l].Direction=="rtl")menu.classList.add('TableItemMenu_rtl');for(var i=0;i0?this.searchFieldInput.value:null);this.getUsersAccountData(search,orderBy);},search:function(search=null,order=null){this.getUsersAccountData(search,order)},getUsersAccountData:function(search=null,order=null){var request=new NetworkRequest();var params=(search!=null?"search="+search+(order!=null?"&order="+order:""):(order!=null?"order="+order:""));request.postRequest(Globals.ServicesURL.getUsersAccountDataURL,params,function(responseData){this.onGetUsersAccountDataSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUsersAccountDataFaild(statusCode,errorMessage)}.bind(this));},showTitleBarMenu:function(){this.titleBarMenu.style.display="block";this.hideAllTableItemMenues();},hideTitleBarMenu:function(){this.titleBarMenu.style.display="none";},toggleTitleBarMenu:function(){if(this.titleBarMenu.style.display!="block")this.showTitleBarMenu();else this.hideTitleBarMenu();},hideAllTableItemMenues:function(){for(var i=0;i({flag:Strings[key].FlagIcon,localLanguage:Strings[key].LocalLanguage,initials:key}));for(var i=0;i0){allTimeAverage=parseFloat((totalSum/totalCount).toFixed(1));} this.widgetTitleItemsCount.innerText=allTimeAverage;if(this.isHidden==false)this.delegate.showWidget(this);},this.parseData=function(data){var kiosks={};var now=new Date();var startOfOfMonth=new Date(now.getFullYear(),now.getMonth(),1).getTime();for(var i=0;i=startOfOfMonth)?[val]:[],averageAllTime:val,averageMonthly:(itemTime>=startOfOfMonth)?val:0,total:1};}else{kiosks[title].allTimeValues.push(val);kiosks[title].averageAllTime=this.calculateAverage(kiosks[title].allTimeValues);kiosks[title].total+=1;if(itemTime>=startOfOfMonth){kiosks[title].monthlyValues.push(val);kiosks[title].averageMonthly=this.calculateAverage(kiosks[title].monthlyValues);}}} return kiosks;};this.calculateAverage=function(values){if(!values||values.length===0)return 0;var sum=values.reduce(function(a,b){return a+b;},0);return parseFloat((sum/values.length).toFixed(2));};this.getCustomerSurveyResults=function(startDate=null,endDate=null){var request=new NetworkRequest();var params=(startDate!=null&&endDate!=null?"start="+startDate+"&end="+endDate:"");request.postRequest(Globals.ServicesURL.getKioskCustomerSurveyResultsURL,params,function(responseData){this.onGetCustomerSurveyResultsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCustomerSurveyResultsFaild(statusCode,errorMessage)}.bind(this));},this.onGetCustomerSurveyResultsSuccess=function(responseData){var data=JSON.parse(responseData);this.populateTable(data)},this.onGetCustomerSurveyResultsFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);break;default:console.log("Error fetching customer survey results:",statusCode,errorMessage);}}} var BookmarkedFormsWidget=function(delegate){this.container=null;this.name="BookmarkedFormsWidget";this.menuIcon="/assets/images/icons/bookmark_checked_black.svg";this.menuTitle=s[l].BookmarkedFormsWidgetTitleText;this.delegate=delegate;this.updateInterval=null;this.isHidden=false;this.isCollapsed=false;this.create=function(){this.container=document.createElement('div');this.container.className="BookmarkedFormsWidget";this.widgetTitleHolder=document.createElement('div');this.widgetTitleHolder.className="TitleHolder";this.container.appendChild(this.widgetTitleHolder);this.widgetTitleIcon=document.createElement('div');this.widgetTitleIcon.className="Icon";this.widgetTitleIcon.style.backgroundImage="url('/assets/images/icons/bookmark_checked_white.svg')";this.widgetTitleHolder.appendChild(this.widgetTitleIcon);this.widgetTitleText=document.createElement('div');this.widgetTitleText.className="Text";this.widgetTitleText.innerHTML=s[l].BookmarkedFormsWidgetTitleText;this.widgetTitleHolder.appendChild(this.widgetTitleText);this.widgetTitleItemsCount=document.createElement('div');this.widgetTitleItemsCount.className="ItemsCount";this.widgetTitleHolder.appendChild(this.widgetTitleItemsCount);this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetTable.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetTable=document.createElement('div');this.widgetTable.className="Table";this.widgetTable.classList.add('Table_Empty');this.container.appendChild(this.widgetTable);var emptyTemplateItem=document.createElement('div');emptyTemplateItem.className="EmptyTemplateItem";emptyTemplateItem.innerHTML=s[l].WidgetsGenericLoadinMessageText;;this.widgetTable.appendChild(emptyTemplateItem);this.widgetTitleItemsCount.innerHTML="";return this.container;},this.start=function(){this.getBookmarkedFormTemplates();if(this.updateInterval==null){this.updateInterval=setInterval(function(){this.getBookmarkedFormTemplates();}.bind(this),Globals.BOOKMARKED_FORMS_WIDGET_REFRESH_INTERVAL);}},this.stop=function(){if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;},this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetTable.style.display="none";this.isCollapsed=true;},this.expand=function(){this.widgetTable.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.isCollapsed=false;},this.populateTable=function(data){var templates=data.templates;this.widgetTable.innerHTML="";if(templates.length>0){for(var i=0;i=minFontSize?currentfontsize:minFontSize)+'px';}else{currentfontsize=50;input.style.fontSize=currentfontsize+'px';while(this.isOverflown(input)){currentfontsize--;input.style.fontSize=currentfontsize+'px';} input.style.fontSize=(currentfontsize>=minFontSize?currentfontsize:minFontSize)+'px';}} this.isOverflown=function(element){return element.scrollWidth>element.clientWidth;} this.openInPopup=function(){if(this.popup&&!this.popup.closed){popup.focus();}else{popup=window.open('','Calculator','width=320,height=480');var doc=popup.document;doc.open();doc.write('\ \ Daily Report - '+s[l].CalculatorWidgetTitleText+'\ \ \ \ ');doc.write("");doc.write('');doc.close();}}} var CalendarWidget=function(delegate){this.container=null;this.name="CalendarWidget";this.menuIcon="/assets/images/icons/form_black.svg";this.menuTitle=s[l].CalendarWidgetTitleText;this.isHidden=false;this.isCollapsed=false;this.delegate=delegate;this.updateInterval=null;this.create=function(){this.container=document.createElement('div');this.container.className="CalendarWidget";if(s[l].Direction=="rtl"){this.container.classList.add("rtl");}else{this.container.classList.remove("rtl");} this.widgetTitleHolder=document.createElement('div');this.widgetTitleHolder.className="TitleHolder";this.container.appendChild(this.widgetTitleHolder);this.widgetTitleIcon=document.createElement('div');this.widgetTitleIcon.className="Icon";this.widgetTitleIcon.style.backgroundImage="url('/assets/images/icons/calendar_white.svg')";this.widgetTitleHolder.appendChild(this.widgetTitleIcon);this.widgetTitleText=document.createElement('div');this.widgetTitleText.className="Text";this.widgetTitleText.innerHTML=s[l].CalendarWidgetTitleText;this.widgetTitleHolder.appendChild(this.widgetTitleText);this.widgetTitleItemsCount=document.createElement('div');this.widgetTitleItemsCount.className="ItemsCount";this.widgetTitleHolder.appendChild(this.widgetTitleItemsCount);this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetTable.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetTable=document.createElement('div');this.widgetTable.className="Table";this.widgetTable.classList.add('Table_Empty');this.container.appendChild(this.widgetTable);return this.container;},this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetTable.style.display="none";this.isCollapsed=true;},this.expand=function(){this.widgetTable.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.isCollapsed=false;},this.start=function(){this.getEvents();if(this.updateInterval==null){this.updateInterval=setInterval(function(){this.getEvents();}.bind(this),Globals.CALENDAR_WIDGET_REFRESH_INTERVAL);}},this.stop=function(){clearInterval(this.updateInterval);this.updateInterval=null;},this.populateCalendarEventsTable=function(data){var uid=parseInt(Application.sessionManager.sessionData.uid);var calendars=data.calendars;var myCalenars={};for(var i=0;i0?data.events:null);this.widgetTable.innerHTML="";if(this.isHidden==false&&this.container.style.display=="none"){this.container.style.opacity=0.0;this.container.style.display="inline-block";setTimeout(function(){this.container.style.opacity=1.0;}.bind(this),100);} if(events!=null){for(var i=0;id.getHours().toString().padStart(2,'0')+":"+d.getMinutes().toString().padStart(2,'0');var formatDate=(d)=>s[l].MonthsOfYear[d.getMonth()]+" "+d.getDate();var timeString="";if(parseInt(event.all_day)==1){timeString=formatDate(start)+" - "+s[l].CalendarWidgetAllDayEventTitleText;}else{if(start.toDateString()===end.toDateString())timeString=formatDate(start)+", "+formatTime(start)+" - "+formatTime(end);else timeString=formatDate(start)+", "+formatTime(start)+" - "+formatDate(end)+", "+formatTime(end);if(start.getFullYear()!==now.getFullYear())timeString+=" "+start.getFullYear();} var time=document.createElement('div');time.className="Time";time.innerHTML="
"+timeString;eventItem.appendChild(time);var title=document.createElement('div');title.className="Title";title.innerText=event.title;eventItem.appendChild(title);eventItem.addEventListener('click',function(){Application.loadView(CalendarView,{event_id:this.event.event_id});}.bind({delegate:this,event:event}));return eventItem;};this.getEvents=function(){var startDate=new Date();startDate.setHours(0,0,0,0);var endDate=new Date(startDate);endDate.setDate(startDate.getDate()+1);startTime=Date.getServerAdjustedTimestampFromDate(startDate);endTime=Date.getServerAdjustedTimestampFromDate(endDate);this.getCalendarEvents(startTime,endTime);},this.getCalendarEvents=function(startTime,endTime){var request=new NetworkRequest();var params="start_time="+startTime+"&end_time="+endTime;request.postRequest(Globals.ServicesURL.getCalendarEventsURL,params,function(responseData){this.onGetCalendarEventsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCalendarEventsFailed(statusCode,errorMessage)}.bind(this));},this.onGetCalendarEventsSuccess=function(responseData){var data=JSON.parse(responseData);this.populateCalendarEventsTable(data);},this.onGetCalendarEventsFailed=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);break;default:console.log("Error calendar events:",statusCode,errorMessage);}}} var ClockWidget=function(delegate){this.container=null;this.name="ClockWidget";this.canvas=null;this.ctx=null;this.delegate=delegate;this.interval=null;this.backgroundColor=window.getComputedStyle(document.body).getPropertyValue('--clock-widget-backgound-color--');this.foregroundColor=window.getComputedStyle(document.body).getPropertyValue('--clock-widget-foregound-color--');this.image=new Image(40,40);this.image.src="/assets/images/icons/location_on_white.svg";this.create=function(){this.container=document.createElement('div');this.container.className="ClockWidget";this.canvas=document.createElement('canvas');this.canvas.className="ClockWidgetCanvas";this.canvas.width=440;this.canvas.height=440;this.container.appendChild(this.canvas);this.ctx=this.canvas.getContext("2d");this.ctx.imageSmoothingEnabled=false;this.radius=this.canvas.height/2;this.ctx.translate(this.radius,this.radius);this.radius=this.radius*0.90;this.ctx.arc(0,0,this.radius,0,2*Math.PI);this.ctx.fillStyle=this.backgroundColor;this.ctx.fill();this.drawClock();this.interval=setInterval(function(){this.drawClock();}.bind(this),1000);return this.container;} this.drawClock=function(){this.drawFace(this.ctx,this.radius);this.drawNumbers(this.ctx,this.radius);this.drawDate(this.ctx,this.radius);this.drawLogo(this.ctx,this.radius);this.drawLocationStatus(this.ctx,this.radius);this.drawTime(this.ctx,this.radius);this.drawCenter(this.ctx,this.radius);} this.drawLocationStatus=function(ctx,radius){this.latestLocation=Application.location;if(this.latestLocation!=null){ctx.shadowColor="black";ctx.shadowBlur=1;ctx.drawImage(this.image,-20,-142,40,40) ctx.shadowBlur=0;}} this.drawFace=function(ctx,radius){ctx.beginPath();ctx.arc(0,0,radius+5,0,2*Math.PI);ctx.fillStyle=this.backgroundColor;ctx.fill();ctx.strokeStyle=this.foregroundColor;ctx.lineWidth=radius*0.1;ctx.stroke();ctx.strokeStyle=this.backgroundColor;ctx.lineWidth=radius*0.05;ctx.stroke();} this.drawCenter=function(ctx,radius){ctx.shadowColor="black";ctx.shadowBlur=3;ctx.beginPath();ctx.arc(0,0,radius*0.1,0,2*Math.PI);ctx.fillStyle=this.foregroundColor;ctx.fill();ctx.shadowBlur=0;} this.drawNumbers=function(ctx,radius){ctx.font=radius*0.16+"px arial";ctx.shadowColor="black";ctx.shadowBlur=3;ctx.textBaseline="middle";ctx.textAlign="center";ctx.fillStyle=this.foregroundColor;for(let num=1;num<13;num++){let ang=num*Math.PI/6;ctx.rotate(ang);ctx.translate(0,-radius*0.85);ctx.rotate(-ang);ctx.fillText(num.toString(),0,0);ctx.rotate(ang);ctx.translate(0,radius*0.85);ctx.rotate(-ang);} ctx.shadowBlur=0;} this.drawLogo=function(ctx,radius){ctx.font=radius*0.18+"px LeckerliOne-Regular";var brandName="DailyReport";ctx.shadowColor="black";ctx.shadowBlur=3;ctx.fillText(brandName,0,-75);ctx.shadowBlur=0;} this.drawDate=function(ctx,radius){ctx.font=radius*0.15+"px arial";var date=new Date();var day=date.getDay();var dayName=s[l].DaysOfWeekShortHand[day];var month=date.getMonth();var monthName=s[l].MonthsOfYear[month];var currentDate=date.getDate();ctx.shadowColor="black";ctx.shadowBlur=3;ctx.fillText(dayName,0,70);ctx.fillText(monthName+" "+currentDate,0,110);ctx.shadowBlur=0;} this.drawTime=function(ctx,radius){ctx.shadowColor="black";ctx.shadowBlur=3;const now=new Date();let hour=now.getHours();let minute=now.getMinutes();let second=now.getSeconds();hour=hour%12;hour=(hour*Math.PI/6)+(minute*Math.PI/(6*60))+(second*Math.PI/(360*60));this.drawHand(ctx,hour,radius*0.5,radius*0.07);minute=(minute*Math.PI/30)+(second*Math.PI/(30*60));this.drawHand(ctx,minute,radius*0.8,radius*0.07);ctx.shadowBlur=0;second=(second*Math.PI/30);this.drawHand(ctx,second,radius*0.9,radius*0.02);} this.drawHand=function(ctx,pos,length,width){ctx.beginPath();ctx.lineWidth=width;ctx.lineCap="round";ctx.strokeStyle=this.foregroundColor;ctx.moveTo(0,0);ctx.rotate(pos);ctx.lineTo(0,-length);ctx.stroke();ctx.rotate(-pos);}} var EmailWidget=function(delegate){this.container=null;this.name="EmailWidget";this.menuIcon="/assets/images/icons/mail_black.svg";this.menuTitle=s[l].EmailWidgetTitleText;this.isHidden=false;this.isCollapsed=false;this.delegate=delegate;this.updateInterval=null;this.maxVisibleItems=25;this.create=function(){this.container=document.createElement('div');this.container.className="EmailWidget";this.widgetTitleHolder=document.createElement('div');this.widgetTitleHolder.className="TitleHolder";this.container.appendChild(this.widgetTitleHolder);this.widgetTitleIcon=document.createElement('div');this.widgetTitleIcon.className="Icon";this.widgetTitleIcon.style.backgroundImage="url('/assets/images/icons/mail_white.svg')";this.widgetTitleHolder.appendChild(this.widgetTitleIcon);this.widgetTitleText=document.createElement('div');this.widgetTitleText.className="Text";this.widgetTitleText.innerHTML=s[l].EmailWidgetTitleText;this.widgetTitleHolder.appendChild(this.widgetTitleText);this.searchBar=document.createElement("div");this.searchBar.className="SearchBar";this.widgetTitleHolder.appendChild(this.searchBar);this.searchBarSearchField=document.createElement("div");this.searchBarSearchField.className="SearchField";this.searchBar.appendChild(this.searchBarSearchField);this.searchInput=document.createElement("input");this.searchInput.type="text";this.searchInput.placeholder=s[l].EmailWidgetSearchFieldPlaceholderText;this.searchBarSearchField.appendChild(this.searchInput);this.searchBarSearchIcon=document.createElement("div");this.searchBarSearchIcon.className="SearchIcon";this.searchBarSearchField.appendChild(this.searchBarSearchIcon);this.searchBarClearButton=document.createElement("div");this.searchBarClearButton.className="SearchBarClearButton";this.searchBarSearchField.appendChild(this.searchBarClearButton);this.searchInput.addEventListener("keyup",function(event){if(this.searchInput.value.length>1){this.widgetTable.scrollTop=0;this.getUserEmails(this.searchInput.value);}else if(this.searchInput.value.length==0){this.widgetTable.scrollTop=0;this.getUserEmails(this.searchInput.value);} if(this.searchInput.value.length>0){this.searchBarClearButton.style.display="block";}else{this.searchBarClearButton.style.display="none";}}.bind(this));this.searchBarClearButton.addEventListener('click',function(){this.searchInput.value="";this.widgetTable.scrollTop=0;this.searchBarClearButton.style.display="none";this.getUserEmails();}.bind(this));this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetTable.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetTable=document.createElement('div');this.widgetTable.className="Table";this.widgetTable.classList.add('Table_Empty');this.container.appendChild(this.widgetTable);var emptyTemplateItem=document.createElement('div');emptyTemplateItem.className="EmptyNewsItem";emptyTemplateItem.innerHTML=s[l].WidgetsGenericLoadinMessageText;this.widgetTable.appendChild(emptyTemplateItem);return this.container;},this.start=function(){this.widgetTable.scrollTop=0;this.getUserEmails();if(this.updateInterval==null){this.updateInterval=setInterval(function(){var search=(this.searchInput.value.length>0?this.searchInput.value:null) this.getUserEmails(search);}.bind(this),Globals.MAIL_WIDGET_REFRESH_INTERVAL);}},this.stop=function(){clearInterval(this.updateInterval);this.updateInterval=null;},this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetTable.style.display="none";this.isCollapsed=true;this.searchBar.style.opacity="0.0";this.searchBar.style.pointerEvents="none";},this.expand=function(){this.widgetTable.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.isCollapsed=false;this.searchBar.style.opacity="1.0";this.searchBar.style.pointerEvents="auto";this.widgetTable.scrollTop=0;},this.populateTable=function(data){this.widgetTable.innerHTML="";var list=data.emails;if(list==null||list.length==0){var emptyEmailItem=document.createElement('div');emptyEmailItem.className="EmptyEmailItem";emptyEmailItem.innerHTML=s[l].EmailWidgetNoIntemsFound;this.widgetTable.appendChild(emptyEmailItem);}else{for(var i=0;i<(list.length>this.maxVisibleItems?this.maxVisibleItems:list.length);i++){var data=list[i];var mailItem=this.buildMailItem(data);this.widgetTable.appendChild(mailItem);} this.tableFooter=document.createElement('div');this.tableFooter.className="TableFooter";this.tableFooter.innerText=s[l].EmailWidgetTableFooterText;this.tableFooter.addEventListener('click',function(){Application.loadView(MailboxView,null);}.bind(this));this.widgetTable.appendChild(this.tableFooter);this.widgetTable.classList.remove('Table_Empty');} if(this.isHidden==false&&this.container.style.display=="none"){this.container.style.opacity=0.0;this.container.style.display="inline-block";setTimeout(function(){this.container.style.opacity=1.0;}.bind(this),100);}},this.buildMailItem=function(data){var emailItem=document.createElement('div');emailItem.className="EmailItem";if(s[l].Direction=="rtl")emailItem.classList.add("EmailItem_rtl");var line1=document.createElement('div');line1.className="Line1";emailItem.appendChild(line1);var logo=document.createElement('img');logo.className="Logo";logo.src=data.logo_url;line1.appendChild(logo);var envelop=document.createElement('div');envelop.className="Envelop";if(parseInt(data.is_read)==1)envelop.classList.add('Read');line1.appendChild(envelop);var sender=document.createElement('div');sender.className="Sender";if(parseInt(data.is_read)==1)sender.classList.add("Read");sender.innerText=data.from_email;line1.appendChild(sender);var attachment=document.createElement('div');attachment.className="Attachment";if(parseInt(data.has_attachments)==1)attachment.classList.add('Visible');line1.appendChild(attachment);var line2=document.createElement('div');line2.className="Line2";emailItem.appendChild(line2);var subject=document.createElement('div');subject.className="Subject";subject.innerText=data.subject;line2.appendChild(subject);var line3=document.createElement('div');line3.className="Line3";emailItem.appendChild(line3);var text=data.text_content||"";text=text.replace(/[\r\n]+/g,' ').replace(/\s+/g,' ').trim();textBody=text.length>200?text.slice(0,200)+"…":text;var firstLine=document.createElement('div');firstLine.className="FirstLine";firstLine.innerText=textBody;line3.appendChild(firstLine);var receivedAt=document.createElement('div');receivedAt.className="ReceivedAt";if(s[l].Direction=="rtl")receivedAt.classList.add("ReceivedAt_rtl") receivedAt.innerText=Date.getDateStringFromDate(data.received_at);line3.appendChild(receivedAt);emailItem.addEventListener('click',function(){Application.loadView(MailboxView,this.data);}.bind({delegate:this,data:data}));if(s[l].Direction=="rtl"){emailItem.classList.add("EmailItem_rtl");sender.classList.add("Sender_rtl");subject.classList.add("Subject_rtl");firstLine.classList.add("FirstLine_rtl");} return emailItem},this.getUserEmails=function(search){var request=new NetworkRequest();var params=(search!=null&&search.length>0?"search="+search:"");request.postRequest(Globals.ServicesURL.getUserEmailsURL,params,function(responseData){this.onGetUserEmailsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetUserEmailsFaild(statusCode,errorMessage)}.bind(this));},this.onGetUserEmailsSuccess=function(responseData){if(this.updateInterval==null)return;var data=JSON.parse(responseData);this.populateTable(data)},this.onGetUserEmailsFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;default:console.log("Error fetching bookmarked forms:",statusCode,errorMessage);}}} var NewsWidget=function(delegate){this.container=null;this.name="NewsWidget";this.menuIcon="/assets/images/icons/news_black.svg";this.menuTitle=s[l].NewsWidgetTitleText;this.isHidden=false;this.isCollapsed=false;this.delegate=delegate;this.updateInterval=null;this.maxVisibleItems=1;this.create=function(){this.container=document.createElement('div');this.container.className="NewsWidget";this.widgetTitleHolder=document.createElement('div');this.widgetTitleHolder.className="TitleHolder";this.container.appendChild(this.widgetTitleHolder);this.widgetTitleIcon=document.createElement('div');this.widgetTitleIcon.className="Icon";this.widgetTitleIcon.style.backgroundImage="url('/assets/images/icons/news_white.svg')";this.widgetTitleHolder.appendChild(this.widgetTitleIcon);this.widgetTitleText=document.createElement('div');this.widgetTitleText.className="Text";this.widgetTitleText.innerHTML=s[l].NewsWidgetTitleText;this.widgetTitleHolder.appendChild(this.widgetTitleText);this.widgetTitleItemsCount=document.createElement('div');this.widgetTitleItemsCount.className="ItemsCount";this.widgetTitleHolder.appendChild(this.widgetTitleItemsCount);this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetTable.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetTable=document.createElement('div');this.widgetTable.className="Table";this.widgetTable.classList.add('Table_Empty');this.container.appendChild(this.widgetTable);var emptyTemplateItem=document.createElement('div');emptyTemplateItem.className="EmptyNewsItem";emptyTemplateItem.innerHTML=s[l].WidgetsGenericLoadinMessageText;this.widgetTable.appendChild(emptyTemplateItem);this.widgetTitleItemsCount.innerHTML="";return this.container;},this.start=function(){this.getNewsArticles();if(this.updateInterval==null){if(this.updateInterval==null){this.updateInterval=setInterval(function(){this.getNewsArticles();}.bind(this),Globals.NEWS_WIDGET_REFRESH_INTERVAL);}}},this.stop=function(){clearInterval(this.updateInterval);this.updateInterval=null;},this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetTable.style.display="none";this.isCollapsed=true;},this.expand=function(){this.widgetTable.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.isCollapsed=false;},this.populateTable=function(data){this.widgetTable.innerHTML="";var list=data.articles;var visibleArticles=0;if(list==null||list.length==0){var emptyNewsItem=document.createElement('div');emptyNewsItem.className="EmptyNewsItem";emptyNewsItem.innerHTML=s[l].NewsViewNoItemsFoundTableItemText;this.widgetTable.appendChild(emptyNewsItem);this.widgetTitleItemsCount.innerHTML="";this.widgetTable.classList.add('Table_Empty');this.widgetTitleItemsCount.style.opacity="0.0";}else{for(var i=0;i<(list.length>this.maxVisibleItems?this.maxVisibleItems:list.length);i++){var item=list[i];var newsArticle=document.createElement('div');newsArticle.className="NewsArticle";var id="NewsArticle_"+item.nid;newsArticle.id=id;this.widgetTable.appendChild(newsArticle);var test=document.getElementById(id);if(test!=null){var quill=new Quill('#'+id,{theme:'snow',readOnly:true,modules:{"toolbar":false}});var dateHolder=document.createElement('div');dateHolder.className="NewsArticleDateHolder";dateHolder.innerHTML=s[l].NewsViewNewsArticlePublishedTitleText+" "+Date.getDateFromTimestamp(item.publish_date);newsArticle.appendChild(dateHolder);var delta=item.delta;var deltaObject=JSON.parse(delta);quill.setContents(deltaObject,'api');visibleArticles++;}} this.widgetTable.classList.remove('Table_Empty');this.widgetTitleItemsCount.innerHTML=visibleArticles;this.widgetTitleItemsCount.style.opacity="1.0";} if(this.isHidden==false&&this.container.style.display=="none"){this.container.style.opacity=0.0;this.container.style.display="inline-block";setTimeout(function(){this.container.style.opacity=1.0;}.bind(this),100);}},this.getNewsArticles=function(){var request=new NetworkRequest();var params="";request.postRequest(Globals.ServicesURL.getNewsArticlesURL,params,function(responseData){this.onGetNewsArticlesSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetNewsArticlesFaild(statusCode,errorMessage)}.bind(this));},this.onGetNewsArticlesSuccess=function(responseData){if(this.updateInterval==null)return;var data=JSON.parse(responseData);this.populateTable(data)},this.onGetNewsArticlesFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;default:console.log("Error fetching bookmarked forms:",statusCode,errorMessage);}}} var OpenFormsWidget=function(delegate){this.container=null;this.name="OpenFormsWidget";this.menuIcon="/assets/images/icons/form_black.svg";this.menuTitle=s[l].OpenFormsWidgetTitleText;this.isHidden=false;this.isCollapsed=false;this.delegate=delegate;this.updateInterval=null;this.create=function(){this.container=document.createElement('div');this.container.className="OpenFormsWidget";this.widgetTitleHolder=document.createElement('div');this.widgetTitleHolder.className="TitleHolder";this.container.appendChild(this.widgetTitleHolder);this.widgetTitleIcon=document.createElement('div');this.widgetTitleIcon.className="Icon";this.widgetTitleIcon.style.backgroundImage="url('/assets/images/icons/form_white.svg')";this.widgetTitleHolder.appendChild(this.widgetTitleIcon);this.widgetTitleText=document.createElement('div');this.widgetTitleText.className="Text";this.widgetTitleText.innerHTML=s[l].OpenFormsWidgetTitleText;this.widgetTitleHolder.appendChild(this.widgetTitleText);this.widgetTitleItemsCount=document.createElement('div');this.widgetTitleItemsCount.className="ItemsCount";this.widgetTitleHolder.appendChild(this.widgetTitleItemsCount);this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetTable.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetTable=document.createElement('div');this.widgetTable.className="Table";this.widgetTable.classList.add('Table_Empty');this.container.appendChild(this.widgetTable);var emptyFormItem=document.createElement('div');emptyFormItem.className="EmptyFormItem";emptyFormItem.innerHTML=s[l].WidgetsGenericLoadinMessageText;;this.widgetTable.appendChild(emptyFormItem);this.widgetTitleItemsCount.innerHTML="";return this.container;},this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetTable.style.display="none";this.isCollapsed=true;},this.expand=function(){this.widgetTable.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.isCollapsed=false;},this.start=function(){this.getAssignedToMeForms();if(this.updateInterval==null){this.updateInterval=setInterval(function(){this.getAssignedToMeForms();}.bind(this),Globals.OPEN_FORMS_WIDGET_REFRESH_INTERVAL);}},this.stop=function(){clearInterval(this.updateInterval);this.updateInterval=null;},this.populateTable=function(data){var forms=data.forms;this.widgetTable.innerHTML="";if(forms.length>0){for(var i=0;i1){if(this.selectedLog==this.LOG_TYPES.CALL_LOG){this.widgetCallLogsTable.scrollTop=0;this.getCallLogs(this.searchInput.value);}else if(this.selectedLog==this.LOG_TYPES.CONTACTS){this.widgetContactsTable.scrollTop=0;this.getContacts(this.searchInput.value);}}else if(this.searchInput.value.length==0){if(this.selectedLog==this.LOG_TYPES.CALL_LOG){this.widgetCallLogsTable.scrollTop=0;this.getCallLogs();}else if(this.selectedLog==this.LOG_TYPES.CONTACTS){this.widgetContactsTable.scrollTop=0;this.getContacts();}} if(this.searchInput.value.length>0){this.searchBarClearButton.style.display="block";}else{this.searchBarClearButton.style.display="none";}}.bind(this));this.searchBarClearButton.addEventListener('click',function(){this.searchInput.value="";this.widgetCallLogsTable.scrollTop=0;this.widgetContactsTable.scrollTop=0;this.searchBarClearButton.style.display="none";if(this.selectedLog==this.LOG_TYPES.CALL_LOG){this.getCallLogs();}else if(this.selectedLog==this.LOG_TYPES.CONTACTS){this.getContacts();}}.bind(this));this.widgetTitleButton=document.createElement('div');this.widgetTitleButton.className="TitleButton";this.widgetTitleButton.classList.add("TitleButton_collapse");this.widgetTitleHolder.appendChild(this.widgetTitleButton);this.widgetTitleButton.addEventListener('click',function(){if(this.widgetButtonsHolder.style.display=="none"){this.expand();}else{this.collapse();} if(this.delegate!=null&&this.delegate.onWidgetStateChanged!=undefined)this.delegate.onWidgetStateChanged(this);}.bind(this));this.widgetCallLogsTable=document.createElement('div');this.widgetCallLogsTable.className="Table";this.container.appendChild(this.widgetCallLogsTable);this.widgetContactsTable=document.createElement('div');this.widgetContactsTable.className="Table";this.widgetContactsTable.style.display="none";this.container.appendChild(this.widgetContactsTable);this.widgetButtonsHolder=document.createElement('div');this.widgetButtonsHolder.className="ButtonsHolder";this.container.appendChild(this.widgetButtonsHolder);this.callLogButton=document.createElement('div');this.callLogButton.className="Button";if(s[l].Direction=="rtl")this.callLogButton.classList.add("Button_rtl");this.widgetButtonsHolder.appendChild(this.callLogButton);this.callLogButtonIcon=document.createElement('div');this.callLogButtonIcon.className="ButtonIcon";this.callLogButtonIcon.style.backgroundImage="url('/assets/images/icons/call_log_black.svg')";this.callLogButton.appendChild(this.callLogButtonIcon);this.callLogButtonTitle=document.createElement('div');this.callLogButtonTitle.className="ButtonTitle";this.callLogButtonTitle.innerHTML=s[l].PhoneWidgetCallLogButtonTitleText;this.callLogButton.appendChild(this.callLogButtonTitle);this.callLogButton.addEventListener('click',function(){this.widgetContactsTable.scrollTop=0;this.widgetContactsTable.style.display="none";this.widgetCallLogsTable.scrollTop=0;this.widgetCallLogsTable.style.display="block";this.selectedLog=this.LOG_TYPES.CALL_LOG;this.searchInput.value="";this.searchBarClearButton.style.display="none";this.getCallLogs();}.bind(this));this.contactsButton=document.createElement('div');this.contactsButton.className="Button";if(s[l].Direction=="rtl")this.contactsButton.classList.add("Button_rtl");this.widgetButtonsHolder.appendChild(this.contactsButton);this.contactsButtonIcon=document.createElement('div');this.contactsButtonIcon.className="ButtonIcon";this.contactsButtonIcon.style.backgroundImage="url('/assets/images/icons/contacts_black.svg')";this.contactsButton.appendChild(this.contactsButtonIcon);this.contactsButtonTitle=document.createElement('div');this.contactsButtonTitle.className="ButtonTitle";this.contactsButtonTitle.innerHTML=s[l].PhoneWidgetContactsButtonTitleText;this.contactsButton.appendChild(this.contactsButtonTitle);this.contactsButton.addEventListener('click',function(){this.widgetCallLogsTable.scrollTop=0;this.widgetCallLogsTable.style.display="none";this.widgetContactsTable.scrollTop=0;this.widgetContactsTable.style.display="block";this.selectedLog=this.LOG_TYPES.CONTACTS;this.searchInput.value="";this.searchBarClearButton.style.display="none";this.getContacts();}.bind(this));return this.container;};this.start=function(){if(this.selectedLog==this.LOG_TYPES.CALL_LOG)this.getCallLogs();else this.getContacts(this.searchInput.value);if(this.updateInterval==null){this.updateInterval=setInterval(function(){var search=(this.searchInput.value.length>0?this.searchInput.value:null);if(this.selectedLog==this.LOG_TYPES.CALL_LOG)this.getCallLogs(search);else this.getContacts(search);}.bind(this),Globals.Phone_WIDGET_REFRESH_INTERVAL);} if(this.isHidden==false){this.container.style.opacity=0.0;this.container.style.display="inline-block";setTimeout(function(){this.container.style.opacity=1.0;}.bind(this),100);}};this.stop=function(){clearInterval(this.updateInterval);this.updateInterval=null;};this.collapse=function(){this.widgetTitleButton.classList.remove("TitleButton_collapse");this.widgetCallLogsTable.style.display="none";this.widgetContactsTable.style.display="none";this.widgetButtonsHolder.style.display="none";this.searchBar.style.opacity="0.0";this.searchBar.style.pointerEvents="none";this.isCollapsed=true;};this.expand=function(){if(this.selectedLog==this.LOG_TYPES.CALL_LOG){this.widgetCallLogsTable.style.display="block";}else{this.widgetContactsTable.style.display="block";} this.widgetButtonsHolder.style.display="block";this.widgetTitleButton.classList.add("TitleButton_collapse");this.searchBar.style.opacity="1.0";this.searchBar.style.pointerEvents="auto";this.isCollapsed=false;};this.populateTableWithCallLogs=function(data){this.widgetCallLogsTable.innerHTML="";for(var i=0;i0?data.chat_members:null);if(contacts!=null){for(var i=0;i0?"search="+search:"");request.postRequest(Globals.ServicesURL.getCallLogsURL,params,function(responseData){this.onGetCallLogsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetCallLogsFaild(statusCode,errorMessage)}.bind(this));};this.getContacts=function(search=null){var request=new NetworkRequest();var params=(search!=null&&search.length>0?"search="+search:"");request.postRequest(Globals.ServicesURL.getChatGroupsURL,params,function(responseData){this.onGetContactsSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetContactsFaild(statusCode,errorMessage)}.bind(this));};this.onGetContactsSuccess=function(responseData){if(this.updateInterval==null)return;if(this.selectedLog==this.LOG_TYPES.CONTACTS){var data=JSON.parse(responseData);this.populateTableWithContacts(data)}};this.onGetContactsFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);break;default:console.log("Error fetching open forms:",statusCode,errorMessage);}};this.onGetCallLogsSuccess=function(responseData){if(this.updateInterval==null)return;if(this.selectedLog==this.LOG_TYPES.CALL_LOG){var data=JSON.parse(responseData);this.populateTableWithCallLogs(data)}};this.onGetCallLogsFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;default:console.log("Error fetching bookmarked forms:",statusCode,errorMessage);}};} var ShiftButtonWidget=function(delegate){this.container=null;this.name="ShiftButtonWidget";this.menuIcon="/assets/images/icons/timer_black.svg";this.menuTitle=s[l].ShiftButtonWidgetTitleText;this.isHidden=false;this.isCollapsed=null;this.delegate=delegate;this.updateInterval=null;this.clock=null;this.locationInterval=null,this.latestLocation=null,this.skipOneUIUpdate=false,this.create=function(){this.container=document.createElement('div');this.container.className="ShiftButtonWidget";this.clockHolder=document.createElement('div');this.clockHolder.id="ClockHolder";this.container.appendChild(this.clockHolder);this.clock=(new ClockWidget()).create();this.clockHolder.appendChild(this.clock);this.shiftInfoHolder=document.createElement('div');this.shiftInfoHolder.id="ShiftButtonWidgetInfoHolder";this.container.appendChild(this.shiftInfoHolder);this.shiftInfoElapsedTime=document.createElement('div');this.shiftInfoElapsedTime.id="ShiftButtonWidgetInfoHolderElapsedTime";this.shiftInfoElapsedTimeTitleText=document.createElement('div');this.shiftInfoElapsedTimeTitleText.id="ShiftButtonWidgetInfoHolderElapsedTimeTitleText";this.shiftInfoElapsedTimeText=document.createElement('div');this.shiftInfoElapsedTimeText.id="ShiftButtonWidgetInfoHolderElapsedTimeText";this.shiftInfoElapsedTimePositionText=document.createElement('div');this.shiftInfoElapsedTimePositionText.id="ShiftButtonWidgetInfoHolderElapsedTimePositionText";this.shiftInfoElapsedTime.appendChild(this.shiftInfoElapsedTimeTitleText);this.shiftInfoElapsedTime.appendChild(this.shiftInfoElapsedTimeText);this.shiftInfoElapsedTime.appendChild(this.shiftInfoElapsedTimePositionText);this.shiftInfoHolder.appendChild(this.shiftInfoElapsedTime);this.shiftInfoStartTime=document.createElement('div');this.shiftInfoStartTime.id="ShiftButtonWidgetInfoHolderStartTime";this.shiftInfoStartTimeText=document.createElement('div');this.shiftInfoStartTimeText.id="ShiftButtonWidgetInfoHolderStartTimeText";this.shiftInfoStartTime.appendChild(this.shiftInfoStartTimeText);this.shiftInfoHolder.appendChild(this.shiftInfoStartTime);this.shiftInfoLocation=document.createElement('div');this.shiftInfoLocation.id="ShiftButtonWidgetInfoHolderLocation";this.shiftInfoLocationIcon=document.createElement('div');this.shiftInfoLocationIcon.id="ShiftButtonWidgetInfoHolderLocationIcon";this.shiftInfoLocationText=document.createElement('div');this.shiftInfoLocationText.id="ShiftButtonWidgetInfoHolderLocationText";this.shiftInfoLocation.appendChild(this.shiftInfoLocationIcon);this.shiftInfoLocation.appendChild(this.shiftInfoLocationText);this.shiftInfoHolder.appendChild(this.shiftInfoLocation);this.shiftToggleSwitchHolder=document.createElement('div');this.shiftToggleSwitchHolder.id="ShiftButtonWidgetToggleShiftHolder";this.shiftToggleSwitchHolder.innerHTML="";this.shiftToggleSwitch=new ShiftToggleSwitch("round",this);this.shiftToggleSwitchHolder.appendChild(this.shiftToggleSwitch.toggleSwitch);this.container.appendChild(this.shiftToggleSwitchHolder);this.shiftBreakButton=document.createElement('div');this.shiftBreakButton.className="ShiftBreakButton";this.shiftBreakButtonIcon=document.createElement('div');this.shiftBreakButtonIcon.className="Icon";this.shiftBreakButton.appendChild(this.shiftBreakButtonIcon);this.shiftBreakButtonText=document.createElement('div');this.shiftBreakButtonText.className="Text";this.shiftBreakButton.appendChild(this.shiftBreakButtonText);if(s[l].Direction=="rtl"){this.shiftBreakButtonText.classList.add("align_right");this.shiftBreakButtonText.classList.remove("align_left");}else{this.shiftBreakButtonText.classList.remove("align_right");this.shiftBreakButtonText.classList.add("align_left");} this.shiftBreakButtonText.innerHTML=s[l].ShiftButtonWidgetStartBreakButtonText;this.shiftToggleSwitchHolder.appendChild(this.shiftBreakButton);this.shiftBreakButton.addEventListener("click",function(){this.onShiftBreakButtonPressed();}.bind(this));return this.container;},this.start=function(){if(this.isHidden==false){this.container.style.opacity=0.0;this.container.style.display="inline-block";setTimeout(function(){this.container.style.opacity=1.0;}.bind(this),100);} setTimeout(function(){if(Application.timetrackingServiceEnabled==true){this.checkAndUpdateShiftData();this.updateInterval=setInterval(function(){this.checkAndUpdateShiftData();}.bind(this),Globals.SHIFT_BUTTON_WIDGET_REFRESH_INTERVAL);}else{this.delegate.onWidgetUnauthorized(this);}}.bind(this),100);},this.stop=function(){if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;},this.checkAndUpdateShiftData=function(){var activeShift=Application.activeShift;this.updateShiftData(activeShift)},this.updateShiftData=function(shiftData){if(shiftData==null){this.shiftBreakButton.style.display="none";this.shiftInfoHolder.style.display="none";this.clockHolder.style.display="block";this.shiftToggleSwitch.setSelected(false);clearInterval(this.shiftTimer);}else{this.shiftBreakButton.style.display="inline-block";this.shiftInfoHolder.style.display="block";this.clockHolder.style.display="none";this.shiftInfoElapsedTimeTitleText.innerHTML=s[l].ShiftButtonWidgetInfoHolderElapsedTimeTitleText;this.shiftInfoElapsedTimePositionText.innerHTML=shiftData.position;if(Application.activeShift.checkin_location!=undefined&&Application.activeShift.checkin_location!=null){var location=JSON.parse(Application.activeShift.checkin_location);if(location.address!=undefined){this.shiftInfoLocationText.innerHTML=location.address;}} this.shiftToggleSwitch.setSelected(true);if(this.shiftTimer!=null)clearInterval(this.shiftTimer);this.shiftTimer=setInterval(function(){this.delegate.updateShiftTime(this.shiftData);}.bind({delegate:this,shiftData:shiftData}),1000);this.updateShiftTime(shiftData);if(this.skipOneUIUpdate==false){if(parseInt(shiftData.on_a_break)==0){this.shiftBreakButton.classList.remove("BreakButtonActive");this.shiftBreakButtonText.innerHTML=s[l].ShiftButtonWidgetStartBreakButtonText;this.shiftBreakButtonIcon.style.backgroundImage="url('/assets/images/icons/timer_play_white.svg')";}else{this.shiftBreakButton.classList.add("BreakButtonActive");this.shiftBreakButtonText.innerHTML=s[l].ShiftButtonWidgetEndBreakButtonText;this.shiftBreakButtonIcon.style.backgroundImage="url('/assets/images/icons/alarm_paused_white.svg')";}}else{this.skipOneUIUpdate=false;}}},this.onShiftBreakButtonPressed=function(){if(Application.activeShift!=null){var shift=Application.activeShift;var tid=shift.tid;if(parseInt(shift.on_a_break)==0){Application.startBreak(tid);this.shiftBreakButtonText.innerHTML=s[l].ShiftButtonWidgetEndBreakButtonText;this.shiftBreakButtonIcon.style.backgroundImage="url('/assets/images/icons/alarm_paused_white.svg')";this.shiftBreakButton.classList.add("BreakButtonActive");}else{Application.endBreak(tid);this.shiftBreakButtonText.innerHTML=s[l].ShiftButtonWidgetStartBreakButtonText;this.shiftBreakButtonIcon.style.backgroundImage="url('/assets/images/icons/timer_play_white.svg')";this.shiftBreakButton.classList.remove("BreakButtonActive");} this.skipOneUIUpdate=true;}},this.updateShiftTime=function(shiftData){var time=Date.getTimeString(shiftData.start_time);var startTime=new Date(shiftData.start_time);this.shiftInfoStartTimeText.innerHTML=s[l].ShiftButtonWidgetStartTimeText+" "+(s[l].DaysOfWeek[startTime.getDay()])+" "+s[l].ShiftButtonWidgetStartTimeAtText+" "+time;if(shiftData!=null&&parseInt(shiftData.on_a_break)==1){if(shiftData.breaks!=null){var breaks=JSON.parse(shiftData.breaks);for(var i=0;i=5&&hour<9){this.widgetTable.classList.add('Theme_Sunrise');}else if(hour>=9&&hour<17){this.widgetTable.classList.add('Theme_Daytime');}else if(hour>=17&&hour<20){this.widgetTable.classList.add('Theme_Sunset');}else{this.widgetTable.classList.add('Theme_Nighttime');} var currentWeather=data.current_weather;var forecast=data.forecast;var address=data.address;this.widgetTable.innerHTML="";if(s[l].Direction=="rtl"){this.widgetTable.classList.add("rtl");}else{this.widgetTable.classList.remove("rtl");} var todayHolder=document.createElement('div');todayHolder.className="Today";this.widgetTable.appendChild(todayHolder);var weatherIcon=document.createElement('div');weatherIcon.className="WeatherIcon";todayHolder.appendChild(weatherIcon);this.loadSVGInline(currentWeather.weather_icon,weatherIcon);this.loadSVGInline(currentWeather.weather_icon,this.widgetTitleIcon);this.widgetTitleIcon.style.backgroundImage="";var infoHolder=document.createElement('div');infoHolder.className="InfoHolder";todayHolder.appendChild(infoHolder);var addressText=document.createElement('div');addressText.className="Address";addressText.innerHTML=address.city+", "+address.country;infoHolder.appendChild(addressText);var description=document.createElement('div');description.className="Description";description.innerHTML=currentWeather.weather_description;infoHolder.appendChild(description);var temperature=document.createElement('div');temperature.className="Temperature";temperature.innerHTML=currentWeather.temperature+currentWeather.temp_units;this.widgetTitleItemsCount.innerHTML=currentWeather.temperature+currentWeather.temp_units;infoHolder.appendChild(temperature);var windspeed=document.createElement('div');windspeed.className="Windspeed";if(s[l].Direction=="rtl"){windspeed.classList.add("Windspeed_rtl");}else{windspeed.classList.remove("Windspeed_rtl");} windspeed.innerHTML=currentWeather.windspeed_description+": "+currentWeather.windspeed+" "+s[l].WeatherWidgetWindSpeedUnits;infoHolder.appendChild(windspeed);for(var i=0;i0){this.widgetTableOverlay=document.createElement('div');this.widgetTableOverlay.className="TableOverlay";this.widgetTable.appendChild(this.widgetTableOverlay);}},this.startUpdateInterval=function(){if(Application.location!=undefined&&Application.location!=null){this.getWeatherForcast(Application.location.coords.latitude,Application.location.coords.longitude);if(this.updateInterval==null){if(this.updateInterval==null){this.updateInterval=setInterval(function(){this.getWeatherForcast(Application.location.coords.latitude,Application.location.coords.longitude);}.bind(this),Globals.WEATHER_WIDGET_REFRESH_INTERVAL);}}}else{setTimeout(function(){this.startUpdateInterval();}.bind(this),1000);}},this.loadSVGInline=function(url,container){fetch(url).then(response=>response.text()).then(svg=>{container.innerHTML=svg;}).catch(error=>console.error('Error loading SVG:',error));} this.getWeatherForcast=function(lat,lon){var request=new NetworkRequest();var params="lat="+lat+"&lon="+lon;request.postRequest(Globals.ServicesURL.getWeatherForecastURL,params,function(responseData){this.onGetWeatherSuccess(responseData)}.bind(this),function(statusCode,errorMessage){this.onGetWeatherFaild(statusCode,errorMessage)}.bind(this));},this.onGetWeatherSuccess=function(responseData){if(this.updateInterval==null)return;var data=JSON.parse(responseData);this.populateTable(data)},this.onGetWeatherFaild=function(statusCode,errorMessage){switch(parseInt(statusCode)){case 401:if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;case 403:if(this.delegate!=null&&this.delegate.onWidgetUnauthorized!=undefined)this.delegate.onWidgetUnauthorized(this);if(this.updateInterval!=null)clearInterval(this.updateInterval);this.updateInterval=null;break;default:console.log("Error fetching weather:",statusCode,errorMessage);}}};