Compare commits
No commits in common. "master" and "25-02-2019" have entirely different histories.
master
...
25-02-2019
1
.gitignore
vendored
@ -3,4 +3,3 @@
|
|||||||
|
|
||||||
# Build directory
|
# Build directory
|
||||||
output/*
|
output/*
|
||||||
output.tar
|
|
@ -29,6 +29,4 @@ ComunicWeb would not exists without the following technologies developped by the
|
|||||||
- SCEditor (BBC WYIWYG editor) (https://github.com/samclarke/SCEditor) (MIT License)
|
- SCEditor (BBC WYIWYG editor) (https://github.com/samclarke/SCEditor) (MIT License)
|
||||||
- JavaScript BBCode Parser (https://github.com/Frug/js-bbcode-parser) (MIT License)
|
- JavaScript BBCode Parser (https://github.com/Frug/js-bbcode-parser) (MIT License)
|
||||||
- Pacman (https://github.com/daleharvey/pacman) (WTFPL License)
|
- Pacman (https://github.com/daleharvey/pacman) (WTFPL License)
|
||||||
- SimplePeer (https://github.com/feross/simple-peer) (MIT License)
|
- SimplePeer (https://github.com/feross/simple-peer) (MIT License)
|
||||||
- TensorFlow JS
|
|
||||||
- TensorFlow Models
|
|
16
assets/3rdparty/MediaStreamRecorder.min.js
vendored
262
assets/3rdparty/SignalExchangerClient/SignalExchangerClient.js
vendored
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
/**
|
||||||
|
* Signal exchanger web client
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
class SignalExchangerClient {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Server domain
|
||||||
|
*
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
//domain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Server port
|
||||||
|
*
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
//port;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current client ID
|
||||||
|
*
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
//clientID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Socket connection to the server
|
||||||
|
*
|
||||||
|
* @type {WebSocket}
|
||||||
|
*/
|
||||||
|
//socket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called in case of error
|
||||||
|
*
|
||||||
|
* @type {Function}
|
||||||
|
*/
|
||||||
|
//onError = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when the connection is etablished
|
||||||
|
*
|
||||||
|
* @type {Function}
|
||||||
|
*/
|
||||||
|
//onConnected = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when the connection to the socket is closed
|
||||||
|
*
|
||||||
|
* @type {Function}
|
||||||
|
*/
|
||||||
|
//onClosed = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when we get a new signal information
|
||||||
|
*
|
||||||
|
* @type {Function}
|
||||||
|
*/
|
||||||
|
//onSignal = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when we get a ready message notice
|
||||||
|
*
|
||||||
|
* @type {Function}
|
||||||
|
*/
|
||||||
|
//onReadyMessage = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construct a client instance
|
||||||
|
*
|
||||||
|
* @param {String} domain The name of the signal server
|
||||||
|
* @param {Number} port The port of the server to use
|
||||||
|
* @param {String} clientID The ID of current client
|
||||||
|
* @param {Boolean} secure Specify whether connection to the socket should be secure or not
|
||||||
|
*/
|
||||||
|
constructor(domain, port, clientID, secure) {
|
||||||
|
|
||||||
|
//Save information
|
||||||
|
this.domain = domain,
|
||||||
|
this.port = port;
|
||||||
|
this.clientID = clientID;
|
||||||
|
|
||||||
|
this.socket = new WebSocket((secure ? "wss" : "ws") + "://" + this.domain + ":" + this.port + "/socket");
|
||||||
|
|
||||||
|
//Add a few events listeners
|
||||||
|
this.socket.addEventListener("open", () => {
|
||||||
|
this.serverConnected();
|
||||||
|
|
||||||
|
if(this.onConnected != null)
|
||||||
|
setTimeout(this.onConnected, 10);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.socket.addEventListener("message", message => {
|
||||||
|
|
||||||
|
let data;
|
||||||
|
try {
|
||||||
|
data = JSON.parse(message.data);
|
||||||
|
} catch(e){
|
||||||
|
console.error("Could not parse message from server!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("New message from socket", data);
|
||||||
|
|
||||||
|
this.serverMessage(data);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.socket.addEventListener("error", () => {
|
||||||
|
if(this.onError != null)
|
||||||
|
setTimeout(this.onError, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.socket.addEventListener("close", () => {
|
||||||
|
if(this.onClosed != null)
|
||||||
|
setTimeout(this.onClosed, 0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this method to get the current connection status to the server
|
||||||
|
*
|
||||||
|
* @return {Boolean} TRUE if the client is connected to the server / FALSE else
|
||||||
|
*/
|
||||||
|
isConnected() {
|
||||||
|
return this.socket.readyState == WebSocket.OPEN;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close the connection to the server (if connected)
|
||||||
|
*/
|
||||||
|
close() {
|
||||||
|
if(this.isConnected())
|
||||||
|
this.socket.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called once the client is successfully
|
||||||
|
* connected to the client
|
||||||
|
*/
|
||||||
|
serverConnected(){
|
||||||
|
|
||||||
|
//Send data to the server to identificate client
|
||||||
|
this.sendData({
|
||||||
|
client_id: this.clientID
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send ready message to a peer
|
||||||
|
*
|
||||||
|
* @param {String} peerID The ID of the target peer for the message
|
||||||
|
*/
|
||||||
|
sendReadyMessage(peerID){
|
||||||
|
|
||||||
|
this.sendData({
|
||||||
|
ready_msg: true,
|
||||||
|
target_id: peerID
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send a signal to the server
|
||||||
|
*
|
||||||
|
* @param target_id The ID of the target for the signal
|
||||||
|
* @param content Signal to send to the target
|
||||||
|
*/
|
||||||
|
sendSignal(target_id, content){
|
||||||
|
|
||||||
|
//Send directly the message to the server
|
||||||
|
this.sendData({
|
||||||
|
signal: content,
|
||||||
|
target_id: target_id
|
||||||
|
});
|
||||||
|
|
||||||
|
//Save the current signal being sent to be able to send
|
||||||
|
//it again in case of failure
|
||||||
|
this.pending_signal = content;
|
||||||
|
this.pending_signal_target = target_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop to try to send the current signal message in queue
|
||||||
|
*
|
||||||
|
* This does not cancel the sending of messages already sent through
|
||||||
|
* socket
|
||||||
|
*/
|
||||||
|
cancelCurrentSignal() {
|
||||||
|
this.pending_signal = undefined;
|
||||||
|
this.pending_signal_target = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send data to the server
|
||||||
|
*
|
||||||
|
* @param {Object} data The data to send to the server
|
||||||
|
*/
|
||||||
|
sendData(data){
|
||||||
|
console.log("Sending data to server", data);
|
||||||
|
this.socket.send(JSON.stringify(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called when the server has sent a new message to this client
|
||||||
|
*
|
||||||
|
* @param {Object} message The message sent by the server, as a JSON object
|
||||||
|
*/
|
||||||
|
serverMessage(message){
|
||||||
|
|
||||||
|
//Check if it is a callback for a pending message
|
||||||
|
if(message.signal_sent){
|
||||||
|
if(message.number_of_targets < 1 && this.pending_signal && this.pending_signal_target){
|
||||||
|
|
||||||
|
//We have to send the message again
|
||||||
|
setTimeout(() => {
|
||||||
|
this.sendSignal(this.pending_signal, this.pending_signal_target);
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
//Else we can remove from this class information about the signal being sent
|
||||||
|
this.cancelCurrentSignal();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check if message is a callback for a ready notice
|
||||||
|
else if(message.ready_message_sent){
|
||||||
|
|
||||||
|
if(message.number_of_targets < 1){
|
||||||
|
|
||||||
|
//Try to send message again
|
||||||
|
setTimeout(() => {
|
||||||
|
this.sendReadyMessage(message.target_id);
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if message is a ready notice
|
||||||
|
else if(message.ready_msg){
|
||||||
|
if(this.onReadyMessage != null)
|
||||||
|
this.onReadyMessage(message.source_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the message is a signal
|
||||||
|
else if(message.signal){
|
||||||
|
if(this.onSignal != null)
|
||||||
|
this.onSignal(message.signal, message.source_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -13,7 +13,7 @@
|
|||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
background-image: url("img-colorpicker/saturation.png");
|
background-image: url("img/saturation.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker-saturation i {
|
.colorpicker-saturation i {
|
||||||
@ -64,12 +64,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker-hue {
|
.colorpicker-hue {
|
||||||
background-image: url("img-colorpicker/hue.png");
|
background-image: url("img/hue.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker-alpha {
|
.colorpicker-alpha {
|
||||||
display: none;
|
display: none;
|
||||||
background-image: url("img-colorpicker/alpha.png");
|
background-image: url("img/alpha.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker-saturation,
|
.colorpicker-saturation,
|
||||||
@ -141,7 +141,7 @@
|
|||||||
height: 10px;
|
height: 10px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
clear: both;
|
clear: both;
|
||||||
background-image: url("img-colorpicker/alpha.png");
|
background-image: url("img/alpha.png");
|
||||||
background-position: 0 100%;
|
background-position: 0 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,11 +221,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
||||||
background-image: url("img-colorpicker/hue-horizontal.png");
|
background-image: url("img/hue-horizontal.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||||
background-image: url("img-colorpicker/alpha-horizontal.png");
|
background-image: url("img/alpha-horizontal.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker.colorpicker-hidden {
|
.colorpicker.colorpicker-hidden {
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
* Licensed under the Apache License v2.0
|
* Licensed under the Apache License v2.0
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||||
*
|
*
|
||||||
*/.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("img-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("img-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("img-colorpicker/alpha.png")}.colorpicker-saturation,.colorpicker-hue,.colorpicker-alpha{background-size:contain}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("img-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{float:left;width:10px;height:10px;cursor:pointer}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("img-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("img-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker-right:before{right:6px;left:auto}.colorpicker-right:after{right:7px;left:auto}
|
*/.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("img/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("img/hue.png")}.colorpicker-alpha{display:none;background-image:url("img/alpha.png")}.colorpicker-saturation,.colorpicker-hue,.colorpicker-alpha{background-size:contain}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("img/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{float:left;width:10px;height:10px;cursor:pointer}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("img/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("img/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker-right:before{right:6px;left:auto}.colorpicker-right:after{right:7px;left:auto}
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
BIN
assets/3rdparty/clippy.js/Agents/Merlin/map.png
vendored
Before Width: | Height: | Size: 1013 KiB |
62
assets/3rdparty/clippy.js/clippy.css
vendored
@ -1,62 +0,0 @@
|
|||||||
.clippy, .clippy-balloon {
|
|
||||||
position: fixed;
|
|
||||||
z-index: 1000;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-balloon {
|
|
||||||
|
|
||||||
background: #FFC;
|
|
||||||
color: black;
|
|
||||||
padding: 8px;
|
|
||||||
border: 1px solid black;
|
|
||||||
border-radius: 5px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-content {
|
|
||||||
max-width: 200px;
|
|
||||||
min-width: 120px;
|
|
||||||
font-family: "Microsoft Sans", sans-serif;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-tip {
|
|
||||||
width: 10px;
|
|
||||||
height: 16px;
|
|
||||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAMAAAAlvKiEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAlQTFRF///MAAAA////52QwgAAAAAN0Uk5T//8A18oNQQAAAGxJREFUeNqs0kEOwCAIRFHn3//QTUU6xMyyxii+jQosrTPkyPEM6IN3FtzIRk1U4dFeKWQiH6pRRowMVKEmvronEynkwj0uZJgR22+YLopPSo9P34wJSamLSU7lSIWLJU7NkNomNlhqxUeAAQC+TQLZyEuJBwAAAABJRU5ErkJggg==) no-repeat;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-top-left .clippy-tip {
|
|
||||||
top: 100%;
|
|
||||||
margin-top: 0px;
|
|
||||||
left: 100%;
|
|
||||||
margin-left: -50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-top-right .clippy-tip {
|
|
||||||
top: 100%;
|
|
||||||
margin-top: 0px;
|
|
||||||
left: 0;
|
|
||||||
margin-left: 50px;
|
|
||||||
background-position: -10px 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-bottom-right .clippy-tip {
|
|
||||||
top: 0;
|
|
||||||
margin-top: -16px;
|
|
||||||
left: 0;
|
|
||||||
margin-left: 50px;
|
|
||||||
background-position: -10px -16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clippy-bottom-left .clippy-tip {
|
|
||||||
top: 0;
|
|
||||||
margin-top: -16px;
|
|
||||||
left: 100%;
|
|
||||||
margin-left: -50px;
|
|
||||||
background-position: 0px -16px;
|
|
||||||
}
|
|
||||||
|
|
1
assets/3rdparty/clippy.js/clippy.min.js
vendored
22
assets/3rdparty/fullcalendar/LICENSE.txt
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2020 Adam Shaw
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
11
assets/3rdparty/fullcalendar/README.md
vendored
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
# FullCalendar [](https://travis-ci.com/fullcalendar/fullcalendar)
|
|
||||||
|
|
||||||
A full-sized drag & drop JavaScript event calendar
|
|
||||||
|
|
||||||
- [Project website and demos](http://fullcalendar.io/)
|
|
||||||
- [Documentation](http://fullcalendar.io/docs)
|
|
||||||
- [Support](http://fullcalendar.io/support)
|
|
||||||
- [Contributing](CONTRIBUTING.md)
|
|
||||||
- [Changelog](CHANGELOG.md)
|
|
||||||
- [License](LICENSE.txt)
|
|
@ -1,102 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
businessHours: true, // display business hours
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'Business Lunch',
|
|
||||||
start: '2020-09-03T13:00:00',
|
|
||||||
constraint: 'businessHours'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-13T11:00:00',
|
|
||||||
constraint: 'availableForMeeting', // defined below
|
|
||||||
color: '#257e4a'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-18',
|
|
||||||
end: '2020-09-20'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Party',
|
|
||||||
start: '2020-09-29T20:00:00'
|
|
||||||
},
|
|
||||||
|
|
||||||
// areas where "Meeting" must be dropped
|
|
||||||
{
|
|
||||||
groupId: 'availableForMeeting',
|
|
||||||
start: '2020-09-11T10:00:00',
|
|
||||||
end: '2020-09-11T16:00:00',
|
|
||||||
display: 'background'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 'availableForMeeting',
|
|
||||||
start: '2020-09-13T10:00:00',
|
|
||||||
end: '2020-09-13T16:00:00',
|
|
||||||
display: 'background'
|
|
||||||
},
|
|
||||||
|
|
||||||
// red areas where no events can be dropped
|
|
||||||
{
|
|
||||||
start: '2020-09-24',
|
|
||||||
end: '2020-09-28',
|
|
||||||
overlap: false,
|
|
||||||
display: 'background',
|
|
||||||
color: '#ff9f89'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
start: '2020-09-06',
|
|
||||||
end: '2020-09-08',
|
|
||||||
overlap: false,
|
|
||||||
display: 'background',
|
|
||||||
color: '#ff9f89'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,105 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prevYear,prev,next,nextYear today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,dayGridWeek,dayGridDay'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,70 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var srcCalendarEl = document.getElementById('source-calendar');
|
|
||||||
var destCalendarEl = document.getElementById('destination-calendar');
|
|
||||||
|
|
||||||
var srcCalendar = new FullCalendar.Calendar(srcCalendarEl, {
|
|
||||||
editable: true,
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'event1',
|
|
||||||
start: '2020-09-11T10:00:00',
|
|
||||||
end: '2020-09-11T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'event2',
|
|
||||||
start: '2020-09-13T10:00:00',
|
|
||||||
end: '2020-09-13T16:00:00'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
eventLeave: function(info) {
|
|
||||||
console.log('event left!', info.event);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var destCalendar = new FullCalendar.Calendar(destCalendarEl, {
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
editable: true,
|
|
||||||
droppable: true, // will let it receive events!
|
|
||||||
eventReceive: function(info) {
|
|
||||||
console.log('event received!', info.event);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
srcCalendar.render();
|
|
||||||
destCalendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 20px 0 0 20px;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
#source-calendar,
|
|
||||||
#destination-calendar {
|
|
||||||
float: left;
|
|
||||||
width: 600px;
|
|
||||||
margin: 0 20px 20px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='source-calendar'></div>
|
|
||||||
<div id='destination-calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,150 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
|
|
||||||
/* initialize the external events
|
|
||||||
-----------------------------------------------------------------*/
|
|
||||||
|
|
||||||
var containerEl = document.getElementById('external-events-list');
|
|
||||||
new FullCalendar.Draggable(containerEl, {
|
|
||||||
itemSelector: '.fc-event',
|
|
||||||
eventData: function(eventEl) {
|
|
||||||
return {
|
|
||||||
title: eventEl.innerText.trim()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//// the individual way to do it
|
|
||||||
// var containerEl = document.getElementById('external-events-list');
|
|
||||||
// var eventEls = Array.prototype.slice.call(
|
|
||||||
// containerEl.querySelectorAll('.fc-event')
|
|
||||||
// );
|
|
||||||
// eventEls.forEach(function(eventEl) {
|
|
||||||
// new FullCalendar.Draggable(eventEl, {
|
|
||||||
// eventData: {
|
|
||||||
// title: eventEl.innerText.trim(),
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
/* initialize the calendar
|
|
||||||
-----------------------------------------------------------------*/
|
|
||||||
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
editable: true,
|
|
||||||
droppable: true, // this allows things to be dropped onto the calendar
|
|
||||||
drop: function(arg) {
|
|
||||||
// is the "remove after drop" checkbox checked?
|
|
||||||
if (document.getElementById('drop-remove').checked) {
|
|
||||||
// if so, remove the element from the "Draggable Events" list
|
|
||||||
arg.draggedEl.parentNode.removeChild(arg.draggedEl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
calendar.render();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin-top: 40px;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
#external-events {
|
|
||||||
position: fixed;
|
|
||||||
left: 20px;
|
|
||||||
top: 20px;
|
|
||||||
width: 150px;
|
|
||||||
padding: 0 10px;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
background: #eee;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#external-events h4 {
|
|
||||||
font-size: 16px;
|
|
||||||
margin-top: 0;
|
|
||||||
padding-top: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#external-events .fc-event {
|
|
||||||
margin: 3px 0;
|
|
||||||
cursor: move;
|
|
||||||
}
|
|
||||||
|
|
||||||
#external-events p {
|
|
||||||
margin: 1.5em 0;
|
|
||||||
font-size: 11px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
#external-events p input {
|
|
||||||
margin: 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar-wrap {
|
|
||||||
margin-left: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id='wrap'>
|
|
||||||
|
|
||||||
<div id='external-events'>
|
|
||||||
<h4>Draggable Events</h4>
|
|
||||||
|
|
||||||
<div id='external-events-list'>
|
|
||||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
|
||||||
<div class='fc-event-main'>My Event 1</div>
|
|
||||||
</div>
|
|
||||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
|
||||||
<div class='fc-event-main'>My Event 2</div>
|
|
||||||
</div>
|
|
||||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
|
||||||
<div class='fc-event-main'>My Event 3</div>
|
|
||||||
</div>
|
|
||||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
|
||||||
<div class='fc-event-main'>My Event 4</div>
|
|
||||||
</div>
|
|
||||||
<div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'>
|
|
||||||
<div class='fc-event-main'>My Event 5</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input type='checkbox' id='drop-remove' />
|
|
||||||
<label for='drop-remove'>remove after drop</label>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='calendar-wrap'>
|
|
||||||
<div id='calendar'></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,126 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
height: '100%',
|
|
||||||
expandRows: true,
|
|
||||||
slotMinTime: '08:00',
|
|
||||||
slotMaxTime: '20:00',
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
initialView: 'dayGridMonth',
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
nowIndicator: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
html, body {
|
|
||||||
overflow: hidden; /* don't do scrollbars */
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar-container {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fc-header-toolbar {
|
|
||||||
/*
|
|
||||||
the calendar will be butting up against the edges,
|
|
||||||
but let's scoot in the header's buttons
|
|
||||||
*/
|
|
||||||
padding-top: 1em;
|
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar-container'>
|
|
||||||
<div id='calendar'></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,78 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,listYear'
|
|
||||||
},
|
|
||||||
|
|
||||||
displayEventTime: false, // don't show the time column in list view
|
|
||||||
|
|
||||||
// THIS KEY WON'T WORK IN PRODUCTION!!!
|
|
||||||
// To make your own Google API key, follow the directions here:
|
|
||||||
// http://fullcalendar.io/docs/google_calendar/
|
|
||||||
googleCalendarApiKey: 'AIzaSyDcnW6WejpTOCffshGDDb4neIrXVUA1EAE',
|
|
||||||
|
|
||||||
// US Holidays
|
|
||||||
events: 'en.usa#holiday@group.v.calendar.google.com',
|
|
||||||
|
|
||||||
eventClick: function(arg) {
|
|
||||||
// opens events in a popup window
|
|
||||||
window.open(arg.event.url, 'google-calendar-event', 'width=700,height=600');
|
|
||||||
|
|
||||||
arg.jsEvent.preventDefault() // don't navigate in main tab
|
|
||||||
},
|
|
||||||
|
|
||||||
loading: function(bool) {
|
|
||||||
document.getElementById('loading').style.display =
|
|
||||||
bool ? 'block' : 'none';
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='loading'>loading...</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,86 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='https://github.com/mozilla-comm/ical.js/releases/download/v1.4.0/ical.js'></script>
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script src='../packages/icalendar/main.global.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
displayEventTime: false,
|
|
||||||
initialDate: '2019-04-01',
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,listYear'
|
|
||||||
},
|
|
||||||
events: {
|
|
||||||
url: 'ics/feed.ics',
|
|
||||||
format: 'ics',
|
|
||||||
failure: function() {
|
|
||||||
document.getElementById('script-warning').style.display = 'block';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loading: function(bool) {
|
|
||||||
document.getElementById('loading').style.display =
|
|
||||||
bool ? 'block' : 'none';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#script-warning {
|
|
||||||
display: none;
|
|
||||||
background: #eee;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding: 0 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 12px;
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 40px auto;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='script-warning'>
|
|
||||||
<code>ics/feed.ics</code> must be servable
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='loading'>loading...</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,141 +0,0 @@
|
|||||||
|
|
||||||
function initThemeChooser(settings) {
|
|
||||||
var isInitialized = false;
|
|
||||||
var currentThemeSystem; // don't set this directly. use setThemeSystem
|
|
||||||
var currentStylesheetEl;
|
|
||||||
var loadingEl = document.getElementById('loading');
|
|
||||||
var systemSelectEl = document.querySelector('#theme-system-selector select');
|
|
||||||
var themeSelectWrapEls = Array.prototype.slice.call( // convert to real array
|
|
||||||
document.querySelectorAll('.selector[data-theme-system]')
|
|
||||||
);
|
|
||||||
|
|
||||||
systemSelectEl.addEventListener('change', function() {
|
|
||||||
setThemeSystem(this.value);
|
|
||||||
});
|
|
||||||
|
|
||||||
setThemeSystem(systemSelectEl.value);
|
|
||||||
|
|
||||||
themeSelectWrapEls.forEach(function(themeSelectWrapEl) {
|
|
||||||
var themeSelectEl = themeSelectWrapEl.querySelector('select');
|
|
||||||
|
|
||||||
themeSelectWrapEl.addEventListener('change', function() {
|
|
||||||
setTheme(
|
|
||||||
currentThemeSystem,
|
|
||||||
themeSelectEl.options[themeSelectEl.selectedIndex].value
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function setThemeSystem(themeSystem) {
|
|
||||||
var selectedTheme;
|
|
||||||
|
|
||||||
currentThemeSystem = themeSystem;
|
|
||||||
|
|
||||||
themeSelectWrapEls.forEach(function(themeSelectWrapEl) {
|
|
||||||
var themeSelectEl = themeSelectWrapEl.querySelector('select');
|
|
||||||
|
|
||||||
if (themeSelectWrapEl.getAttribute('data-theme-system') === themeSystem) {
|
|
||||||
selectedTheme = themeSelectEl.options[themeSelectEl.selectedIndex].value;
|
|
||||||
themeSelectWrapEl.style.display = 'inline-block';
|
|
||||||
} else {
|
|
||||||
themeSelectWrapEl.style.display = 'none';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
setTheme(themeSystem, selectedTheme);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function setTheme(themeSystem, themeName) {
|
|
||||||
var stylesheetUrl = generateStylesheetUrl(themeSystem, themeName);
|
|
||||||
var stylesheetEl;
|
|
||||||
|
|
||||||
function done() {
|
|
||||||
if (!isInitialized) {
|
|
||||||
isInitialized = true;
|
|
||||||
settings.init(themeSystem);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
settings.change(themeSystem);
|
|
||||||
}
|
|
||||||
|
|
||||||
showCredits(themeSystem, themeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stylesheetUrl) {
|
|
||||||
stylesheetEl = document.createElement('link');
|
|
||||||
stylesheetEl.setAttribute('rel', 'stylesheet');
|
|
||||||
stylesheetEl.setAttribute('href', stylesheetUrl);
|
|
||||||
document.querySelector('head').appendChild(stylesheetEl);
|
|
||||||
|
|
||||||
loadingEl.style.display = 'inline';
|
|
||||||
|
|
||||||
whenStylesheetLoaded(stylesheetEl, function() {
|
|
||||||
if (currentStylesheetEl) {
|
|
||||||
currentStylesheetEl.parentNode.removeChild(currentStylesheetEl);
|
|
||||||
}
|
|
||||||
currentStylesheetEl = stylesheetEl;
|
|
||||||
loadingEl.style.display = 'none';
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
if (currentStylesheetEl) {
|
|
||||||
currentStylesheetEl.parentNode.removeChild(currentStylesheetEl);
|
|
||||||
currentStylesheetEl = null
|
|
||||||
}
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function generateStylesheetUrl(themeSystem, themeName) {
|
|
||||||
if (themeSystem === 'bootstrap') {
|
|
||||||
if (themeName) {
|
|
||||||
return 'https://bootswatch.com/4/' + themeName + '/bootstrap.min.css';
|
|
||||||
}
|
|
||||||
else { // the default bootstrap theme
|
|
||||||
return 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function showCredits(themeSystem, themeName) {
|
|
||||||
var creditId;
|
|
||||||
|
|
||||||
if (themeSystem.match('bootstrap')) {
|
|
||||||
if (themeName) {
|
|
||||||
creditId = 'bootstrap-custom';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
creditId = 'bootstrap-standard';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Array.prototype.slice.call( // convert to real array
|
|
||||||
document.querySelectorAll('.credits')
|
|
||||||
).forEach(function(creditEl) {
|
|
||||||
if (creditEl.getAttribute('data-credit-id') === creditId) {
|
|
||||||
creditEl.style.display = 'block';
|
|
||||||
} else {
|
|
||||||
creditEl.style.display = 'none';
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function whenStylesheetLoaded(linkNode, callback) {
|
|
||||||
var isReady = false;
|
|
||||||
|
|
||||||
function ready() {
|
|
||||||
if (!isReady) { // avoid double-call
|
|
||||||
isReady = true;
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
linkNode.onload = ready; // does not work cross-browser
|
|
||||||
setTimeout(ready, 2000); // max wait. also handles browsers that don't support onload
|
|
||||||
}
|
|
||||||
}
|
|
85
assets/3rdparty/fullcalendar/examples/json.html
vendored
@ -1,85 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
editable: true,
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: {
|
|
||||||
url: 'php/get-events.php',
|
|
||||||
failure: function() {
|
|
||||||
document.getElementById('script-warning').style.display = 'block'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loading: function(bool) {
|
|
||||||
document.getElementById('loading').style.display =
|
|
||||||
bool ? 'block' : 'none';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#script-warning {
|
|
||||||
display: none;
|
|
||||||
background: #eee;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding: 0 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 12px;
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loading {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 40px auto;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='script-warning'>
|
|
||||||
<code>php/get-events.php</code> must be running.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='loading'>loading...</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,56 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"title": "All Day Event",
|
|
||||||
"start": "2020-09-01"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Long Event",
|
|
||||||
"start": "2020-09-07",
|
|
||||||
"end": "2020-09-10"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "999",
|
|
||||||
"title": "Repeating Event",
|
|
||||||
"start": "2020-09-09T16:00:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "999",
|
|
||||||
"title": "Repeating Event",
|
|
||||||
"start": "2020-09-16T16:00:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Conference",
|
|
||||||
"start": "2020-09-11",
|
|
||||||
"end": "2020-09-13"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Meeting",
|
|
||||||
"start": "2020-09-12T10:30:00-05:00",
|
|
||||||
"end": "2020-09-12T12:30:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Lunch",
|
|
||||||
"start": "2020-09-12T12:00:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Meeting",
|
|
||||||
"start": "2020-09-12T14:30:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Happy Hour",
|
|
||||||
"start": "2020-09-12T17:30:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Dinner",
|
|
||||||
"start": "2020-09-12T20:00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Birthday Party",
|
|
||||||
"start": "2020-09-13T07:00:00-05:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Click for Google",
|
|
||||||
"url": "http://google.com/",
|
|
||||||
"start": "2020-09-28"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,78 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
height: 'auto',
|
|
||||||
// stickyHeaderDates: false, // for disabling
|
|
||||||
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'listMonth,listYear'
|
|
||||||
},
|
|
||||||
|
|
||||||
// customize the button names,
|
|
||||||
// otherwise they'd all just say "list"
|
|
||||||
views: {
|
|
||||||
listMonth: { buttonText: 'list month' },
|
|
||||||
listYear: { buttonText: 'list year' }
|
|
||||||
},
|
|
||||||
|
|
||||||
initialView: 'listYear',
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'repeating event 1',
|
|
||||||
daysOfWeek: [ 1, 2, 3 ],
|
|
||||||
duration: '00:30'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'repeating event 2',
|
|
||||||
daysOfWeek: [ 1, 2, 3 ],
|
|
||||||
duration: '00:30'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'repeating event 3',
|
|
||||||
daysOfWeek: [ 1, 2, 3 ],
|
|
||||||
duration: '00:30'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,115 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'listDay,listWeek'
|
|
||||||
},
|
|
||||||
|
|
||||||
// customize the button names,
|
|
||||||
// otherwise they'd all just say "list"
|
|
||||||
views: {
|
|
||||||
listDay: { buttonText: 'list day' },
|
|
||||||
listWeek: { buttonText: 'list week' }
|
|
||||||
},
|
|
||||||
|
|
||||||
initialView: 'listWeek',
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
144
assets/3rdparty/fullcalendar/examples/locales.html
vendored
@ -1,144 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script src='../lib/locales-all.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var initialLocaleCode = 'en';
|
|
||||||
var localeSelectorEl = document.getElementById('locale-selector');
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
locale: initialLocaleCode,
|
|
||||||
buttonIcons: false, // show the prev/next text
|
|
||||||
weekNumbers: true,
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
|
|
||||||
// build the locale selector's options
|
|
||||||
calendar.getAvailableLocaleCodes().forEach(function(localeCode) {
|
|
||||||
var optionEl = document.createElement('option');
|
|
||||||
optionEl.value = localeCode;
|
|
||||||
optionEl.selected = localeCode == initialLocaleCode;
|
|
||||||
optionEl.innerText = localeCode;
|
|
||||||
localeSelectorEl.appendChild(optionEl);
|
|
||||||
});
|
|
||||||
|
|
||||||
// when the selected option changes, dynamically change the calendar option
|
|
||||||
localeSelectorEl.addEventListener('change', function() {
|
|
||||||
if (this.value) {
|
|
||||||
calendar.setOption('locale', this.value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top {
|
|
||||||
background: #eee;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding: 0 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 40px auto;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='top'>
|
|
||||||
|
|
||||||
Locales:
|
|
||||||
<select id='locale-selector'></select>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,101 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
businessHours: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,109 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
initialView: 'timeGridWeek',
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
height: 'auto',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
selectMirror: true,
|
|
||||||
nowIndicator: true,
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,50 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
// This script reads event data from a JSON file and outputs those events which are within the range
|
|
||||||
// supplied by the "start" and "end" GET parameters.
|
|
||||||
//
|
|
||||||
// An optional "timeZone" GET parameter will force all ISO8601 date stings to a given timeZone.
|
|
||||||
//
|
|
||||||
// Requires PHP 5.2.0 or higher.
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// Require our Event class and datetime utilities
|
|
||||||
require dirname(__FILE__) . '/utils.php';
|
|
||||||
|
|
||||||
// Short-circuit if the client did not give us a date range.
|
|
||||||
if (!isset($_GET['start']) || !isset($_GET['end'])) {
|
|
||||||
die("Please provide a date range.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse the start/end parameters.
|
|
||||||
// These are assumed to be ISO8601 strings with no time nor timeZone, like "2013-12-29".
|
|
||||||
// Since no timeZone will be present, they will parsed as UTC.
|
|
||||||
$range_start = parseDateTime($_GET['start']);
|
|
||||||
$range_end = parseDateTime($_GET['end']);
|
|
||||||
|
|
||||||
// Parse the timeZone parameter if it is present.
|
|
||||||
$time_zone = null;
|
|
||||||
if (isset($_GET['timeZone'])) {
|
|
||||||
$time_zone = new DateTimeZone($_GET['timeZone']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read and parse our events JSON file into an array of event data arrays.
|
|
||||||
$json = file_get_contents(dirname(__FILE__) . '/../json/events.json');
|
|
||||||
$input_arrays = json_decode($json, true);
|
|
||||||
|
|
||||||
// Accumulate an output array of event data arrays.
|
|
||||||
$output_arrays = array();
|
|
||||||
foreach ($input_arrays as $array) {
|
|
||||||
|
|
||||||
// Convert the input array into a useful Event object
|
|
||||||
$event = new Event($array, $time_zone);
|
|
||||||
|
|
||||||
// If the event is in-bounds, add it to the output
|
|
||||||
if ($event->isWithinDayRange($range_start, $range_end)) {
|
|
||||||
$output_arrays[] = $event->toArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send JSON to the client.
|
|
||||||
echo json_encode($output_arrays);
|
|
@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
// This script outputs a JSON array of all timezones (like "America/Chicago") that PHP supports.
|
|
||||||
//
|
|
||||||
// Requires PHP 5.2.0 or higher.
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
echo json_encode(DateTimeZone::listIdentifiers());
|
|
130
assets/3rdparty/fullcalendar/examples/php/utils.php
vendored
@ -1,130 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
// Utilities for our event-fetching scripts.
|
|
||||||
//
|
|
||||||
// Requires PHP 5.2.0 or higher.
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// PHP will fatal error if we attempt to use the DateTime class without this being set.
|
|
||||||
date_default_timezone_set('UTC');
|
|
||||||
|
|
||||||
|
|
||||||
class Event {
|
|
||||||
|
|
||||||
// Tests whether the given ISO8601 string has a time-of-day or not
|
|
||||||
const ALL_DAY_REGEX = '/^\d{4}-\d\d-\d\d$/'; // matches strings like "2013-12-29"
|
|
||||||
|
|
||||||
public $title;
|
|
||||||
public $allDay; // a boolean
|
|
||||||
public $start; // a DateTime
|
|
||||||
public $end; // a DateTime, or null
|
|
||||||
public $properties = array(); // an array of other misc properties
|
|
||||||
|
|
||||||
|
|
||||||
// Constructs an Event object from the given array of key=>values.
|
|
||||||
// You can optionally force the timeZone of the parsed dates.
|
|
||||||
public function __construct($array, $timeZone=null) {
|
|
||||||
|
|
||||||
$this->title = $array['title'];
|
|
||||||
|
|
||||||
if (isset($array['allDay'])) {
|
|
||||||
// allDay has been explicitly specified
|
|
||||||
$this->allDay = (bool)$array['allDay'];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Guess allDay based off of ISO8601 date strings
|
|
||||||
$this->allDay = preg_match(self::ALL_DAY_REGEX, $array['start']) &&
|
|
||||||
(!isset($array['end']) || preg_match(self::ALL_DAY_REGEX, $array['end']));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->allDay) {
|
|
||||||
// If dates are allDay, we want to parse them in UTC to avoid DST issues.
|
|
||||||
$timeZone = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse dates
|
|
||||||
$this->start = parseDateTime($array['start'], $timeZone);
|
|
||||||
$this->end = isset($array['end']) ? parseDateTime($array['end'], $timeZone) : null;
|
|
||||||
|
|
||||||
// Record misc properties
|
|
||||||
foreach ($array as $name => $value) {
|
|
||||||
if (!in_array($name, array('title', 'allDay', 'start', 'end'))) {
|
|
||||||
$this->properties[$name] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Returns whether the date range of our event intersects with the given all-day range.
|
|
||||||
// $rangeStart and $rangeEnd are assumed to be dates in UTC with 00:00:00 time.
|
|
||||||
public function isWithinDayRange($rangeStart, $rangeEnd) {
|
|
||||||
|
|
||||||
// Normalize our event's dates for comparison with the all-day range.
|
|
||||||
$eventStart = stripTime($this->start);
|
|
||||||
|
|
||||||
if (isset($this->end)) {
|
|
||||||
$eventEnd = stripTime($this->end); // normalize
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$eventEnd = $eventStart; // consider this a zero-duration event
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if the two whole-day ranges intersect.
|
|
||||||
return $eventStart < $rangeEnd && $eventEnd >= $rangeStart;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Converts this Event object back to a plain data array, to be used for generating JSON
|
|
||||||
public function toArray() {
|
|
||||||
|
|
||||||
// Start with the misc properties (don't worry, PHP won't affect the original array)
|
|
||||||
$array = $this->properties;
|
|
||||||
|
|
||||||
$array['title'] = $this->title;
|
|
||||||
|
|
||||||
// Figure out the date format. This essentially encodes allDay into the date string.
|
|
||||||
if ($this->allDay) {
|
|
||||||
$format = 'Y-m-d'; // output like "2013-12-29"
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$format = 'c'; // full ISO8601 output, like "2013-12-29T09:00:00+08:00"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Serialize dates into strings
|
|
||||||
$array['start'] = $this->start->format($format);
|
|
||||||
if (isset($this->end)) {
|
|
||||||
$array['end'] = $this->end->format($format);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $array;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Date Utilities
|
|
||||||
//----------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
// Parses a string into a DateTime object, optionally forced into the given timeZone.
|
|
||||||
function parseDateTime($string, $timeZone=null) {
|
|
||||||
$date = new DateTime(
|
|
||||||
$string,
|
|
||||||
$timeZone ? $timeZone : new DateTimeZone('UTC')
|
|
||||||
// Used only when the string is ambiguous.
|
|
||||||
// Ignored if string has a timeZone offset in it.
|
|
||||||
);
|
|
||||||
if ($timeZone) {
|
|
||||||
// If our timeZone was ignored above, force it.
|
|
||||||
$date->setTimezone($timeZone);
|
|
||||||
}
|
|
||||||
return $date;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Takes the year/month/date values of the given DateTime and converts them to a new DateTime,
|
|
||||||
// but in UTC.
|
|
||||||
function stripTime($datetime) {
|
|
||||||
return new DateTime($datetime->format('Y-m-d'));
|
|
||||||
}
|
|
@ -1,124 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
selectable: true,
|
|
||||||
selectMirror: true,
|
|
||||||
select: function(arg) {
|
|
||||||
var title = prompt('Event Title:');
|
|
||||||
if (title) {
|
|
||||||
calendar.addEvent({
|
|
||||||
title: title,
|
|
||||||
start: arg.start,
|
|
||||||
end: arg.end,
|
|
||||||
allDay: arg.allDay
|
|
||||||
})
|
|
||||||
}
|
|
||||||
calendar.unselect()
|
|
||||||
},
|
|
||||||
eventClick: function(arg) {
|
|
||||||
if (confirm('Are you sure you want to delete this event?')) {
|
|
||||||
arg.event.remove()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
editable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
212
assets/3rdparty/fullcalendar/examples/theming.html
vendored
@ -1,212 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='https://use.fontawesome.com/releases/v5.0.6/css/all.css' rel='stylesheet'>
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script src='js/theme-chooser.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
var calendar;
|
|
||||||
|
|
||||||
initThemeChooser({
|
|
||||||
|
|
||||||
init: function(themeSystem) {
|
|
||||||
calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
themeSystem: themeSystem,
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
weekNumbers: true,
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
nowIndicator: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
// showNonCurrentDates: false,
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
calendar.render();
|
|
||||||
},
|
|
||||||
|
|
||||||
change: function(themeSystem) {
|
|
||||||
calendar.setOption('themeSystem', themeSystem);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top,
|
|
||||||
#calendar.fc-theme-standard {
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar.fc-theme-bootstrap {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top {
|
|
||||||
background: #eee;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding: 0 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
font-size: 12px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top .selector {
|
|
||||||
display: inline-block;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top select {
|
|
||||||
font: inherit; /* mock what Boostrap does, don't compete */
|
|
||||||
}
|
|
||||||
|
|
||||||
.left { float: left }
|
|
||||||
.right { float: right }
|
|
||||||
.clear { clear: both }
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 40px auto;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='top'>
|
|
||||||
|
|
||||||
<div class='left'>
|
|
||||||
|
|
||||||
<div id='theme-system-selector' class='selector'>
|
|
||||||
Theme System:
|
|
||||||
|
|
||||||
<select>
|
|
||||||
<option value='bootstrap' selected>Bootstrap 4</option>
|
|
||||||
<option value='standard'>unthemed</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-theme-system="bootstrap" class='selector' style='display:none'>
|
|
||||||
Theme Name:
|
|
||||||
|
|
||||||
<select>
|
|
||||||
<option value='' selected>Default</option>
|
|
||||||
<option value='cerulean'>Cerulean</option>
|
|
||||||
<option value='cosmo'>Cosmo</option>
|
|
||||||
<option value='cyborg'>Cyborg</option>
|
|
||||||
<option value='darkly'>Darkly</option>
|
|
||||||
<option value='flatly'>Flatly</option>
|
|
||||||
<option value='journal'>Journal</option>
|
|
||||||
<option value='litera'>Litera</option>
|
|
||||||
<option value='lumen'>Lumen</option>
|
|
||||||
<option value='lux'>Lux</option>
|
|
||||||
<option value='materia'>Materia</option>
|
|
||||||
<option value='minty'>Minty</option>
|
|
||||||
<option value='pulse'>Pulse</option>
|
|
||||||
<option value='sandstone'>Sandstone</option>
|
|
||||||
<option value='simplex'>Simplex</option>
|
|
||||||
<option value='sketchy'>Sketchy</option>
|
|
||||||
<option value='slate'>Slate</option>
|
|
||||||
<option value='solar'>Solar</option>
|
|
||||||
<option value='spacelab'>Spacelab</option>
|
|
||||||
<option value='superhero'>Superhero</option>
|
|
||||||
<option value='united'>United</option>
|
|
||||||
<option value='yeti'>Yeti</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span id='loading' style='display:none'>loading theme...</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='right'>
|
|
||||||
<span class='credits' data-credit-id='bootstrap-standard' style='display:none'>
|
|
||||||
<a href='https://getbootstrap.com/docs/3.3/' target='_blank'>Theme by Bootstrap</a>
|
|
||||||
</span>
|
|
||||||
<span class='credits' data-credit-id='bootstrap-custom' style='display:none'>
|
|
||||||
<a href='https://bootswatch.com/' target='_blank'>Theme by Bootswatch</a>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='clear'></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,137 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var initialTimeZone = 'local';
|
|
||||||
var timeZoneSelectorEl = document.getElementById('time-zone-selector');
|
|
||||||
var loadingEl = document.getElementById('loading');
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
timeZone: initialTimeZone,
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: {
|
|
||||||
url: 'php/get-events.php',
|
|
||||||
failure: function() {
|
|
||||||
document.getElementById('script-warning').style.display = 'inline'; // show
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loading: function(bool) {
|
|
||||||
if (bool) {
|
|
||||||
loadingEl.style.display = 'inline'; // show
|
|
||||||
} else {
|
|
||||||
loadingEl.style.display = 'none'; // hide
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
eventTimeFormat: { hour: 'numeric', minute: '2-digit', timeZoneName: 'short' },
|
|
||||||
|
|
||||||
dateClick: function(arg) {
|
|
||||||
console.log('dateClick', calendar.formatIso(arg.date));
|
|
||||||
},
|
|
||||||
select: function(arg) {
|
|
||||||
console.log('select', calendar.formatIso(arg.start), calendar.formatIso(arg.end));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
|
|
||||||
// load the list of available timezones, build the <select> options
|
|
||||||
// it's HIGHLY recommended to use a different library for network requests, not this internal util func
|
|
||||||
FullCalendar.requestJson('GET', 'php/get-time-zones.php', {}, function(timeZones) {
|
|
||||||
|
|
||||||
timeZones.forEach(function(timeZone) {
|
|
||||||
var optionEl;
|
|
||||||
|
|
||||||
if (timeZone !== 'UTC') { // UTC is already in the list
|
|
||||||
optionEl = document.createElement('option');
|
|
||||||
optionEl.value = timeZone;
|
|
||||||
optionEl.innerText = timeZone;
|
|
||||||
timeZoneSelectorEl.appendChild(optionEl);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, function() {
|
|
||||||
// TODO: handle error
|
|
||||||
});
|
|
||||||
|
|
||||||
// when the timezone selector changes, dynamically change the calendar option
|
|
||||||
timeZoneSelectorEl.addEventListener('change', function() {
|
|
||||||
calendar.setOption('timeZone', this.value);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#top {
|
|
||||||
background: #eee;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding: 0 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
.left { float: left }
|
|
||||||
.right { float: right }
|
|
||||||
.clear { clear: both }
|
|
||||||
|
|
||||||
#script-warning, #loading { display: none }
|
|
||||||
#script-warning { font-weight: bold; color: red }
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 40px auto;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tzo {
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='top'>
|
|
||||||
|
|
||||||
<div class='left'>
|
|
||||||
Timezone:
|
|
||||||
<select id='time-zone-selector'>
|
|
||||||
<option value='local' selected>local</option>
|
|
||||||
<option value='UTC'>UTC</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='right'>
|
|
||||||
<span id='loading'>loading...</span>
|
|
||||||
<span id='script-warning'><code>php/get-events.php</code> must be running.</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='clear'></div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,122 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
height: 'auto', // enough to active sticky headers
|
|
||||||
dayMinWidth: 200,
|
|
||||||
|
|
||||||
slotDuration: '00:05:00',
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
initialView: 'timeGridWeek',
|
|
||||||
nowIndicator: true,
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
selectMirror: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<p style='margin-bottom: 5em'>
|
|
||||||
Demo for sticky header. Also, the bottom scrollbars stick.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
<p style='margin-top: 5em'>
|
|
||||||
Cool, right?
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,107 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
dayMinWidth: 200,
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
initialView: 'timeGridWeek',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,109 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
initialView: 'timeGridWeek',
|
|
||||||
nowIndicator: true,
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
selectMirror: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,111 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link href='../lib/main.css' rel='stylesheet' />
|
|
||||||
<script src='../lib/main.js'></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
var calendarEl = document.getElementById('calendar');
|
|
||||||
|
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
|
||||||
headerToolbar: {
|
|
||||||
left: 'prev,next today',
|
|
||||||
center: 'title',
|
|
||||||
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
||||||
},
|
|
||||||
initialDate: '2020-09-12',
|
|
||||||
navLinks: true, // can click day/week names to navigate views
|
|
||||||
nowIndicator: true,
|
|
||||||
|
|
||||||
weekNumbers: true,
|
|
||||||
weekNumberCalculation: 'ISO',
|
|
||||||
|
|
||||||
editable: true,
|
|
||||||
selectable: true,
|
|
||||||
dayMaxEvents: true, // allow "more" link when too many events
|
|
||||||
events: [
|
|
||||||
{
|
|
||||||
title: 'All Day Event',
|
|
||||||
start: '2020-09-01'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Long Event',
|
|
||||||
start: '2020-09-07',
|
|
||||||
end: '2020-09-10'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-09T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groupId: 999,
|
|
||||||
title: 'Repeating Event',
|
|
||||||
start: '2020-09-16T16:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Conference',
|
|
||||||
start: '2020-09-11',
|
|
||||||
end: '2020-09-13'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T10:30:00',
|
|
||||||
end: '2020-09-12T12:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Lunch',
|
|
||||||
start: '2020-09-12T12:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Meeting',
|
|
||||||
start: '2020-09-12T14:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Happy Hour',
|
|
||||||
start: '2020-09-12T17:30:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Dinner',
|
|
||||||
start: '2020-09-12T20:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Birthday Party',
|
|
||||||
start: '2020-09-13T07:00:00'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Click for Google',
|
|
||||||
url: 'http://google.com/',
|
|
||||||
start: '2020-09-28'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
calendar.render();
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 40px 10px;
|
|
||||||
padding: 0;
|
|
||||||
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='calendar'></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
1561
assets/3rdparty/fullcalendar/lib/locales-all.js
vendored
27
assets/3rdparty/fullcalendar/lib/locales/af.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var af = {
|
|
||||||
code: 'af',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Maandag is die eerste dag van die week.
|
|
||||||
doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Vorige',
|
|
||||||
next: 'Volgende',
|
|
||||||
today: 'Vandag',
|
|
||||||
year: 'Jaar',
|
|
||||||
month: 'Maand',
|
|
||||||
week: 'Week',
|
|
||||||
day: 'Dag',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
allDayText: 'Heeldag',
|
|
||||||
moreLinkText: 'Addisionele',
|
|
||||||
noEventsText: 'Daar is geen gebeurtenisse nie',
|
|
||||||
};
|
|
||||||
|
|
||||||
return af;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arDz = {
|
|
||||||
code: 'ar-dz',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arDz;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arKw = {
|
|
||||||
code: 'ar-kw',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 12, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arKw;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arLy = {
|
|
||||||
code: 'ar-ly',
|
|
||||||
week: {
|
|
||||||
dow: 6, // Saturday is the first day of the week.
|
|
||||||
doy: 12, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arLy;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arMa = {
|
|
||||||
code: 'ar-ma',
|
|
||||||
week: {
|
|
||||||
dow: 6, // Saturday is the first day of the week.
|
|
||||||
doy: 12, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arMa;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arSa = {
|
|
||||||
code: 'ar-sa',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 6, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arSa;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var arTn = {
|
|
||||||
code: 'ar-tn',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return arTn;
|
|
||||||
|
|
||||||
}());
|
|
28
assets/3rdparty/fullcalendar/lib/locales/ar.js
vendored
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ar = {
|
|
||||||
code: 'ar',
|
|
||||||
week: {
|
|
||||||
dow: 6, // Saturday is the first day of the week.
|
|
||||||
doy: 12, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'السابق',
|
|
||||||
next: 'التالي',
|
|
||||||
today: 'اليوم',
|
|
||||||
month: 'شهر',
|
|
||||||
week: 'أسبوع',
|
|
||||||
day: 'يوم',
|
|
||||||
list: 'أجندة',
|
|
||||||
},
|
|
||||||
weekText: 'أسبوع',
|
|
||||||
allDayText: 'اليوم كله',
|
|
||||||
moreLinkText: 'أخرى',
|
|
||||||
noEventsText: 'أي أحداث لعرض',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ar;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/az.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var az = {
|
|
||||||
code: 'az',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Əvvəl',
|
|
||||||
next: 'Sonra',
|
|
||||||
today: 'Bu Gün',
|
|
||||||
month: 'Ay',
|
|
||||||
week: 'Həftə',
|
|
||||||
day: 'Gün',
|
|
||||||
list: 'Gündəm',
|
|
||||||
},
|
|
||||||
weekText: 'Həftə',
|
|
||||||
allDayText: 'Bütün Gün',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ daha çox ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Göstərmək üçün hadisə yoxdur',
|
|
||||||
};
|
|
||||||
|
|
||||||
return az;
|
|
||||||
|
|
||||||
}());
|
|
28
assets/3rdparty/fullcalendar/lib/locales/bg.js
vendored
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var bg = {
|
|
||||||
code: 'bg',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'назад',
|
|
||||||
next: 'напред',
|
|
||||||
today: 'днес',
|
|
||||||
month: 'Месец',
|
|
||||||
week: 'Седмица',
|
|
||||||
day: 'Ден',
|
|
||||||
list: 'График',
|
|
||||||
},
|
|
||||||
allDayText: 'Цял ден',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+още ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Няма събития за показване',
|
|
||||||
};
|
|
||||||
|
|
||||||
return bg;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/bn.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var bn = {
|
|
||||||
code: 'bn',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 6, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'পেছনে',
|
|
||||||
next: 'সামনে',
|
|
||||||
today: 'আজ',
|
|
||||||
month: 'মাস',
|
|
||||||
week: 'সপ্তাহ',
|
|
||||||
day: 'দিন',
|
|
||||||
list: 'তালিকা',
|
|
||||||
},
|
|
||||||
weekText: 'সপ্তাহ',
|
|
||||||
allDayText: 'সারাদিন',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+অন্যান্য ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'কোনো ইভেন্ট নেই',
|
|
||||||
};
|
|
||||||
|
|
||||||
return bn;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/bs.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var bs = {
|
|
||||||
code: 'bs',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Prošli',
|
|
||||||
next: 'Sljedeći',
|
|
||||||
today: 'Danas',
|
|
||||||
month: 'Mjesec',
|
|
||||||
week: 'Sedmica',
|
|
||||||
day: 'Dan',
|
|
||||||
list: 'Raspored',
|
|
||||||
},
|
|
||||||
weekText: 'Sed',
|
|
||||||
allDayText: 'Cijeli dan',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ još ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Nema događaja za prikazivanje',
|
|
||||||
};
|
|
||||||
|
|
||||||
return bs;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/ca.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ca = {
|
|
||||||
code: 'ca',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Anterior',
|
|
||||||
next: 'Següent',
|
|
||||||
today: 'Avui',
|
|
||||||
month: 'Mes',
|
|
||||||
week: 'Setmana',
|
|
||||||
day: 'Dia',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Set',
|
|
||||||
allDayText: 'Tot el dia',
|
|
||||||
moreLinkText: 'més',
|
|
||||||
noEventsText: 'No hi ha esdeveniments per mostrar',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ca;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/cs.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var cs = {
|
|
||||||
code: 'cs',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Dříve',
|
|
||||||
next: 'Později',
|
|
||||||
today: 'Nyní',
|
|
||||||
month: 'Měsíc',
|
|
||||||
week: 'Týden',
|
|
||||||
day: 'Den',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Týd',
|
|
||||||
allDayText: 'Celý den',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+další: ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Žádné akce k zobrazení',
|
|
||||||
};
|
|
||||||
|
|
||||||
return cs;
|
|
||||||
|
|
||||||
}());
|
|
28
assets/3rdparty/fullcalendar/lib/locales/cy.js
vendored
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var cy = {
|
|
||||||
code: 'cy',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Blaenorol',
|
|
||||||
next: 'Nesaf',
|
|
||||||
today: 'Heddiw',
|
|
||||||
year: 'Blwyddyn',
|
|
||||||
month: 'Mis',
|
|
||||||
week: 'Wythnos',
|
|
||||||
day: 'Dydd',
|
|
||||||
list: 'Rhestr',
|
|
||||||
},
|
|
||||||
weekText: 'Wythnos',
|
|
||||||
allDayText: 'Trwy\'r dydd',
|
|
||||||
moreLinkText: 'Mwy',
|
|
||||||
noEventsText: 'Dim digwyddiadau',
|
|
||||||
};
|
|
||||||
|
|
||||||
return cy;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/da.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var da = {
|
|
||||||
code: 'da',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Forrige',
|
|
||||||
next: 'Næste',
|
|
||||||
today: 'I dag',
|
|
||||||
month: 'Måned',
|
|
||||||
week: 'Uge',
|
|
||||||
day: 'Dag',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Uge',
|
|
||||||
allDayText: 'Hele dagen',
|
|
||||||
moreLinkText: 'flere',
|
|
||||||
noEventsText: 'Ingen arrangementer at vise',
|
|
||||||
};
|
|
||||||
|
|
||||||
return da;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,30 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var deAt = {
|
|
||||||
code: 'de-at',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Zurück',
|
|
||||||
next: 'Vor',
|
|
||||||
today: 'Heute',
|
|
||||||
year: 'Jahr',
|
|
||||||
month: 'Monat',
|
|
||||||
week: 'Woche',
|
|
||||||
day: 'Tag',
|
|
||||||
list: 'Terminübersicht',
|
|
||||||
},
|
|
||||||
weekText: 'KW',
|
|
||||||
allDayText: 'Ganztägig',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ weitere ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Keine Ereignisse anzuzeigen',
|
|
||||||
};
|
|
||||||
|
|
||||||
return deAt;
|
|
||||||
|
|
||||||
}());
|
|
30
assets/3rdparty/fullcalendar/lib/locales/de.js
vendored
@ -1,30 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var de = {
|
|
||||||
code: 'de',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Zurück',
|
|
||||||
next: 'Vor',
|
|
||||||
today: 'Heute',
|
|
||||||
year: 'Jahr',
|
|
||||||
month: 'Monat',
|
|
||||||
week: 'Woche',
|
|
||||||
day: 'Tag',
|
|
||||||
list: 'Terminübersicht',
|
|
||||||
},
|
|
||||||
weekText: 'KW',
|
|
||||||
allDayText: 'Ganztägig',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ weitere ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Keine Ereignisse anzuzeigen',
|
|
||||||
};
|
|
||||||
|
|
||||||
return de;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/el.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var el = {
|
|
||||||
code: 'el',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Προηγούμενος',
|
|
||||||
next: 'Επόμενος',
|
|
||||||
today: 'Σήμερα',
|
|
||||||
month: 'Μήνας',
|
|
||||||
week: 'Εβδομάδα',
|
|
||||||
day: 'Ημέρα',
|
|
||||||
list: 'Ατζέντα',
|
|
||||||
},
|
|
||||||
weekText: 'Εβδ',
|
|
||||||
allDayText: 'Ολοήμερο',
|
|
||||||
moreLinkText: 'περισσότερα',
|
|
||||||
noEventsText: 'Δεν υπάρχουν γεγονότα προς εμφάνιση',
|
|
||||||
};
|
|
||||||
|
|
||||||
return el;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,14 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var enAu = {
|
|
||||||
code: 'en-au',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
return enAu;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,14 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var enGb = {
|
|
||||||
code: 'en-gb',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
return enGb;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,14 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var enNz = {
|
|
||||||
code: 'en-nz',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
return enNz;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/eo.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var eo = {
|
|
||||||
code: 'eo',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Antaŭa',
|
|
||||||
next: 'Sekva',
|
|
||||||
today: 'Hodiaŭ',
|
|
||||||
month: 'Monato',
|
|
||||||
week: 'Semajno',
|
|
||||||
day: 'Tago',
|
|
||||||
list: 'Tagordo',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Tuta tago',
|
|
||||||
moreLinkText: 'pli',
|
|
||||||
noEventsText: 'Neniuj eventoj por montri',
|
|
||||||
};
|
|
||||||
|
|
||||||
return eo;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var esUs = {
|
|
||||||
code: 'es',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 6, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Ant',
|
|
||||||
next: 'Sig',
|
|
||||||
today: 'Hoy',
|
|
||||||
month: 'Mes',
|
|
||||||
week: 'Semana',
|
|
||||||
day: 'Día',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Todo el día',
|
|
||||||
moreLinkText: 'más',
|
|
||||||
noEventsText: 'No hay eventos para mostrar',
|
|
||||||
};
|
|
||||||
|
|
||||||
return esUs;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/es.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var es = {
|
|
||||||
code: 'es',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Ant',
|
|
||||||
next: 'Sig',
|
|
||||||
today: 'Hoy',
|
|
||||||
month: 'Mes',
|
|
||||||
week: 'Semana',
|
|
||||||
day: 'Día',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Todo el día',
|
|
||||||
moreLinkText: 'más',
|
|
||||||
noEventsText: 'No hay eventos para mostrar',
|
|
||||||
};
|
|
||||||
|
|
||||||
return es;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/et.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var et = {
|
|
||||||
code: 'et',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Eelnev',
|
|
||||||
next: 'Järgnev',
|
|
||||||
today: 'Täna',
|
|
||||||
month: 'Kuu',
|
|
||||||
week: 'Nädal',
|
|
||||||
day: 'Päev',
|
|
||||||
list: 'Päevakord',
|
|
||||||
},
|
|
||||||
weekText: 'näd',
|
|
||||||
allDayText: 'Kogu päev',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ veel ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Kuvamiseks puuduvad sündmused',
|
|
||||||
};
|
|
||||||
|
|
||||||
return et;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/eu.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var eu = {
|
|
||||||
code: 'eu',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Aur',
|
|
||||||
next: 'Hur',
|
|
||||||
today: 'Gaur',
|
|
||||||
month: 'Hilabetea',
|
|
||||||
week: 'Astea',
|
|
||||||
day: 'Eguna',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'As',
|
|
||||||
allDayText: 'Egun osoa',
|
|
||||||
moreLinkText: 'gehiago',
|
|
||||||
noEventsText: 'Ez dago ekitaldirik erakusteko',
|
|
||||||
};
|
|
||||||
|
|
||||||
return eu;
|
|
||||||
|
|
||||||
}());
|
|
30
assets/3rdparty/fullcalendar/lib/locales/fa.js
vendored
@ -1,30 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var fa = {
|
|
||||||
code: 'fa',
|
|
||||||
week: {
|
|
||||||
dow: 6, // Saturday is the first day of the week.
|
|
||||||
doy: 12, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'قبلی',
|
|
||||||
next: 'بعدی',
|
|
||||||
today: 'امروز',
|
|
||||||
month: 'ماه',
|
|
||||||
week: 'هفته',
|
|
||||||
day: 'روز',
|
|
||||||
list: 'برنامه',
|
|
||||||
},
|
|
||||||
weekText: 'هف',
|
|
||||||
allDayText: 'تمام روز',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return 'بیش از ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'هیچ رویدادی به نمایش',
|
|
||||||
};
|
|
||||||
|
|
||||||
return fa;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/fi.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var fi = {
|
|
||||||
code: 'fi',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Edellinen',
|
|
||||||
next: 'Seuraava',
|
|
||||||
today: 'Tänään',
|
|
||||||
month: 'Kuukausi',
|
|
||||||
week: 'Viikko',
|
|
||||||
day: 'Päivä',
|
|
||||||
list: 'Tapahtumat',
|
|
||||||
},
|
|
||||||
weekText: 'Vk',
|
|
||||||
allDayText: 'Koko päivä',
|
|
||||||
moreLinkText: 'lisää',
|
|
||||||
noEventsText: 'Ei näytettäviä tapahtumia',
|
|
||||||
};
|
|
||||||
|
|
||||||
return fi;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,24 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var frCa = {
|
|
||||||
code: 'fr',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Précédent',
|
|
||||||
next: 'Suivant',
|
|
||||||
today: "Aujourd'hui",
|
|
||||||
year: 'Année',
|
|
||||||
month: 'Mois',
|
|
||||||
week: 'Semaine',
|
|
||||||
day: 'Jour',
|
|
||||||
list: 'Mon planning',
|
|
||||||
},
|
|
||||||
weekText: 'Sem.',
|
|
||||||
allDayText: 'Toute la journée',
|
|
||||||
moreLinkText: 'en plus',
|
|
||||||
noEventsText: 'Aucun événement à afficher',
|
|
||||||
};
|
|
||||||
|
|
||||||
return frCa;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var frCh = {
|
|
||||||
code: 'fr-ch',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Précédent',
|
|
||||||
next: 'Suivant',
|
|
||||||
today: 'Courant',
|
|
||||||
year: 'Année',
|
|
||||||
month: 'Mois',
|
|
||||||
week: 'Semaine',
|
|
||||||
day: 'Jour',
|
|
||||||
list: 'Mon planning',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Toute la journée',
|
|
||||||
moreLinkText: 'en plus',
|
|
||||||
noEventsText: 'Aucun événement à afficher',
|
|
||||||
};
|
|
||||||
|
|
||||||
return frCh;
|
|
||||||
|
|
||||||
}());
|
|
28
assets/3rdparty/fullcalendar/lib/locales/fr.js
vendored
@ -1,28 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var fr = {
|
|
||||||
code: 'fr',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Précédent',
|
|
||||||
next: 'Suivant',
|
|
||||||
today: "Aujourd'hui",
|
|
||||||
year: 'Année',
|
|
||||||
month: 'Mois',
|
|
||||||
week: 'Semaine',
|
|
||||||
day: 'Jour',
|
|
||||||
list: 'Planning',
|
|
||||||
},
|
|
||||||
weekText: 'Sem.',
|
|
||||||
allDayText: 'Toute la journée',
|
|
||||||
moreLinkText: 'en plus',
|
|
||||||
noEventsText: 'Aucun événement à afficher',
|
|
||||||
};
|
|
||||||
|
|
||||||
return fr;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/gl.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var gl = {
|
|
||||||
code: 'gl',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Ant',
|
|
||||||
next: 'Seg',
|
|
||||||
today: 'Hoxe',
|
|
||||||
month: 'Mes',
|
|
||||||
week: 'Semana',
|
|
||||||
day: 'Día',
|
|
||||||
list: 'Axenda',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Todo o día',
|
|
||||||
moreLinkText: 'máis',
|
|
||||||
noEventsText: 'Non hai eventos para amosar',
|
|
||||||
};
|
|
||||||
|
|
||||||
return gl;
|
|
||||||
|
|
||||||
}());
|
|
24
assets/3rdparty/fullcalendar/lib/locales/he.js
vendored
@ -1,24 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var he = {
|
|
||||||
code: 'he',
|
|
||||||
direction: 'rtl',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'הקודם',
|
|
||||||
next: 'הבא',
|
|
||||||
today: 'היום',
|
|
||||||
month: 'חודש',
|
|
||||||
week: 'שבוע',
|
|
||||||
day: 'יום',
|
|
||||||
list: 'סדר יום',
|
|
||||||
},
|
|
||||||
allDayText: 'כל היום',
|
|
||||||
moreLinkText: 'אחר',
|
|
||||||
noEventsText: 'אין אירועים להצגה',
|
|
||||||
weekText: 'שבוע',
|
|
||||||
};
|
|
||||||
|
|
||||||
return he;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/hi.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var hi = {
|
|
||||||
code: 'hi',
|
|
||||||
week: {
|
|
||||||
dow: 0, // Sunday is the first day of the week.
|
|
||||||
doy: 6, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'पिछला',
|
|
||||||
next: 'अगला',
|
|
||||||
today: 'आज',
|
|
||||||
month: 'महीना',
|
|
||||||
week: 'सप्ताह',
|
|
||||||
day: 'दिन',
|
|
||||||
list: 'कार्यसूची',
|
|
||||||
},
|
|
||||||
weekText: 'हफ्ता',
|
|
||||||
allDayText: 'सभी दिन',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+अधिक ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'कोई घटनाओं को प्रदर्शित करने के लिए',
|
|
||||||
};
|
|
||||||
|
|
||||||
return hi;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/hr.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var hr = {
|
|
||||||
code: 'hr',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Prijašnji',
|
|
||||||
next: 'Sljedeći',
|
|
||||||
today: 'Danas',
|
|
||||||
month: 'Mjesec',
|
|
||||||
week: 'Tjedan',
|
|
||||||
day: 'Dan',
|
|
||||||
list: 'Raspored',
|
|
||||||
},
|
|
||||||
weekText: 'Tje',
|
|
||||||
allDayText: 'Cijeli dan',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ još ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Nema događaja za prikaz',
|
|
||||||
};
|
|
||||||
|
|
||||||
return hr;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/hu.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var hu = {
|
|
||||||
code: 'hu',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'vissza',
|
|
||||||
next: 'előre',
|
|
||||||
today: 'ma',
|
|
||||||
month: 'Hónap',
|
|
||||||
week: 'Hét',
|
|
||||||
day: 'Nap',
|
|
||||||
list: 'Napló',
|
|
||||||
},
|
|
||||||
weekText: 'Hét',
|
|
||||||
allDayText: 'Egész nap',
|
|
||||||
moreLinkText: 'további',
|
|
||||||
noEventsText: 'Nincs megjeleníthető esemény',
|
|
||||||
};
|
|
||||||
|
|
||||||
return hu;
|
|
||||||
|
|
||||||
}());
|
|
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var hyAm = {
|
|
||||||
code: 'hy-am',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Նախորդ',
|
|
||||||
next: 'Հաջորդ',
|
|
||||||
today: 'Այսօր',
|
|
||||||
month: 'Ամիս',
|
|
||||||
week: 'Շաբաթ',
|
|
||||||
day: 'Օր',
|
|
||||||
list: 'Օրվա ցուցակ',
|
|
||||||
},
|
|
||||||
weekText: 'Շաբ',
|
|
||||||
allDayText: 'Ամբողջ օր',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ ևս ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Բացակայում է իրադարձությունը ցուցադրելու',
|
|
||||||
};
|
|
||||||
|
|
||||||
return hyAm;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/id.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var id = {
|
|
||||||
code: 'id',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'mundur',
|
|
||||||
next: 'maju',
|
|
||||||
today: 'hari ini',
|
|
||||||
month: 'Bulan',
|
|
||||||
week: 'Minggu',
|
|
||||||
day: 'Hari',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Mg',
|
|
||||||
allDayText: 'Sehari penuh',
|
|
||||||
moreLinkText: 'lebih',
|
|
||||||
noEventsText: 'Tidak ada acara untuk ditampilkan',
|
|
||||||
};
|
|
||||||
|
|
||||||
return id;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/is.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var is = {
|
|
||||||
code: 'is',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Fyrri',
|
|
||||||
next: 'Næsti',
|
|
||||||
today: 'Í dag',
|
|
||||||
month: 'Mánuður',
|
|
||||||
week: 'Vika',
|
|
||||||
day: 'Dagur',
|
|
||||||
list: 'Dagskrá',
|
|
||||||
},
|
|
||||||
weekText: 'Vika',
|
|
||||||
allDayText: 'Allan daginn',
|
|
||||||
moreLinkText: 'meira',
|
|
||||||
noEventsText: 'Engir viðburðir til að sýna',
|
|
||||||
};
|
|
||||||
|
|
||||||
return is;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/it.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var it = {
|
|
||||||
code: 'it',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Prec',
|
|
||||||
next: 'Succ',
|
|
||||||
today: 'Oggi',
|
|
||||||
month: 'Mese',
|
|
||||||
week: 'Settimana',
|
|
||||||
day: 'Giorno',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Sm',
|
|
||||||
allDayText: 'Tutto il giorno',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+altri ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Non ci sono eventi da visualizzare',
|
|
||||||
};
|
|
||||||
|
|
||||||
return it;
|
|
||||||
|
|
||||||
}());
|
|
25
assets/3rdparty/fullcalendar/lib/locales/ja.js
vendored
@ -1,25 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ja = {
|
|
||||||
code: 'ja',
|
|
||||||
buttonText: {
|
|
||||||
prev: '前',
|
|
||||||
next: '次',
|
|
||||||
today: '今日',
|
|
||||||
month: '月',
|
|
||||||
week: '週',
|
|
||||||
day: '日',
|
|
||||||
list: '予定リスト',
|
|
||||||
},
|
|
||||||
weekText: '週',
|
|
||||||
allDayText: '終日',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '他 ' + n + ' 件'
|
|
||||||
},
|
|
||||||
noEventsText: '表示する予定はありません',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ja;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/ka.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ka = {
|
|
||||||
code: 'ka',
|
|
||||||
week: {
|
|
||||||
dow: 1,
|
|
||||||
doy: 7,
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'წინა',
|
|
||||||
next: 'შემდეგი',
|
|
||||||
today: 'დღეს',
|
|
||||||
month: 'თვე',
|
|
||||||
week: 'კვირა',
|
|
||||||
day: 'დღე',
|
|
||||||
list: 'დღის წესრიგი',
|
|
||||||
},
|
|
||||||
weekText: 'კვ',
|
|
||||||
allDayText: 'მთელი დღე',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ კიდევ ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'ღონისძიებები არ არის',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ka;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/kk.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var kk = {
|
|
||||||
code: 'kk',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Алдыңғы',
|
|
||||||
next: 'Келесі',
|
|
||||||
today: 'Бүгін',
|
|
||||||
month: 'Ай',
|
|
||||||
week: 'Апта',
|
|
||||||
day: 'Күн',
|
|
||||||
list: 'Күн тәртібі',
|
|
||||||
},
|
|
||||||
weekText: 'Не',
|
|
||||||
allDayText: 'Күні бойы',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+ тағы ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Көрсету үшін оқиғалар жоқ',
|
|
||||||
};
|
|
||||||
|
|
||||||
return kk;
|
|
||||||
|
|
||||||
}());
|
|
23
assets/3rdparty/fullcalendar/lib/locales/ko.js
vendored
@ -1,23 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ko = {
|
|
||||||
code: 'ko',
|
|
||||||
buttonText: {
|
|
||||||
prev: '이전달',
|
|
||||||
next: '다음달',
|
|
||||||
today: '오늘',
|
|
||||||
month: '월',
|
|
||||||
week: '주',
|
|
||||||
day: '일',
|
|
||||||
list: '일정목록',
|
|
||||||
},
|
|
||||||
weekText: '주',
|
|
||||||
allDayText: '종일',
|
|
||||||
moreLinkText: '개',
|
|
||||||
noEventsText: '일정이 없습니다',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ko;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/lb.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var lb = {
|
|
||||||
code: 'lb',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Zréck',
|
|
||||||
next: 'Weider',
|
|
||||||
today: 'Haut',
|
|
||||||
month: 'Mount',
|
|
||||||
week: 'Woch',
|
|
||||||
day: 'Dag',
|
|
||||||
list: 'Terminiwwersiicht',
|
|
||||||
},
|
|
||||||
weekText: 'W',
|
|
||||||
allDayText: 'Ganzen Dag',
|
|
||||||
moreLinkText: 'méi',
|
|
||||||
noEventsText: 'Nee Evenementer ze affichéieren',
|
|
||||||
};
|
|
||||||
|
|
||||||
return lb;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/lt.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var lt = {
|
|
||||||
code: 'lt',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Atgal',
|
|
||||||
next: 'Pirmyn',
|
|
||||||
today: 'Šiandien',
|
|
||||||
month: 'Mėnuo',
|
|
||||||
week: 'Savaitė',
|
|
||||||
day: 'Diena',
|
|
||||||
list: 'Darbotvarkė',
|
|
||||||
},
|
|
||||||
weekText: 'SAV',
|
|
||||||
allDayText: 'Visą dieną',
|
|
||||||
moreLinkText: 'daugiau',
|
|
||||||
noEventsText: 'Nėra įvykių rodyti',
|
|
||||||
};
|
|
||||||
|
|
||||||
return lt;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/lv.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var lv = {
|
|
||||||
code: 'lv',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Iepr.',
|
|
||||||
next: 'Nāk.',
|
|
||||||
today: 'Šodien',
|
|
||||||
month: 'Mēnesis',
|
|
||||||
week: 'Nedēļa',
|
|
||||||
day: 'Diena',
|
|
||||||
list: 'Dienas kārtība',
|
|
||||||
},
|
|
||||||
weekText: 'Ned.',
|
|
||||||
allDayText: 'Visu dienu',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+vēl ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Nav notikumu',
|
|
||||||
};
|
|
||||||
|
|
||||||
return lv;
|
|
||||||
|
|
||||||
}());
|
|
25
assets/3rdparty/fullcalendar/lib/locales/mk.js
vendored
@ -1,25 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var mk = {
|
|
||||||
code: 'mk',
|
|
||||||
buttonText: {
|
|
||||||
prev: 'претходно',
|
|
||||||
next: 'следно',
|
|
||||||
today: 'Денес',
|
|
||||||
month: 'Месец',
|
|
||||||
week: 'Недела',
|
|
||||||
day: 'Ден',
|
|
||||||
list: 'График',
|
|
||||||
},
|
|
||||||
weekText: 'Сед',
|
|
||||||
allDayText: 'Цел ден',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return '+повеќе ' + n
|
|
||||||
},
|
|
||||||
noEventsText: 'Нема настани за прикажување',
|
|
||||||
};
|
|
||||||
|
|
||||||
return mk;
|
|
||||||
|
|
||||||
}());
|
|
29
assets/3rdparty/fullcalendar/lib/locales/ms.js
vendored
@ -1,29 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ms = {
|
|
||||||
code: 'ms',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 7, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Sebelum',
|
|
||||||
next: 'Selepas',
|
|
||||||
today: 'hari ini',
|
|
||||||
month: 'Bulan',
|
|
||||||
week: 'Minggu',
|
|
||||||
day: 'Hari',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Mg',
|
|
||||||
allDayText: 'Sepanjang hari',
|
|
||||||
moreLinkText: function(n) {
|
|
||||||
return 'masih ada ' + n + ' acara'
|
|
||||||
},
|
|
||||||
noEventsText: 'Tiada peristiwa untuk dipaparkan',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ms;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/nb.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var nb = {
|
|
||||||
code: 'nb',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Forrige',
|
|
||||||
next: 'Neste',
|
|
||||||
today: 'I dag',
|
|
||||||
month: 'Måned',
|
|
||||||
week: 'Uke',
|
|
||||||
day: 'Dag',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
weekText: 'Uke',
|
|
||||||
allDayText: 'Hele dagen',
|
|
||||||
moreLinkText: 'til',
|
|
||||||
noEventsText: 'Ingen hendelser å vise',
|
|
||||||
};
|
|
||||||
|
|
||||||
return nb;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/ne.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ne = {
|
|
||||||
code: 'ne', // code for nepal
|
|
||||||
week: {
|
|
||||||
dow: 7, // Sunday is the first day of the week.
|
|
||||||
doy: 1, // The week that contains Jan 1st is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'अघिल्लो',
|
|
||||||
next: 'अर्को',
|
|
||||||
today: 'आज',
|
|
||||||
month: 'महिना',
|
|
||||||
week: 'हप्ता',
|
|
||||||
day: 'दिन',
|
|
||||||
list: 'सूची',
|
|
||||||
},
|
|
||||||
weekText: 'हप्ता',
|
|
||||||
allDayText: 'दिनभरि',
|
|
||||||
moreLinkText: 'थप लिंक',
|
|
||||||
noEventsText: 'देखाउनको लागि कुनै घटनाहरू छैनन्',
|
|
||||||
};
|
|
||||||
|
|
||||||
return ne;
|
|
||||||
|
|
||||||
}());
|
|
27
assets/3rdparty/fullcalendar/lib/locales/nl.js
vendored
@ -1,27 +0,0 @@
|
|||||||
FullCalendar.globalLocales.push(function () {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var nl = {
|
|
||||||
code: 'nl',
|
|
||||||
week: {
|
|
||||||
dow: 1, // Monday is the first day of the week.
|
|
||||||
doy: 4, // The week that contains Jan 4th is the first week of the year.
|
|
||||||
},
|
|
||||||
buttonText: {
|
|
||||||
prev: 'Vorige',
|
|
||||||
next: 'Volgende',
|
|
||||||
today: 'Vandaag',
|
|
||||||
year: 'Jaar',
|
|
||||||
month: 'Maand',
|
|
||||||
week: 'Week',
|
|
||||||
day: 'Dag',
|
|
||||||
list: 'Agenda',
|
|
||||||
},
|
|
||||||
allDayText: 'Hele dag',
|
|
||||||
moreLinkText: 'extra',
|
|
||||||
noEventsText: 'Geen evenementen om te laten zien',
|
|
||||||
};
|
|
||||||
|
|
||||||
return nl;
|
|
||||||
|
|
||||||
}());
|
|