copy dari repo om Irfan
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
|
||||
|
||||
(function( $ ) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var initCalendarDragNDrop = function() {
|
||||
$('#external-events div.external-event').each(function() {
|
||||
|
||||
// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
|
||||
// it doesn't need to have a start or end
|
||||
var eventObject = {
|
||||
title: $.trim($(this).text()) // use the element's text as the event title
|
||||
};
|
||||
|
||||
// store the Event Object in the DOM element so we can get to it later
|
||||
$(this).data('eventObject', eventObject);
|
||||
|
||||
// make the event draggable using jQuery UI
|
||||
$(this).draggable({
|
||||
zIndex: 999,
|
||||
revert: true, // will cause the event to go back to its
|
||||
revertDuration: 0 // original position after the drag
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
var initCalendar = function() {
|
||||
var $calendar = $('#calendar');
|
||||
var date = new Date();
|
||||
var d = date.getDate();
|
||||
var m = date.getMonth();
|
||||
var y = date.getFullYear();
|
||||
|
||||
$calendar.fullCalendar({
|
||||
header: {
|
||||
left: 'title',
|
||||
right: 'prev,today,next,basicDay,basicWeek,month'
|
||||
},
|
||||
|
||||
timeFormat: 'h:mm',
|
||||
|
||||
titleFormat: {
|
||||
month: 'MMMM YYYY', // September 2009
|
||||
week: "MMM d YYYY", // Sep 13 2009
|
||||
day: 'dddd, MMM d, YYYY' // Tuesday, Sep 8, 2009
|
||||
},
|
||||
|
||||
themeButtonIcons: {
|
||||
prev: 'fa fa-caret-left',
|
||||
next: 'fa fa-caret-right',
|
||||
},
|
||||
|
||||
editable: true,
|
||||
droppable: true, // this allows things to be dropped onto the calendar !!!
|
||||
drop: function(date, allDay) { // this function is called when something is dropped
|
||||
var $externalEvent = $(this);
|
||||
// retrieve the dropped element's stored Event Object
|
||||
var originalEventObject = $externalEvent.data('eventObject');
|
||||
|
||||
// we need to copy it, so that multiple events don't have a reference to the same object
|
||||
var copiedEventObject = $.extend({}, originalEventObject);
|
||||
|
||||
// assign it the date that was reported
|
||||
copiedEventObject.start = date;
|
||||
copiedEventObject.allDay = allDay;
|
||||
copiedEventObject.className = $externalEvent.attr('data-event-class');
|
||||
|
||||
// render the event on the calendar
|
||||
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
|
||||
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
|
||||
|
||||
// is the "remove after drop" checkbox checked?
|
||||
if ($('#RemoveAfterDrop').is(':checked')) {
|
||||
// if so, remove the element from the "Draggable Events" list
|
||||
$(this).remove();
|
||||
}
|
||||
|
||||
},
|
||||
events: [
|
||||
{
|
||||
title: 'All Day Event',
|
||||
start: new Date(y, m, 1)
|
||||
},
|
||||
{
|
||||
title: 'Long Event',
|
||||
start: new Date(y, m, d-5),
|
||||
end: new Date(y, m, d-2)
|
||||
},
|
||||
{
|
||||
id: 999,
|
||||
title: 'Repeating Event',
|
||||
start: new Date(y, m, d-3, 16, 0),
|
||||
allDay: false
|
||||
},
|
||||
{
|
||||
id: 999,
|
||||
title: 'Repeating Event',
|
||||
start: new Date(y, m, d+4, 16, 0),
|
||||
allDay: false
|
||||
},
|
||||
{
|
||||
title: 'Meeting',
|
||||
start: new Date(y, m, d, 10, 30),
|
||||
allDay: false
|
||||
},
|
||||
{
|
||||
title: 'Lunch',
|
||||
start: new Date(y, m, d, 12, 0),
|
||||
end: new Date(y, m, d, 14, 0),
|
||||
allDay: false,
|
||||
className: 'fc-event-danger'
|
||||
},
|
||||
{
|
||||
title: 'Birthday Party',
|
||||
start: new Date(y, m, d+1, 19, 0),
|
||||
end: new Date(y, m, d+1, 22, 30),
|
||||
allDay: false
|
||||
},
|
||||
{
|
||||
title: 'Click for Google',
|
||||
start: new Date(y, m, 28),
|
||||
end: new Date(y, m, 29),
|
||||
url: 'http://google.com/'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
// FIX INPUTS TO BOOTSTRAP VERSIONS
|
||||
var $calendarButtons = $calendar.find('.fc-header-right > span');
|
||||
$calendarButtons
|
||||
.filter('.fc-button-prev, .fc-button-today, .fc-button-next')
|
||||
.wrapAll('<div class="btn-group mt-sm mr-md mb-sm ml-sm"></div>')
|
||||
.parent()
|
||||
.after('<br class="hidden"/>');
|
||||
|
||||
$calendarButtons
|
||||
.not('.fc-button-prev, .fc-button-today, .fc-button-next')
|
||||
.wrapAll('<div class="btn-group mb-sm mt-sm"></div>');
|
||||
|
||||
$calendarButtons
|
||||
.attr({ 'class': 'btn btn-sm btn-default' });
|
||||
};
|
||||
|
||||
$(function() {
|
||||
initCalendar();
|
||||
initCalendarDragNDrop();
|
||||
});
|
||||
|
||||
}).apply(this, [ jQuery ]);
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
(function($) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var $document,
|
||||
idleTime;
|
||||
|
||||
$document = $(document);
|
||||
|
||||
$(function() {
|
||||
$.idleTimer( 10000 ); // ms
|
||||
|
||||
$document.on( 'idle.idleTimer', function() {
|
||||
// if you don't want the modal
|
||||
// you can make a redirect here
|
||||
LockScreen.show();
|
||||
});
|
||||
});
|
||||
|
||||
}).apply( this, [ jQuery ]);
|
||||
@@ -0,0 +1,144 @@
|
||||
(function( $ ) {
|
||||
|
||||
/*
|
||||
Thumbnail: Select
|
||||
*/
|
||||
$('.mg-option input[type=checkbox]').on('change', function( ev ) {
|
||||
var wrapper = $(this).parents('.thumbnail');
|
||||
if($(this).is(':checked')) {
|
||||
wrapper.addClass('thumbnail-selected');
|
||||
} else {
|
||||
wrapper.removeClass('thumbnail-selected');
|
||||
}
|
||||
});
|
||||
|
||||
$('.mg-option input[type=checkbox]:checked').trigger('change');
|
||||
|
||||
/*
|
||||
Toolbar: Select All
|
||||
*/
|
||||
$('#mgSelectAll').on('click', function( ev ) {
|
||||
ev.preventDefault();
|
||||
var $this = $(this),
|
||||
$label = $this.find('> span');
|
||||
$checks = $('.mg-option input[type=checkbox]');
|
||||
|
||||
if($this.attr('data-all-selected')) {
|
||||
$this.removeAttr('data-all-selected');
|
||||
$checks.prop('checked', false).trigger('change');
|
||||
$label.html($label.data('all-text'));
|
||||
} else {
|
||||
$this.attr('data-all-selected', 'true');
|
||||
$checks.prop('checked', true).trigger('change');
|
||||
$label.html($label.data('none-text'));
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
Image Preview: Lightbox
|
||||
*/
|
||||
$('.thumb-preview a[href]').magnificPopup({
|
||||
type: 'image',
|
||||
closeOnContentClick: true,
|
||||
mainClass: 'mfp-img-mobile',
|
||||
image: {
|
||||
verticalFit: true
|
||||
}
|
||||
});
|
||||
|
||||
$('.thumb-preview .mg-zoom').on('click.lightbox', function( ev ) {
|
||||
ev.preventDefault();
|
||||
$(this).closest('.thumb-preview').find('a.thumb-image').triggerHandler('click');
|
||||
});
|
||||
|
||||
/*
|
||||
Thumnail: Dropdown Options
|
||||
*/
|
||||
$('.thumbnail .mg-toggle').parent()
|
||||
.on('show.bs.dropdown', function( ev ) {
|
||||
$(this).closest('.mg-thumb-options').css('overflow', 'visible');
|
||||
})
|
||||
.on('hidden.bs.dropdown', function( ev ) {
|
||||
$(this).closest('.mg-thumb-options').css('overflow', '');
|
||||
});
|
||||
|
||||
$('.thumbnail').on('mouseenter', function() {
|
||||
var toggle = $(this).find('.mg-toggle');
|
||||
if ( toggle.parent().hasClass('open') ) {
|
||||
toggle.dropdown('toggle');
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
Isotope: Sort Thumbnails
|
||||
*/
|
||||
$("[data-sort-source]").each(function() {
|
||||
|
||||
var source = $(this);
|
||||
var destination = $("[data-sort-destination][data-sort-id=" + $(this).attr("data-sort-id") + "]");
|
||||
|
||||
if(destination.get(0)) {
|
||||
|
||||
$(window).load(function() {
|
||||
|
||||
destination.isotope({
|
||||
itemSelector: ".isotope-item",
|
||||
layoutMode: 'fitRows'
|
||||
});
|
||||
|
||||
$(window).on('sidebar-left-toggle inner-menu-toggle', function() {
|
||||
destination.isotope();
|
||||
});
|
||||
|
||||
source.find("a[data-option-value]").click(function(e) {
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
var $this = $(this),
|
||||
filter = $this.attr("data-option-value");
|
||||
|
||||
source.find(".active").removeClass("active");
|
||||
$this.closest("li").addClass("active");
|
||||
|
||||
destination.isotope({
|
||||
filter: filter
|
||||
});
|
||||
|
||||
if(window.location.hash != "" || filter.replace(".","") != "*") {
|
||||
window.location.hash = filter.replace(".","");
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
});
|
||||
|
||||
$(window).bind("hashchange", function(e) {
|
||||
|
||||
var hashFilter = "." + location.hash.replace("#",""),
|
||||
hash = (hashFilter == "." || hashFilter == ".*" ? "*" : hashFilter);
|
||||
|
||||
source.find(".active").removeClass("active");
|
||||
source.find("[data-option-value='" + hash + "']").closest("li").addClass("active");
|
||||
|
||||
destination.isotope({
|
||||
filter: hash
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
var hashFilter = "." + (location.hash.replace("#","") || "*");
|
||||
var initFilterEl = source.find("a[data-option-value='" + hashFilter + "']");
|
||||
|
||||
if(initFilterEl.get(0)) {
|
||||
source.find("[data-option-value='" + hashFilter + "']").click();
|
||||
} else {
|
||||
source.find(".active a").click();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}(jQuery));
|
||||
@@ -0,0 +1,102 @@
|
||||
|
||||
|
||||
(function( $ ) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var SessionTimeout = {
|
||||
|
||||
options: {
|
||||
keepAliveUrl: '',
|
||||
alertOn: 15000, // ms
|
||||
timeoutOn: 20000 // ms
|
||||
},
|
||||
|
||||
alertTimer: null,
|
||||
timeoutTimer: null,
|
||||
|
||||
initialize: function() {
|
||||
this
|
||||
.start()
|
||||
.setup();
|
||||
},
|
||||
|
||||
start: function() {
|
||||
var _self = this;
|
||||
|
||||
this.alertTimer = setTimeout(function() {
|
||||
_self.onAlert();
|
||||
}, this.options.alertOn );
|
||||
|
||||
this.timeoutTimer = setTimeout(function() {
|
||||
_self.onTimeout();
|
||||
}, this.options.timeoutOn );
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
// bind success callback for all ajax requests
|
||||
setup: function() {
|
||||
var _self = this;
|
||||
|
||||
// if server returns successfuly,
|
||||
// then the session is renewed.
|
||||
// thats why we reset here the counter
|
||||
$( document ).ajaxSuccess(function() {
|
||||
_self.reset();
|
||||
});
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
reset: function() {
|
||||
clearTimeout(this.alertTimer);
|
||||
clearTimeout(this.timeoutTimer);
|
||||
this.start();
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
keepAlive: function() {
|
||||
// we don't have session on demo,
|
||||
// so the code above prevent a request to be made
|
||||
// in your project, please remove the next 3 lines of code
|
||||
if ( !this.options.keepAliveUrl ) {
|
||||
this.reset();
|
||||
return;
|
||||
}
|
||||
|
||||
var _self = this;
|
||||
|
||||
$.post( this.options.keepAliveUrl, function( data ) {
|
||||
_self.reset();
|
||||
});
|
||||
},
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// CUSTOMIZE HERE
|
||||
// ------------------------------------------------------------------------
|
||||
onAlert: function() {
|
||||
// if you want to show some warning
|
||||
// TODO: remove this confirm (it breaks the logic and it's ugly)
|
||||
var renew = confirm( 'Your session is about to expire, do you want to renew?' );
|
||||
|
||||
if ( renew ) {
|
||||
this.keepAlive();
|
||||
}
|
||||
|
||||
// if you want session to not expire
|
||||
// this.keepAlive();
|
||||
},
|
||||
|
||||
onTimeout: function() {
|
||||
self.location.href = 'pages-signin.html';
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
$(function() {
|
||||
SessionTimeout.initialize();
|
||||
});
|
||||
|
||||
}).apply(this, [ jQuery ]);
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
|
||||
(function( $ ) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var initLightbox = function() {
|
||||
$('.timeline .thumbnail-gallery').magnificPopup({
|
||||
delegate: 'a',
|
||||
type: 'image',
|
||||
tLoading: 'Loading image #%curr%...',
|
||||
mainClass: 'mfp-img-mobile',
|
||||
gallery: {
|
||||
enabled: true,
|
||||
navigateByImgClick: true,
|
||||
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
|
||||
},
|
||||
image: {
|
||||
tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var initGoogleMaps = function() {
|
||||
var map = new GMaps({
|
||||
div: '#gmap-checkin-example',
|
||||
lat: 40.7533405,
|
||||
lng: -73.982253,
|
||||
markers: [{
|
||||
lat: 40.7533405,
|
||||
lng: -73.982253,
|
||||
infoWindow: {
|
||||
content: '<p>New York Public Library</p>'
|
||||
}
|
||||
}],
|
||||
scrollwheel: false
|
||||
});
|
||||
|
||||
map.addMarker({
|
||||
lat: 40.7533405,
|
||||
lng: -73.982253,
|
||||
infoWindow: {
|
||||
content: '<p>New York Public Library</p>'
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$(function() {
|
||||
initLightbox();
|
||||
initGoogleMaps();
|
||||
});
|
||||
|
||||
}).apply(this, [ jQuery ]);
|
||||
Reference in New Issue
Block a user