{"version":3,"sources":["master.js"],"names":["projectContactLabel","initScheduler","$el","PJQ","app","session","preferences","hasPref","constants","preferenceTypes","PROJECT_USER_1_LABEL","getPref","fetchUsers","users","ajax","Request","endpoint","helpers","urlHelpers","generateEndpoint","get","done","_","bind","eventTypes","templating","TemplateRenderer","renderTemplate","Template","modules","PANTERASCHEDULE","isOldModule","models","filterUserId","PROJECT_SCHEDULE_FILTER_USER_ID","user","id","renderScheduler","this","scheduler","date","date_to_str","jQuery","parent","css","templates","tooltip_text","start","end","event","eventName","text","projectId","projectName","projectAddress1","projectAddress2","projectCity","projectState","projectZip","event_header","startIsUnionStatusRequired","ev","event_text","getState","new_event","event_bar_text","event_bar_date","fieldId","dtemp","Date","h","getHours","ampm","hr","toString","min","getMinutes","hasPermission","attachEvent","event_id","mode","native_event_object","getEvent","masterUserId","showLightbox","lightbox_header","locale","labels","section_project","section_evtype","section_time","form_blocks","render","sns","set_value","node","value","ploc","html","pcsz","projectContact","projectContactEmail","attr","click","pid","__doPostBack","alert","get_value","focus","ds","start_date","tim","val","datepicker","formatDate","removeAttr","evtim","dt","getFullYear","getMonth","getDate","getSeconds","getMilliseconds","de","setHours","setDate","end_date","config","lightbox","sections","name","height","map_to","type","readonly","numberOfMonths","showButtonPanel","buttonImage","buttonImageOnly","reSizeCal","event_object","scheduleId","resetLightbox","hour_date","details_on_create","details_on_dblclick","time_step","show_loading","auto_end_date","event_duration","first_hour","last_hour","start_on_monday","multi_day","xml_date","dhtmlXTooltip","delta_x","delta_y","timeout_to_hide","xy","bar_height","filter_day","filter_week","filter_month","filter_timeline","ev_id","selUserId","selEventId","userId","user2Id","init","setLoadMode","prevent_cache","clearAll","load","guid","dataProcessor","validator","addMethod","element","c","test","e","split","f","parseInt","g","i","optional","ht","wd","width","ot","offset","top","ol","left","ht2","saveics","data","exportData","toICal","fileExtension","post","success","files","downloadFile","url","isEndpoint","savepdf","result","toPDF","calexpdone","response","dialog","resizable","modal","buttons","Close","navToProject","$","remove","router","navigate","trigger"],"mappings":"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","file":"app.js","sourcesContent":["let projectContactLabel = 'Estimating Coordinator';\n\nfunction initScheduler($el) {\n\tif (PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.PROJECT_USER_1_LABEL)) {\n\t\tprojectContactLabel = PJQ.app.session.preferences.getPref(PJQ.constants.preferenceTypes.PROJECT_USER_1_LABEL);\n\t}\n\n\tPJQ.app.session.fetchUsers(function (users) {\n\t\tnew PJQ.ajax.Request({\n\t\t\tendpoint: PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t\t{\n\t\t\t\t\tendpoint: 'schedule',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tendpoint: 'eventtypes'\n\t\t\t\t}\n\t\t\t])\n\t\t}).get().done(_.bind(function (eventTypes) {\n\t\t\tPJQ.templating.TemplateRenderer.renderTemplate(false, new PJQ.templating.Template(PJQ.constants.modules.PANTERASCHEDULE, 'Master', {isOldModule: true}), $el, {\n\t\t\t\teventTypes: eventTypes,\n\t\t\t\tusers: users.models,\n\t\t\t\tfilterUserId: PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.PROJECT_SCHEDULE_FILTER_USER_ID) ? PJQ.app.session.preferences.getPref(PJQ.constants.preferenceTypes.PROJECT_SCHEDULE_FILTER_USER_ID) : PJQ.app.session.user.id\n\t\t\t}, function () {\n\t\t\t\trenderScheduler();\n\t\t\t});\n\t\t}, this));\n\t});\n}\n\nfunction renderScheduler() {\n\tlet format = scheduler.date.date_to_str(\"%Y-%m-%d\");\n\tjQuery('#scheduler_here').parent().css('width', '100%');\n\tjQuery('#scheduler_here').parent().css('height', '100%');\n\tjQuery('#scheduler_here').parent().parent().css('width', '100%');\n\tjQuery('#scheduler_here').parent().parent().css('height', '100%');\n\tscheduler.templates.tooltip_text = function (start, end, event) {\n\t\tif (event.eventName === 'Misc')\n\t\t\treturn \"
Event:\" + event.eventName + \"
Description:\" + event.text + \"
\";\n\t\telse\n\t\t\treturn \"
Event:\" + event.eventName + \"
Project:\" + event.projectName + \"
Location:\" + event.projectAddress1 + \"
\" + event.projectAddress2 + \"
City, State, Zip:\" + event.projectCity + \", \" + event.projectState + \" \" + event.projectZip + \"
\";\n\n\t};\n\tscheduler.templates.event_header = function (startIsUnionStatusRequired, end, ev) {\n\t\tlet en = ev.eventName || 'New Event';\n\t\treturn '' + en + '';\n\t};\n\tscheduler.templates.event_text = function (start, end, ev) {\n\t\tif ((scheduler.getState().new_event && !ev.id) || ev.eventName == null)\n\t\t\treturn ev.eventName || 'New Event';\n\t\telse\n\t\t\treturn ev.projectName + ' - ' + ev.projectCity + ',' + ev.projectState;\n\t};\n\tscheduler.templates.event_bar_text = function (start, end, ev) {\n\t\tif ((scheduler.getState().new_event && !ev.id) || ev.eventName == null)\n\t\t\treturn ev.eventName || 'New Event';\n\t\telse {\n\t\t\tif (ev.eventName === 'Misc')\n\t\t\t\treturn ev.eventName + ' - ' + ev.text;\n\t\t\telse\n\t\t\t\treturn ev.eventName + ' - ' + ev.projectName + ' - ' + ev.projectCity + ', ' + ev.projectState;\n\t\t}\n\t};\n\tscheduler.templates.event_bar_date = function (start, end, ev) {\n\t\tif (null != ev.fieldId && ev.fieldId < 0) {\n\t\t\tlet dtemp = new Date(start),\n\t\t\t\th = dtemp.getHours(),\n\t\t\t\tampm = 'AM';\n\t\t\tif (h > 12) {\n\t\t\t\th = h - 12;\n\t\t\t\tampm = 'PM';\n\t\t\t}\n\t\t\telse if (h === 12) {\n\t\t\t\tampm = 'PM';\n\t\t\t}\n\t\t\tlet hr = h.toString();\n\t\t\tif (h === 0)\n\t\t\t\thr = '12';\n\t\t\tlet min = dtemp.getMinutes().toString();\n\t\t\tif (dtemp.getMinutes() < 10)\n\t\t\t\tmin = '0' + dtemp.getMinutes().toString();\n\t\t\treturn hr + ':' + min + ' ' + ampm + ' - ';\n\t\t}\n\t\telse {\n\t\t\tlet dtemp = new Date(start),\n\t\t\t\th = dtemp.getHours();\n\t\t\tif (h === 12)\n\t\t\t\treturn '';\n\t\t\telse {\n\t\t\t\tlet ampm = 'AM';\n\t\t\t\tif (h > 12) {\n\t\t\t\t\th = h - 12;\n\t\t\t\t\tampm = 'PM';\n\t\t\t\t}\n\t\t\t\telse if (h === 12) {\n\t\t\t\t\tampm = 'PM';\n\t\t\t\t}\n\t\t\t\tlet hr = h.toString();\n\t\t\t\tif (h === 0)\n\t\t\t\t\thr = '12';\n\t\t\t\tlet min = dtemp.getMinutes().toString();\n\t\t\t\tif (dtemp.getMinutes() < 10)\n\t\t\t\t\tmin = '0' + dtemp.getMinutes().toString();\n\t\t\t\treturn hr + ':' + min + ' ' + ampm + ' - ';\n\t\t\t}\n\t\t}\n\t\t//return scheduler.templates.event_date(start)+' ';\n\t};\n\n\tif (PJQ.app.session.hasPermission('calendar.isAdmin')) {\n\t\tscheduler.attachEvent(\"onBeforeDrag\", function (event_id, mode, native_event_object) {\n\t\t\tif ('resize' === mode)\n\t\t\t\treturn false;\n\n\t\t\tlet ev = this.getEvent(event_id);\n\t\t\treturn !(null != ev && ev.masterUserId !== PJQ.app.session.get('masterUserId'));\n\t\t});\n\t}\n\tscheduler.attachEvent(\"onClick\", function (event_id, native_event_object) {\n\t\tscheduler.showLightbox(event_id);\n\t\treturn false;\n\t});\n\tscheduler.templates.lightbox_header = function (start, end, ev) {\n\t\tlet en = ev.eventName || 'New Event';\n\t\treturn '' + en + '';\n\t};\n\tscheduler.locale.labels.section_project = \"Project Info\";\n\tscheduler.locale.labels.section_evtype = \"Event Type\";\n\tscheduler.locale.labels.section_time = \"Event Date\";\n\n\tscheduler.form_blocks[\"projectInfo\"] = {\n\t\trender: function (sns) {\n\t\t\treturn \"
Event:
Project:
Location:
City, State, Zip:
\";\n\t\t},\n\t\tset_value: function (node, value, ev) {\n\t\t\tjQuery('#levname').text(ev.eventName);\n\t\t\tjQuery('#levprojname').text(ev.projectName || 'N/A');\n\t\t\tif (null != ev.projectId && ev.projectId > 0) {\n\t\t\t\tlet ploc = ev.projectAddress1;\n\t\t\t\tif (\"\" !== ev.projectAddress2)\n\t\t\t\t\tploc += '
' + ev.projectAddress2;\n\t\t\t\tjQuery('#levprojloc').html(ploc || '');\n\t\t\t\tlet pcsz = ev.projectCity + ', ' + ev.projectState + ' ' + ev.projectZip;\n\t\t\t\tjQuery('#levprojcsz').text(pcsz || '');\n\t\t\t\tjQuery('#levprojcontlabel').text(projectContactLabel + ':');\n\t\t\t\tjQuery('#levprojcont').html(ev.projectContact + \" - \" + ev.projectContactEmail + \"\");\n\t\t\t\tjQuery('#aprojname').attr('pjq-project-id', ev.projectId);\n\t\t\t\tjQuery('#aprojname').click(function () {\n\t\t\t\t\tlet pid = jQuery(this).attr('pjq-project-id');\n\t\t\t\t\t__doPostBack(\"SelectProject\", pid);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tjQuery('#levprojloc').text('');\n\t\t\t\tjQuery('#levprojcsz').text('');\n\t\t\t\tjQuery('#aprojname').click(function () {\n\t\t\t\t\talert(\"This Event is not tied to a Project. To create a Project-based event, please do so from the Project Wall.\");\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tget_value: function (node, ev) {\n\t\t\treturn jQuery('#levprojname').text();\n\t\t},\n\t\tfocus: function (node) {\n\t\t}\n\t};\n\tscheduler.form_blocks[\"time\"] = {\n\t\trender: function (sns) {\n\t\t\treturn \"
 
\";\n\t\t},\n\t\tset_value: function (node, value, ev) {\n\t\t\tlet ds = new Date(ev.start_date),\n\t\t\t\ttim = '12:00 AM';\n\t\t\tif (ds.getHours() > 0 && ds.getHours() < 10)\n\t\t\t\ttim = '0' + ds.getHours().toString() + ':00 AM';\n\t\t\telse if (ds.getHours() > 9 && ds.getHours() < 13)\n\t\t\t\ttim = ds.getHours().toString() + ':00 AM';\n\t\t\telse if (ds.getHours() > 12 && ds.getHours() < 22)\n\t\t\t\ttim = '0' + (ds.getHours() - 12).toString() + ':00 PM';\n\t\t\telse\n\t\t\t\ttim = (ds.getHours() - 12).toString() + ':00 PM';\n\n\t\t\tjQuery('#ev_start').val(jQuery.datepicker.formatDate('mm/dd/yy', ev.start_date));\n\t\t\tif (null != ev.fieldId && ev.fieldId < 0) {\n\t\t\t\tjQuery('#sevtime').css('display', '');\n\t\t\t\tjQuery('#ev_time').val(tim);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tjQuery('#sevtime').css('display', 'none');\n\t\t\t\tjQuery('#ev_time').val('');\n\t\t\t}\n\n\t\t\tif (ev.masterUserId !== PJQ.app.session.get('masterUserId')) {\n\t\t\t\tjQuery('#ev_start').attr('disabled', 'disabled');\n\t\t\t\tjQuery('#ev_time').attr('disabled', 'disabled');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tjQuery('#ev_start').removeAttr('disabled');\n\t\t\t\tjQuery('#ev_time').removeAttr('disabled');\n\t\t\t}\n\t\t},\n\t\tget_value: function (node, ev) {\n\t\t\tlet tim = ' 12:00 AM',\n\t\t\t\tevtim = jQuery('#ev_time').val();\n\t\t\tif (evtim !== '')\n\t\t\t\ttim = ' ' + jQuery('#ev_time').val();\n\n\t\t\tlet dt = new Date(jQuery('#ev_start').val() + tim),\n\t\t\t\tds = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes(), dt.getSeconds(), dt.getMilliseconds()),\n\t\t\t\tde = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes(), dt.getSeconds(), dt.getMilliseconds());\n\t\t\tif (evtim !== '')\n\t\t\t\tde.setHours(ds.getHours() + 1);\n\t\t\telse\n\t\t\t\tde.setDate(ds.getDate() + 1);\n\t\t\tev.start_date = ds;\n\t\t\tev.end_date = de;\n\t\t\treturn jQuery.datepicker.formatDate('yy-mm-dd', ds);\n\t\t},\n\t\tfocus: function (node) {\n\t\t}\n\t};\n\n\tscheduler.config.lightbox.sections = [\n\t\t{name: \"project\", height: 70, map_to: \"projectName\", type: \"projectInfo\", focus: false},\n\t\t{name: \"description\", height: 50, map_to: \"text\", type: \"textarea\", focus: true},\n\t\t{name: \"time\", height: 72, type: \"time\", map_to: \"ev_start\"}\n\t];\n\tscheduler.config.readonly = !PJQ.app.session.hasPermission('calendar.isAdmin');\n\n\tscheduler.attachEvent(\"onLightbox\", function (event_id) {\n\t\tjQuery('#ev_start').datepicker({\n\t\t\tnumberOfMonths: 3,\n\t\t\tshowButtonPanel: true,\n\t\t\tbuttonImage: \"/i/calendar.png\",\n\t\t\tbuttonImageOnly: true\n\t\t});\n\t\tif (null != jQuery('.dhx_multi_day'))\n\t\t\treSizeCal();\n\t\treturn true;\n\t});\n\n\tscheduler.attachEvent(\"onEventCreated\", function (event_id, event_object) {\n\t\tlet ev = this.getEvent(event_id);\n\t\tev.eventName = 'Misc';\n\t\tev.scheduleId = 0;\n\t\tev.masterUserId = PJQ.app.session.get('masterUserId');\n\t\tev.fieldId = -2;\n\t\treturn true;\n\t});\n\n\tscheduler.attachEvent(\"onBeforeLightbox\", function (id) {\n\t\tlet ev = this.getEvent(id);\n\t\t//scheduler.config.buttons_right = (scheduler.getState().new_event || ev.eventName != 'Misc') ? [] : [\"dhx_delete_btn\"];\n\t\tscheduler.resetLightbox();\n\t\treturn true;\n\t});\n\n\tscheduler.config.hour_date = \"%h:%i %A\";\n\tscheduler.config.details_on_create = true;\n\tscheduler.config.details_on_dblclick = true;\n\tscheduler.config.time_step = 60;\n\tscheduler.config.show_loading = true;\n\tscheduler.config.auto_end_date = true;\n\tscheduler.config.event_duration = 60;\n\tscheduler.config.first_hour = 0;\n\tscheduler.config.last_hour = 24;\n\tscheduler.config.start_on_monday = true;\n\tscheduler.config.multi_day = true;\n\tscheduler.config.xml_date = \"%Y-%m-%d %H:%i\";\n\tdhtmlXTooltip.config.delta_x = -5;\n\tdhtmlXTooltip.config.delta_y = -5;\n\tdhtmlXTooltip.config.timeout_to_hide = 2000;\n\tscheduler.xy.bar_height = 44;\n\n\tscheduler.attachEvent(\"onViewChange\", function (mode, date) {\n\t\tif ((mode === 'day' || mode === 'week') && null != jQuery('.dhx_multi_day')) {\n\t\t\treSizeCal();\n\t\t}\n\t\treturn true;\n\t});\n\n\tscheduler.attachEvent(\"onAfterSchedulerResize\", function () {\n\t\treSizeCal();\n\t\treturn true;\n\t});\n\tscheduler.attachEvent(\"onAfterLightbox\", function () {\n\t\treSizeCal();\n\t\treturn true;\n\t});\n\tscheduler.attachEvent(\"onEventDeleted\", function () {\n\t\treSizeCal();\n\t\treturn true;\n\t});\n\tscheduler.attachEvent(\"onEventSave\", function () {\n\t\treSizeCal();\n\t\treturn true;\n\t});\n\tscheduler.attachEvent(\"onEventCancel\", function () {\n\t\treSizeCal();\n\t\treturn true;\n\t});\n\n\tscheduler.filter_day = scheduler.filter_week = scheduler.filter_month = scheduler.filter_timeline = function (ev_id, event) {\n\t\tlet selUserId = jQuery('#SelUser').val(),\n\t\t\tselEventId = jQuery('#SelEvent').val();\n\t\tif (selUserId !== '' && selUserId !== event.userId && selUserId !== event.user2Id)\n\t\t\treturn false;\n\t\telse if (selEventId !== '' && selEventId !== event.eventName)\n\t\t\treturn false;\n\t\treturn true;\n\t};\n\tscheduler.init(\"scheduler_here\", new Date(), \"month\");\n\tscheduler.setLoadMode(\"month\");\n\tscheduler.config.prevent_cache = true;\n\tscheduler.clearAll();\n\tscheduler.load(\"/DesktopModules/PanteraSchedule/GetProjSched.aspx?sid=\" + PJQ.app.session.id + \"&guid=\" + PJQ.helpers.guid());\n\tlet dp = new dataProcessor(\"/DesktopModules/PanteraSchedule/UpdProjSched.aspx?sid=\" + PJQ.app.session.id);\n\tdp.init(scheduler);\n\n\tjQuery.validator.addMethod(\"datePT\", function (value, element) {\n\t\tlet c = !1, d = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/;\n\t\tif (d.test(value)) {\n\t\t\tlet e = value.split(\"/\"), f = parseInt(e[0], 10), g = parseInt(e[1], 10), h = parseInt(e[2], 10),\n\t\t\t\ti = new Date(h, f - 1, g);\n\t\t\ti.getFullYear() === h && i.getMonth() === f - 1 && i.getDate() === g ? c = !0 : c = !1\n\t\t}\n\t\telse\n\t\t\tc = !1;\n\t\treturn this.optional(element) || c;\n\t}, \"Please enter a valid date.\");\n\n}\n\nfunction reSizeCal() {\n\tif (null == jQuery('.dhx_multi_day'))\n\t\treturn;\n\tlet ht = jQuery('.dhx_multi_day').height(),\n\t\twd = jQuery('.dhx_multi_day').width();\n\tif (ht > 180) {\n\t\tjQuery('.dhx_multi_day').css('height', '180px');\n\t\tlet ot = jQuery('#scheduler_here').offset().top + 120,\n\t\t\tol = jQuery('#scheduler_here').offset().left + 10;\n\t\tjQuery('.dhx_multi_day_icon').css('background-position', ol.toString() + 'px ' + ot.toString() + 'px');\n\t\tjQuery('.dhx_multi_day_icon').css('background-attachment', 'fixed');\n\t\tjQuery('.dhx_multi_day_icon').css('background-repeat', 'no-repeat');\n\t\tjQuery('.dhx_multi_day').css('width', wd.toString() + 'px');\n\t\tjQuery('.dhx_multi_day').css('overflow', 'auto');\n\n\t\tlet ht2 = jQuery('.dhx_cal_data').height() + (ht - 180);\n\t\tjQuery('.dhx_cal_data').css('height', ht2.toString() + 'px');\n\t\tjQuery('.dhx_cal_data').css('top', '224px');\n\t}\n}\n\nfunction saveics() {\n\tnew PJQ.ajax.Request({\n\t\tendpoint: PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'schedule'\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'exportold'\n\t\t\t}\n\t\t]),\n\t\tdata: {\n\t\t\texportData: scheduler.toICal(),\n\t\t\tfileExtension: 'ics'\n\t\t}\n\t}).post().success(_.bind(function (data) {\n\t\tPJQ.files.downloadFile(data.url, { isEndpoint: false });\n\t}, this));\n\t//PanteraScript.PanteraScriptService.SaveExport(scheduler.toICal(), 'ics', calexpdone, onScriptError);\n}\n\nfunction savepdf() {\n\tlet result = scheduler.toPDF('/DesktopModules/PanteraSchedule/CalExport.aspx');\n\tnew PJQ.ajax.Request({\n\t\tendpoint: PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'schedule'\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'exportold'\n\t\t\t}\n\t\t]),\n\t\tdata: {\n\t\t\texportData: result,\n\t\t\tfileExtension: 'pdf'\n\t\t}\n\t}).post().success(_.bind(function (data) {\n\t\tPJQ.files.downloadFile(data.url, { isEndpoint: false });\n\t}, this));\n\t//PanteraScript.PanteraScriptService.SaveExport(result, 'pdf', calexpdone, onScriptError);\n}\n\nfunction calexpdone(response) {\n\t//jQuery('#DownloadFrame2').attr('src', response);\n\n\tjQuery(\"#dl_export\").attr('href', response);\n\tjQuery(\"#dlg-export\").dialog({\n\t\tresizable: false,\n\t\theight: 230,\n\t\tmodal: true,\n\t\tbuttons: {\n\t\t\t\"Close\": function () {\n\t\t\t\tjQuery(this).dialog(\"close\");\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction navToProject(projectId) {\n\t$('.dhtmlXTooltip').remove();\n\tPJQ.app.router.navigate('projects/' + projectId, {\n\t\ttrigger: true\n\t});\n}"]}