Compare commits
9 commits
28be9ab3ce
...
135c796e7d
Author | SHA1 | Date | |
---|---|---|---|
135c796e7d | |||
c597a21d24 | |||
1d533642d6 | |||
3be9e603a1 | |||
069c7853e8 | |||
d246419bc3 | |||
b2ccb4fcbf | |||
34e9ee2fa5 | |||
79cbf110e5 |
11 changed files with 1877 additions and 674 deletions
|
@ -702,13 +702,19 @@ img.minilogo {
|
||||||
float: right;
|
float: right;
|
||||||
|
|
||||||
}
|
}
|
||||||
/*.introlettera OLD {
|
|
||||||
display:inline-block;
|
#today li .e_title,
|
||||||
padding:0 2em;
|
#mydate li .e_title {
|
||||||
margin-top:0px;
|
font-size: 0.7em;
|
||||||
text-align:left;
|
line-height: 2.8;
|
||||||
font-family: 'bebas_neuebold';
|
}
|
||||||
} */
|
#today .title,
|
||||||
|
#mydate .title {
|
||||||
|
text-transform: initial;
|
||||||
|
font-size: 1.2em;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
.introlettera {
|
.introlettera {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<script type="text/javascript" src="js/vendor/jquery.mobile-1.4.5.min.js"></script>
|
<script type="text/javascript" src="js/vendor/jquery.mobile-1.4.5.min.js"></script>
|
||||||
<script type="text/javascript" src="js/vendor/xml2json.js"></script>
|
<script type="text/javascript" src="js/vendor/xml2json.js"></script>
|
||||||
<script type="text/javascript" src="js/vendor/toastr.js"></script>
|
<script type="text/javascript" src="js/vendor/toastr.js"></script>
|
||||||
<script type="text/javascript" src="js/vendor/moment.min.js"></script>
|
<script type="text/javascript" src="js/vendor/moment-with-locales.min.js"></script>
|
||||||
|
|
||||||
<!--script src="js/swipe-page.js"></script-->
|
<!--script src="js/swipe-page.js"></script-->
|
||||||
<script type="text/javascript" src="js/main.js"></script>
|
<script type="text/javascript" src="js/main.js"></script>
|
||||||
|
@ -132,25 +132,10 @@
|
||||||
<div data-role="page" id="events" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
<div data-role="page" id="events" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
<div role="main" class="ui-content">
|
<div role="main" class="ui-content">
|
||||||
<div class="ui-body">
|
<div class="ui-body">
|
||||||
<p class="introlettera">EVENTI</p>
|
<p class="introlettera">Eventi</p>
|
||||||
<div data-role="tabs">
|
<p id="mostralista-34" class="listatovirgole listevoci">
|
||||||
<div data-role="navbar">
|
<i>Non sono stati attualmente caricati eventi.</i>
|
||||||
<ul>
|
</p>
|
||||||
<li><a href="#single" data-theme="a">Iniziative</a></li>
|
|
||||||
<li><a href="#repeat" data-theme="a">Fissi</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="single" >
|
|
||||||
<p id="mostralista-34" class="listatovirgole listevoci">
|
|
||||||
<i>Non sono stati attualmente caricati eventi.</i>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div id="repeat" >
|
|
||||||
<p id="mostralista-87" class="listatovirgole listevoci">
|
|
||||||
<i>Non sono stati attualmente caricati eventi.</i>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><!--chiude content -->
|
</div><!--chiude content -->
|
||||||
|
|
|
@ -2,7 +2,7 @@ var EVENTS = EVENTS || {};
|
||||||
|
|
||||||
EVENTS.table = {
|
EVENTS.table = {
|
||||||
single : 'xm24_events_single',
|
single : 'xm24_events_single',
|
||||||
repeat : 'xm24_events_repeat',
|
//repeat : 'xm24_events_repeat',
|
||||||
};
|
};
|
||||||
|
|
||||||
EVENTS.dateFormat = {
|
EVENTS.dateFormat = {
|
||||||
|
@ -25,24 +25,14 @@ EVENTS.formatDate = function(date, format) {
|
||||||
return mdate.isValid() ? mdate.format(format) : "";
|
return mdate.isValid() ? mdate.format(format) : "";
|
||||||
};
|
};
|
||||||
|
|
||||||
EVENTS.eventsLoaded = 0;
|
|
||||||
|
|
||||||
EVENTS.render = function() {
|
EVENTS.render = function() {
|
||||||
EVENTS.eventsLoaded = 0;
|
|
||||||
|
|
||||||
// //Se si lancia il loader prima che sia cambiata pagina il loader scompare,
|
|
||||||
// // ritardando invece che appaia, quando appare è già sulla pagina in cambiata
|
|
||||||
// setTimeout(function () {
|
|
||||||
// $.mobile.loading('show');
|
|
||||||
// }, 300);
|
|
||||||
|
|
||||||
var ret = checkConnection('ERR_EVENT');
|
var ret = checkConnection('ERR_EVENT');
|
||||||
if (ret) {
|
if (ret) {
|
||||||
EVENTS.getDataAndLoad(ai1ec.cats.single);
|
EVENTS.getDataAndLoad(ai1ec.cats.single);
|
||||||
EVENTS.getDataAndLoad(ai1ec.cats.repeat);
|
//EVENTS.getDataAndLoad(ai1ec.cats.repeat);
|
||||||
} else {
|
} else {
|
||||||
EVENTS.loadFromDb('#mostralista-'+ ai1ec.cats.single, ai1ec.cats.single);
|
EVENTS.loadFromDb('#mostralista-'+ ai1ec.cats.single, ai1ec.cats.single);
|
||||||
EVENTS.loadFromDb('#mostralista-'+ ai1ec.cats.repeat, ai1ec.cats.repeat);
|
//EVENTS.loadFromDb('#mostralista-'+ ai1ec.cats.repeat, ai1ec.cats.repeat);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,13 +93,10 @@ EVENTS.getDataAndLoad = function (type) {
|
||||||
};
|
};
|
||||||
|
|
||||||
EVENTS.hideLoader = function(){
|
EVENTS.hideLoader = function(){
|
||||||
if(EVENTS.eventsLoaded >= Object.keys(EVENTS.table).length)
|
$.mobile.loading('hide');
|
||||||
$.mobile.loading('hide');
|
|
||||||
};
|
};
|
||||||
|
|
||||||
EVENTS.errorHandler = function(msg, type) {
|
EVENTS.errorHandler = function(msg, type) {
|
||||||
EVENTS.eventsLoaded++;
|
|
||||||
|
|
||||||
if(type === 'info') {
|
if(type === 'info') {
|
||||||
toastr.info(msg);
|
toastr.info(msg);
|
||||||
} else {
|
} else {
|
||||||
|
@ -147,13 +134,13 @@ EVENTS.loadFromDb = function (containerId, type) {
|
||||||
|
|
||||||
items.push(li);
|
items.push(li);
|
||||||
}
|
}
|
||||||
EVENTS.eventsLoaded++;
|
|
||||||
$(containerId).empty();
|
$(containerId).empty();
|
||||||
$("<ul/>", {
|
$("<ul/>", {
|
||||||
html: items.join("")
|
html: items.join("")
|
||||||
}).prependTo(containerId);
|
}).prependTo(containerId);
|
||||||
|
|
||||||
EVENTS.hideLoader()
|
EVENTS.hideLoader();
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
EVENTS.errorHandler("Err: nel caricamento dei dati dal db");
|
EVENTS.errorHandler("Err: nel caricamento dei dati dal db");
|
||||||
});
|
});
|
||||||
|
|
|
@ -72,12 +72,6 @@ function alterContent(url) {
|
||||||
// store the data-foo attribute information with the url
|
// store the data-foo attribute information with the url
|
||||||
$.mobile.navigate(url);
|
$.mobile.navigate(url);
|
||||||
|
|
||||||
//Se si lancia il loader prima che sia cambiata pagina il loader scompare,
|
|
||||||
// ritardando invece che appaia, quando appare è già sulla pagina in cambiata
|
|
||||||
// setTimeout(function () {
|
|
||||||
// $.mobile.loading('show');
|
|
||||||
// }, 300);
|
|
||||||
|
|
||||||
switch (oldUrl) {
|
switch (oldUrl) {
|
||||||
case '#index':
|
case '#index':
|
||||||
$("#navheader").addClass("hide");
|
$("#navheader").addClass("hide");
|
||||||
|
@ -95,17 +89,25 @@ function alterContent(url) {
|
||||||
case '#ilove':
|
case '#ilove':
|
||||||
$("#navheader").removeClass("hide");
|
$("#navheader").removeClass("hide");
|
||||||
$("#navfooter").addClass("hide");
|
$("#navfooter").addClass("hide");
|
||||||
postsUpdate(FONTE.categories.ilove);
|
if(checkConnection()) {
|
||||||
|
postsUpdate(FONTE.categories.ilove);
|
||||||
|
} else {
|
||||||
|
renderLastNews(FONTE.contentListClass, FONTE.categories.ilove);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '#info':
|
case '#info':
|
||||||
$("#navheader").removeClass("hide");
|
$("#navheader").removeClass("hide");
|
||||||
$("#navfooter").addClass("hide");
|
$("#navfooter").addClass("hide");
|
||||||
postsUpdate(FONTE.categories.info);
|
if(checkConnection()) {
|
||||||
|
postsUpdate(FONTE.categories.info);
|
||||||
|
} else {
|
||||||
|
renderLastNews(FONTE.contentListClass, FONTE.categories.info);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '#events':
|
case '#events':
|
||||||
$("#navheader").removeClass("hide");
|
$("#navheader").removeClass("hide");
|
||||||
$("#navfooter").addClass("hide");
|
$("#navfooter").addClass("hide");
|
||||||
EVENTS.render();
|
EVENTS.render(); //il checkconenction è fatto dentro
|
||||||
break;
|
break;
|
||||||
case '#laboratori':
|
case '#laboratori':
|
||||||
$("#navheader").removeClass("hide");
|
$("#navheader").removeClass("hide");
|
||||||
|
@ -128,10 +130,6 @@ function alterContent(url) {
|
||||||
myJsonRandomPost('#titolosingleR', '#mostracontentsingleR');
|
myJsonRandomPost('#titolosingleR', '#mostracontentsingleR');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// $( "#outside" ).panel( "close" );
|
|
||||||
// // Alter the url according to the anchor's href attribute, and
|
|
||||||
// // store the data-foo attribute information with the url
|
|
||||||
// $.mobile.navigate(url);
|
|
||||||
}
|
}
|
||||||
/*///////////////utilities//////////////http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript*/
|
/*///////////////utilities//////////////http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript*/
|
||||||
function getParameterByName(name, url) {
|
function getParameterByName(name, url) {
|
||||||
|
@ -155,7 +153,6 @@ $(function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
function initMainPage() {
|
function initMainPage() {
|
||||||
$.mobile.loading('show');
|
|
||||||
if (checkConnection()) {
|
if (checkConnection()) {
|
||||||
postsUpdate(FONTE.categories.info);
|
postsUpdate(FONTE.categories.info);
|
||||||
} else {
|
} else {
|
||||||
|
@ -242,15 +239,10 @@ Site.prototype.init = function () {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// On document ready
|
|
||||||
$(function () {
|
|
||||||
// intercettaUrl();
|
|
||||||
// new Site();
|
|
||||||
// $(".minibox").click(function () {});
|
|
||||||
});
|
|
||||||
|
|
||||||
function onDeviceReady() {
|
function onDeviceReady() {
|
||||||
// console.log('deviceready');
|
//Setto il locale delle plugin delle date
|
||||||
|
moment.locale('it');
|
||||||
|
|
||||||
createDB();
|
createDB();
|
||||||
initStorage();
|
initStorage();
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,245 @@
|
||||||
var PROJECT = PROJECT || {};
|
var PROJECT = PROJECT || {};
|
||||||
|
|
||||||
PROJECT.labs = [
|
PROJECT.labs = [
|
||||||
{
|
{ collettivo: "Ciclofficina Ampioraggio",
|
||||||
title: "Ciclofficina",
|
|
||||||
dshort: "Officina per le biciclette. Nessuno ti ripara le bici, impari a farlo insieme a chi ha già questa competenza.",
|
dshort: "Officina per le biciclette. Nessuno ti ripara le bici, impari a farlo insieme a chi ha già questa competenza.",
|
||||||
dlong: "",
|
dlong: "...",
|
||||||
when : [
|
when : [
|
||||||
{day: "Mer", hour: ["18:00", "22:00"]},
|
{day: "Mar", hour: ["19:00", "22:00"], title: "Assemblea Ciclofficina" },
|
||||||
{day: "Dom", hour: ["18:00", "22:00"]}
|
{day: "Mer", hour: ["18:00", "22:00"], title: "Riparazioni biciclette" },
|
||||||
|
{day: "Dom", hour: ["18:00", "22:00"], title: "Riparazioni biciclette" }
|
||||||
],
|
],
|
||||||
old_event: "",
|
old_event: "", //un vecchio evento
|
||||||
site: "http://ampioraggio.noblogs.org/",
|
site: "http://ampioraggio.noblogs.org", //sito personale
|
||||||
sn: "",
|
contatto : "", //email
|
||||||
|
page: "http://www.ecn.org/xm24/?page_id=16", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
},
|
},
|
||||||
{
|
{ collettivo: "SIM",
|
||||||
title: "Scuola Italiano con Migranti",
|
dshort: '“Nessuno educa nessuno, nessuno educa se stesso, gli uomini'+
|
||||||
dshort: '“Nessuno educa nessuno, nessuno educa se stesso, gli uomini si educano insieme, con la mediazione del mondo.” – Paulo Freire,',
|
'si educano insieme, con la mediazione del mondo.” – Paulo Freire,',
|
||||||
dlong: "La Scuola d’Italiano CON migranti del XM24 è una scuola autogestita che unisce al percorso linguistico un percorso politico, sia perchè si oppone alle leggi razziste dello stato, sia perchè concepisce l’ apprendimento dell’italiano da parte dei migranti come uno strumento di emancipazione, autodefinizione e socializzazione.",
|
dlong: "La Scuola d’Italiano CON migranti del XM24 è una scuola "+
|
||||||
|
"autogestita che unisce al percorso linguistico un percorso politico, sia "+
|
||||||
|
"perchè si oppone alle leggi razziste dello stato, sia perchè concepisce "+
|
||||||
|
"l’ apprendimento dell’italiano da parte dei migranti come uno strumento "+
|
||||||
|
"di emancipazione, autodefinizione e socializzazione.",
|
||||||
when : [
|
when : [
|
||||||
{day: "Lun", hour: ["19:00", "21:00"]},
|
{day: "Lun", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"},
|
||||||
{day: "Mar", hour: ["19:00", "21:00"]},
|
{day: "Mar", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"},
|
||||||
{day: "Mer", hour: ["19:00", "21:00"]}
|
{day: "Mer", hour: ["19:00", "21:00"], title:"Scuola Italiano con Migranti"}
|
||||||
],
|
],
|
||||||
old_event: "",
|
old_event: "", //un vecchio evento
|
||||||
site: "http://simxm24.noblogs.org/",
|
site: "http://simxm24.noblogs.org", //sito personale
|
||||||
sn: [],
|
contatto : "", //email
|
||||||
|
page: "", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
},
|
},
|
||||||
|
{ collettivo: "Hacklabbo",
|
||||||
|
dshort: "Serata di smanettamento collettivo, giochi, confronto. Sottoterra nascono idee, serpeggiano progetti, si condividono codice, saldatori e birrette.",
|
||||||
|
dlong: "Le tecnologie invasive, l’imposizione di una socialita’ predigerita da parte dei colossi dell’informatica e dei media, la profilazione pervasiva a scopo commerciale e di controllo sociale, la censura governativa ed aziendale e la commercializzazione di massa di prodotti hardware e software che utilizzano licenze limitanti e brevetti intellettuali come armi legali e dogane virtuali sono gabbie sociali in cui l’utente viene rinchiuso." +
|
||||||
|
"Per uscirne analizziamo, smontiamo e scardiniamo le meccaniche in cui ci siamo fatti inscatolare rivendicando la libera circolazione (analogica e digitale) dell’informazione, il diritto alla privacy, all’anonimato e alla liberta di espressione ed invenzione e condividiamo conoscenza autoproducendo dal basso strumenti alternativi ed infrastrutture autonome di comunicazione per una partecipazione politica consapevole.",
|
||||||
|
when : [
|
||||||
|
{day: "Mer", hour: ["20:00", "23:00"], title:"Hacklabbo" },
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://liste.indivia.net/listinfo/hacklabbo", //sito personale
|
||||||
|
contatto : "", //email
|
||||||
|
page: "http://www.ecn.org/xm24/hacklabbo/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Infoshock",
|
||||||
|
dshort: "L’ InfoShock di XM24 è uno spazio di consultazione e distribuzione "+
|
||||||
|
"alternativa di materiale storico/culturale/politico.",
|
||||||
|
dlong: "Infoshock è uno spazio aggregativo, un luogo di interazione e contaminazione "+
|
||||||
|
"sociale, di incontro, confronto e condivisione, un veicolo sperimentale e "+
|
||||||
|
"creativo per la trasmissione della cultura e della politica.",
|
||||||
|
when : [
|
||||||
|
{day: "Giov", hour: ["18:00", "23:00"], title:"Apertura spazio Infoshock" },
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "https://infoshockxm24.noblogs.org", //sito personale
|
||||||
|
contatto : "infoshockxm24@indivia.net", //email
|
||||||
|
page: "http://www.ecn.org/xm24/infoshock/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "SeriXm",
|
||||||
|
dshort: "Laboratorio creativo attrezzato per la stampa serigrafica",
|
||||||
|
dlong: "Uno spazio di autoproduzione che nasce con l’intento di sperimentare e "+
|
||||||
|
"applicare la creazione legata al mondo del visuale. La serigrafia come "+
|
||||||
|
"tecnica di stampa manuale legata al mondo d.i.y. si pone in maniera "+
|
||||||
|
"opposta alle logiche della produzione industriale massiva e omologante.",
|
||||||
|
when : [],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "", //sito personale
|
||||||
|
contatto : "serixm@autistici.org", //email
|
||||||
|
page: "http://www.ecn.org/xm24/seryxm/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Palestrina Libera",
|
||||||
|
dshort: "Palestra popolare basata sugli stessi principi del posto che la ospita, XM24, di cui è parte integrante.",
|
||||||
|
dlong: "Uno spazio di autoproduzione che nasce con l’intento di sperimentare e "+
|
||||||
|
"applicare la creazione legata al mondo del visuale. La serigrafia come "+
|
||||||
|
"tecnica di stampa manuale legata al mondo d.i.y. si pone in maniera "+
|
||||||
|
"opposta alle logiche della produzione industriale massiva e omologante.",
|
||||||
|
when : [
|
||||||
|
{day: "Mar", hour: ["18:30", "20:30"], title:"Hata Yoga"},
|
||||||
|
{day: "Mer", hour: ["20:30", "22:30"], title:"Hata Yoga meditativa)"},
|
||||||
|
{day: "Gio", hour: ["18:30", "21:00"], title:"Hata Yoga"},
|
||||||
|
{day: "Lun", hour: ["19:00", "21:00"], title:"Tessuti aerei"},
|
||||||
|
{day: "Mer", hour: ["19:00", "21:00"], title:"Tessuti aerei"},
|
||||||
|
{day: "Ven", hour: ["19:00", "21:00"], title:"Tessuti aerei"},
|
||||||
|
{day: "Sab", hour: ["15:00", "17:00"], title:"Shiatsu"},
|
||||||
|
{day: "Lun", hour: ["15:00", "17:00"], title:"Acrobalance"}
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://liste.indivia.net/listinfo/pallestra", //sito personale
|
||||||
|
contatto : "palestrinalibera@autistici.org", //email
|
||||||
|
page: "http://www.ecn.org/xm24/palestrina-libera/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Palestra Popolare Antifa Boxe Teofilo Stevenson",
|
||||||
|
dshort: "Palestra popolare nata a novembre del 2014 per offrire un corso autogestito di Boxe.",
|
||||||
|
dlong: "All’interno del circuito nazionale delle palestre popolari, la P.P. Stevenson si propone di "+
|
||||||
|
"offrire un’esperienza di sport popolare che parte dal basso, si prefigge "+
|
||||||
|
"di insegnare a praticare una disciplina che ha come principi l’uguaglianza "+
|
||||||
|
"e il rispetto reciproco",
|
||||||
|
when : [
|
||||||
|
{day: "Lun", hour: ["20:00", "22:00"], title:"Pugilato"},
|
||||||
|
{day: "Mer", hour: ["20:00", "22:00"], title:"Pugilato Principianti"},
|
||||||
|
{day: "Ven", hour: ["20:00", "22:00"], title:"Pugilato"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://liste.indivia.net/listinfo/pallestra", //sito personale
|
||||||
|
contatto : "palestrapopolarestevenson@autistici.org", //email
|
||||||
|
page: "http://www.ecn.org/xm24/palestrina-libera/", //pagina su sito xm24
|
||||||
|
sn: "https://www.facebook.com/palestrapopolarestevenson", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Lab57 Alchemica",
|
||||||
|
dshort: "Ascolto psicologico e punto di primo soccorso",
|
||||||
|
dlong: "Ascolto psicologico e punto di primo soccorso per evitare le "+
|
||||||
|
"conseguenze dannose provocate dall’abuso di sostanze psicoattive "+
|
||||||
|
"legali ed illegali o più in generale causate da comportamenti e "+
|
||||||
|
"stili vita a rischio",
|
||||||
|
when : [
|
||||||
|
{day: "Giov", hour: ["19:00", "23:00"], title:"Sportello consulenza antipro"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://lab57.indivia.net", //sito personale
|
||||||
|
contatto : "lab57@indivia.net", //email
|
||||||
|
page: "http://www.ecn.org/xm24/evento/sportello-consulenza-lab57alchemica/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Campi aperti",
|
||||||
|
dshort: "Associazione fatta da agricoltori e consumatori che sostiene l’agricoltura biologica e contadina.",
|
||||||
|
dlong: "Per noi di CampiAperti realizzare la sovranità alimentare nelle città "+
|
||||||
|
"significa difendere la piccola agricoltura contadina nelle campagne "+
|
||||||
|
"creando una relazione diretta tra chi produce e chi consuma. "+
|
||||||
|
"Questo progetto per noi è il punto di partenza per la costruzione di"+
|
||||||
|
" una alternativa al sistema economico dominante.",
|
||||||
|
when : [
|
||||||
|
{day: "Gio", hour: ["16.30", "21:00"], title:"Mercatino Biologico"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://www.campiaperti.org/", //sito personale
|
||||||
|
contatto : "frigotecniche@indivia.net", //email
|
||||||
|
page: "http://www.campiaperti.org/chi-siamo/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Frigotecniche",
|
||||||
|
dshort: "Laboratori di sperimentazione musicale",
|
||||||
|
dlong: "Alcuni gruppi promotori del lab sono: Dune, Mother propaganda, Kaatu verata nikto, "+
|
||||||
|
"Stormo, G.I.JOE, Grindine. "+
|
||||||
|
"Alcune etichette Xhol Records, In limine Records, Donnabavosa REcords",
|
||||||
|
when : [
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "", //sito personale
|
||||||
|
contatto : "frigotecniche@indivia.net", //email
|
||||||
|
page: "http://www.ecn.org/xm24/frigotecniche/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "Xm24",
|
||||||
|
dshort: "Spazio pubblico autogestito",
|
||||||
|
dlong: "Crogiulo di opinioni, interessi, speranze. Ostinatamente dietro la barricata.",
|
||||||
|
when : [
|
||||||
|
{day: "Mar", hour: ["20.30", "24:30"], title:"Assemblea pubblica Xm24"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "http://www.ecn.org/xm24/", //sito personale
|
||||||
|
contatto : "", //email
|
||||||
|
page: "http://www.ecn.org/xm24/", //pagina su sito xm24
|
||||||
|
sn: "", //social network
|
||||||
|
},
|
||||||
|
{ collettivo: "No Borders",
|
||||||
|
dshort: "Lottiamo contro tutte le frontiere, fisiche e immaginarie, e siamo per la libertà di movimento di tutti e tutte.",
|
||||||
|
dlong: "L’assemblea Bologna No Borders nasce in seguito all’esperienza del "+
|
||||||
|
"presidio di Ventimiglia e fa parte della rete No Borders, "+
|
||||||
|
"che è presente in tante città Italiane e europee ed è attiva in "+
|
||||||
|
"molti luoghi di frontiera.",
|
||||||
|
when : [
|
||||||
|
{day: "Mer", hour: ["20.00", "22:00"], title:"Assemblea No Borders"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "", //sito personale
|
||||||
|
contatto : "", //email
|
||||||
|
page: "", //pagina su sito xm24
|
||||||
|
},
|
||||||
|
{ collettivo: "Sportello medico giuridico MEDERÌ",
|
||||||
|
dshort: "Consulenza medica e legale in materia di immigrazione",
|
||||||
|
dlong: "Rivendichiamo il diritto di ciascuno di essere libero di scegliere "+
|
||||||
|
"dove spostarsi e stabilirsi a prescindere dalla provenienza e senza "+
|
||||||
|
"subire discriminazioni. Rifiutiamo che il fenomeno migratorio sia "+
|
||||||
|
"trattato come un problema di ordine pubblico oppure limitato dalle "+
|
||||||
|
"esigenze economiche di un paese.",
|
||||||
|
when : [
|
||||||
|
{day: "Lun", hour: ["19.00", "21:00"], title:"Sportello medico giuridico"},
|
||||||
|
],
|
||||||
|
old_event: "", //un vecchio evento
|
||||||
|
site: "", //sito personale
|
||||||
|
contatto : "sportellomedicogiuridico@xm24.indivia.net", //email
|
||||||
|
page: "http://www.ecn.org/xm24/sportello-medico-legale/", //pagina su sito xm24
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var sortHours = function(a, b){
|
||||||
|
return a.hour[0] < b.hour[0] || (a.hour[0] == b.hour[0] && a.hour[1] < b.hour[1]) ? -1 : 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
var sortDay = function(arr){
|
||||||
|
var sorted = [];
|
||||||
|
|
||||||
|
if(arr.lun)
|
||||||
|
sorted.push(arr.lun);
|
||||||
|
|
||||||
|
if(arr.mar)
|
||||||
|
sorted.push(arr.mar);
|
||||||
|
|
||||||
|
if(arr.mer)
|
||||||
|
sorted.push(arr.mer);
|
||||||
|
|
||||||
|
if(arr.gio)
|
||||||
|
sorted.push(arr.gio);
|
||||||
|
|
||||||
|
if(arr.ven)
|
||||||
|
sorted.push(arr.ven);
|
||||||
|
|
||||||
|
if(arr.sab)
|
||||||
|
sorted.push(arr.sab);
|
||||||
|
|
||||||
|
if(arr.dom)
|
||||||
|
sorted.push(arr.dom);
|
||||||
|
|
||||||
|
return sorted;
|
||||||
|
};
|
||||||
|
|
||||||
|
var init = true;
|
||||||
|
|
||||||
|
PROJECT.hr = "<hr class='post-divider'>";
|
||||||
|
|
||||||
PROJECT.getHtmlA = function(label, url, _class) {
|
PROJECT.getHtmlA = function(label, url, _class) {
|
||||||
if(!url)
|
if(!url)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_class = _class || "";
|
_class = _class || "";
|
||||||
|
@ -41,25 +250,32 @@ PROJECT.getHtmlA = function(label, url, _class) {
|
||||||
"</a>";
|
"</a>";
|
||||||
};
|
};
|
||||||
|
|
||||||
PROJECT.getHtmlDate = function(evt) {
|
PROJECT.getHtmlDate = function(evt, noDay) {
|
||||||
return "<ol>"+
|
if(evt) {
|
||||||
"<span class='e_day'>" + evt.day + "</span>" +
|
var day = ! noDay ? "<span class='e_day'>" + evt.day + "</span>" + " " : "";
|
||||||
"<span class='e_from'>" + evt.hour[0] + "</span>" + " - " +
|
|
||||||
"<span class='e_to'>" + evt.hour[1] + "</span>" +
|
return "<small>" + day +
|
||||||
"</ol>";
|
"<span class='e_from'>" + evt.hour[0] + "</span>" + " - " +
|
||||||
|
"<span class='e_to'>" + evt.hour[1] + "</span></small> " +
|
||||||
|
"<span class='e_title'>" + " : " + evt.title + "</span> ";
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
PROJECT.labOrder = function(lab){
|
PROJECT.labOrder = function(lab){
|
||||||
var events = "<ul>";
|
var events = "<ul>";
|
||||||
for(var e = 0; e < lab.when.length; e++) {
|
for(var e = 0; e < lab.when.length; e++) {
|
||||||
events += PROJECT.getHtmlDate(lab.when[e]);
|
events += "<ol>" + PROJECT.getHtmlDate(lab.when[e]) + "</ol>";
|
||||||
}
|
}
|
||||||
events += "</ul>";
|
events += "</ul>";
|
||||||
|
|
||||||
var li = "<li>"+
|
var li = "<li>"+
|
||||||
"<span class='title'>" + lab.title + "</span>"+
|
"<span class='title'>" + lab.collettivo + "</span>"+
|
||||||
|
"<br>"+
|
||||||
"<span class='dshort'>" + lab.dshort + "</span>"+
|
"<span class='dshort'>" + lab.dshort + "</span>"+
|
||||||
|
"<br>"+
|
||||||
PROJECT.getHtmlA("Sito:", lab.site)+
|
PROJECT.getHtmlA("Sito:", lab.site)+
|
||||||
PROJECT.getHtmlA("Social Network", lab.sn)+
|
PROJECT.getHtmlA("Social Network", lab.sn)+
|
||||||
events+
|
events+
|
||||||
|
@ -70,33 +286,90 @@ PROJECT.labOrder = function(lab){
|
||||||
return li;
|
return li;
|
||||||
};
|
};
|
||||||
|
|
||||||
PROJECT.dateOrder = function(lab){
|
PROJECT.todayOrder = function(todayEvents, lab, day){
|
||||||
|
for(var e = 0; e < lab.when.length; e++) {
|
||||||
|
//Comparo in minuscolo così son sicuro di matchare in ogni modo in cui è scritto nel json
|
||||||
|
if(lab.when[e].day.toLowerCase() == day) {
|
||||||
|
todayEvents.push(lab.when[e]);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
PROJECT.todayOrder = function(lab){
|
PROJECT.todayRender = function(todayEvents){
|
||||||
|
var events="";
|
||||||
|
|
||||||
};
|
todayEvents.sort(sortHours);
|
||||||
|
for(var i = 0, len = todayEvents.length; i < len; i++) {
|
||||||
var init = true;
|
var hr = i == len - 1 ? "" : PROJECT.hr;
|
||||||
|
events += "<li>" +
|
||||||
PROJECT.render = function() {
|
PROJECT.getHtmlDate(todayEvents[i], true) +
|
||||||
var a = moment().format("MMM");
|
hr +
|
||||||
|
"</li>";
|
||||||
//if(ini)
|
|
||||||
var lab = "", date = "", today = "";
|
|
||||||
for(var l = 0, labLen = PROJECT.labs.length; l < labLen; l++) {
|
|
||||||
//today += PROJECT.todayOrder(PROJECT.labs[l]);
|
|
||||||
lab += PROJECT.labOrder(PROJECT.labs[l]);
|
|
||||||
//date += PROJECT.dateOrder(PROJECT.labs[l]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// $('#today p').empty();
|
if(todayEvents.length === 0) {
|
||||||
// $('#today p').html("<ul>" + lab + "</ul>");
|
events = "<i>Oggi non sono previsti laboratori o assemblee.</i>";
|
||||||
//
|
} else {
|
||||||
// $('#mydate p').empty();
|
events = "<p class='title'>OGGI: " + moment().format('DD/MM/YYYY') + "</p><ul>" + events + "</ul>";
|
||||||
// $('#mydate p').html("<ul>" + lab + "</ul>");
|
}
|
||||||
|
|
||||||
|
return events;
|
||||||
|
};
|
||||||
|
|
||||||
|
PROJECT.dateRender = function(date) {
|
||||||
|
date.sort(sortHours);
|
||||||
|
var dates = "<p class='title'>" + date[0].day.toUpperCase() + "</p>";
|
||||||
|
dates += "<ul>";
|
||||||
|
for(var i = 0, len = date.length; i < len; i++) {
|
||||||
|
var hr = i == len - 1 ? "" : PROJECT.hr;
|
||||||
|
dates += "<li>" +
|
||||||
|
PROJECT.getHtmlDate(date[i], true) +
|
||||||
|
hr +
|
||||||
|
"</li>";
|
||||||
|
}
|
||||||
|
dates += "</ul>";
|
||||||
|
|
||||||
|
return dates;
|
||||||
|
};
|
||||||
|
|
||||||
|
PROJECT.dateOrder = function(dayEvents, lab) {
|
||||||
|
for(var e = 0; e < lab.when.length; e++) {
|
||||||
|
var day = lab.when[e].day.toLowerCase();
|
||||||
|
if(! dayEvents[day])
|
||||||
|
dayEvents[day] = [];
|
||||||
|
|
||||||
|
dayEvents[day].push(lab.when[e]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
PROJECT.render = function() {
|
||||||
|
var day = moment().format("ddd").toLowerCase();
|
||||||
|
//var day = "mar"; //DEBUG
|
||||||
|
|
||||||
|
var lab = "", date = "", today = "";
|
||||||
|
var todayEvents = [], dayEvents = [];
|
||||||
|
for(var l = 0, labLen = PROJECT.labs.length; l < labLen; l++) {
|
||||||
|
PROJECT.todayOrder(todayEvents, PROJECT.labs[l], day);
|
||||||
|
lab += PROJECT.labOrder(PROJECT.labs[l]);
|
||||||
|
PROJECT.dateOrder(dayEvents, PROJECT.labs[l]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//------ TODAY ORDER
|
||||||
|
today += PROJECT.todayRender(todayEvents);
|
||||||
|
$('#today p').empty();
|
||||||
|
$('#today p').html(today);
|
||||||
|
|
||||||
|
//------ DAY ORDER
|
||||||
|
dayEvents = sortDay(dayEvents);
|
||||||
|
for(var k in dayEvents) {
|
||||||
|
date += PROJECT.dateRender(dayEvents[k]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#mydate p').empty();
|
||||||
|
$('#mydate p').html(date);
|
||||||
|
|
||||||
|
//------ LAB ORDER
|
||||||
$('#project p').empty();
|
$('#project p').empty();
|
||||||
$('#project p').html("<ul>" + lab + "</ul>");
|
$('#project p').html("<ul>" + lab + "</ul>");
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,8 @@ function onDeviceReadyPush() {
|
||||||
*/
|
*/
|
||||||
var eventId = notification.additionalData.data.id;
|
var eventId = notification.additionalData.data.id;
|
||||||
var eventUrl = notification.additionalData.url;
|
var eventUrl = notification.additionalData.url;
|
||||||
|
|
||||||
|
alterContent('#events');
|
||||||
/*
|
/*
|
||||||
* TODO: mandare l'utente all'evento..
|
* TODO: mandare l'utente all'evento..
|
||||||
* l'url servirebbe solo se lo si vuole fare in webview
|
* l'url servirebbe solo se lo si vuole fare in webview
|
||||||
|
@ -60,6 +62,13 @@ function onDeviceReadyPush() {
|
||||||
* altrimenti bisognerebbe fare il fetch dell'xml o json dal sito,
|
* altrimenti bisognerebbe fare il fetch dell'xml o json dal sito,
|
||||||
* salvarlo o comunque visualizzare la pagina
|
* salvarlo o comunque visualizzare la pagina
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
FONTE.categories = {
|
||||||
|
ilove : [497,647,590], //ilove, 4mar, solid
|
||||||
|
info : [8,42,68,3], //ilove, 4mar, solid
|
||||||
|
};
|
||||||
|
// alterContent('#info');
|
||||||
|
// alterContent('#ilove');
|
||||||
break;
|
break;
|
||||||
case 'notice':
|
case 'notice':
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -370,12 +370,12 @@ function createDB() {
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats (catid INTEGER PRIMARY KEY, title, cat)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats (catid INTEGER PRIMARY KEY, title, cat)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats_to_posts (id, catid, PRIMARY KEY (id, catid))');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats_to_posts (id, catid, PRIMARY KEY (id, catid))');
|
||||||
|
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags (id INTEGER PRIMARY KEY, title, tag)');
|
//FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags (id INTEGER PRIMARY KEY, title, tag)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_posts (id, tagid)');
|
//FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_posts (id, tagid)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_pages (id INTEGER PRIMARY KEY, title, date, page)');
|
//FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_pages (id INTEGER PRIMARY KEY, title, date, page)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_events_single (id INTEGER PRIMARY KEY, title, description, initDate, endDate, url, geo)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_events_single (id INTEGER PRIMARY KEY, title, description, initDate, endDate, url, geo)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_events (id, tagid)');
|
//FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_events (id, tagid)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_events_repeat (id INTEGER PRIMARY KEY, title, description, initDate, endDate, url, geo)');
|
//FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_events_repeat (id INTEGER PRIMARY KEY, title, description, initDate, endDate, url, geo)');
|
||||||
}, function () {
|
}, function () {
|
||||||
console.log('error');
|
console.log('error');
|
||||||
console.log(arguments);
|
console.log(arguments);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
function shareMeNow(message, subject, url) {
|
function shareMeNow(message, subject, url) {
|
||||||
// this is the complete list of currently supported params you can pass to the plugin (all optional)
|
// this is the complete list of currently supported params you can pass to the plugin (all optional)
|
||||||
var options = {
|
var options = {
|
||||||
message: message || '', // not supported on some apps (Facebook, Instagram)
|
message: message ? entityToHtml(message) : '', // not supported on some apps (Facebook, Instagram)
|
||||||
subject: subject || 'Share this:', // fi. for email
|
subject: subject ? entityToHtml(subject) : 'Share this:', // fi. for email
|
||||||
//files: ['', ''], // an array of filenames either locally or remotely
|
//files: ['', ''], // an array of filenames either locally or remotely
|
||||||
url: url || 'https://www.ecn.org/xm24',
|
url: url || 'https://www.ecn.org/xm24',
|
||||||
};
|
};
|
||||||
|
|
286
www/js/util.js
286
www/js/util.js
|
@ -41,4 +41,290 @@ var getObjKey = function(obj, val) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return key;
|
return key;
|
||||||
|
};
|
||||||
|
|
||||||
|
function entityToHtml(string) {
|
||||||
|
for (var i in entity_table) {
|
||||||
|
if (i != 38) {
|
||||||
|
string = string.replace(new RegExp(entity_table[i], "g"), String.fromCharCode(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string = string.replace(new RegExp("&#(x?)(\\d+);", "g"), function(match, p1, p2, string) {
|
||||||
|
return String.fromCharCode(((p1 == 'x') ? parseInt(p2, 16) : p2));
|
||||||
|
});
|
||||||
|
|
||||||
|
string = string.replace(new RegExp(entity_table[38], "g"), String.fromCharCode(38));
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
|
||||||
|
var entity_table = {
|
||||||
|
// 34: """, // Quotation mark. Not required
|
||||||
|
38: "&", // Ampersand. Applied before everything else in the application
|
||||||
|
60: "<", // Less-than sign
|
||||||
|
62: ">", // Greater-than sign
|
||||||
|
// 63: "?", // Question mark
|
||||||
|
// 111: "o", // Latin small letter o
|
||||||
|
160: " ", // Non-breaking space
|
||||||
|
161: "¡", // Inverted exclamation mark
|
||||||
|
162: "¢", // Cent sign
|
||||||
|
163: "£", // Pound sign
|
||||||
|
164: "¤", // Currency sign
|
||||||
|
165: "¥", // Yen sign
|
||||||
|
166: "¦", // Broken vertical bar
|
||||||
|
167: "§", // Section sign
|
||||||
|
168: "¨", // Diaeresis
|
||||||
|
169: "©", // Copyright sign
|
||||||
|
170: "ª", // Feminine ordinal indicator
|
||||||
|
171: "«", // Left-pointing double angle quotation mark
|
||||||
|
172: "¬", // Not sign
|
||||||
|
173: "­", // Soft hyphen
|
||||||
|
174: "®", // Registered sign
|
||||||
|
175: "¯", // Macron
|
||||||
|
176: "°", // Degree sign
|
||||||
|
177: "±", // Plus-minus sign
|
||||||
|
178: "²", // Superscript two
|
||||||
|
179: "³", // Superscript three
|
||||||
|
180: "´", // Acute accent
|
||||||
|
181: "µ", // Micro sign
|
||||||
|
182: "¶", // Pilcrow sign
|
||||||
|
183: "·", // Middle dot
|
||||||
|
184: "¸", // Cedilla
|
||||||
|
185: "¹", // Superscript one
|
||||||
|
186: "º", // Masculine ordinal indicator
|
||||||
|
187: "»", // Right-pointing double angle quotation mark
|
||||||
|
188: "¼", // Vulgar fraction one-quarter
|
||||||
|
189: "½", // Vulgar fraction one-half
|
||||||
|
190: "¾", // Vulgar fraction three-quarters
|
||||||
|
191: "¿", // Inverted question mark
|
||||||
|
192: "À", // A with grave
|
||||||
|
193: "Á", // A with acute
|
||||||
|
194: "Â", // A with circumflex
|
||||||
|
195: "Ã", // A with tilde
|
||||||
|
196: "Ä", // A with diaeresis
|
||||||
|
197: "Å", // A with ring above
|
||||||
|
198: "Æ", // AE
|
||||||
|
199: "Ç", // C with cedilla
|
||||||
|
200: "È", // E with grave
|
||||||
|
201: "É", // E with acute
|
||||||
|
202: "Ê", // E with circumflex
|
||||||
|
203: "Ë", // E with diaeresis
|
||||||
|
204: "Ì", // I with grave
|
||||||
|
205: "Í", // I with acute
|
||||||
|
206: "Î", // I with circumflex
|
||||||
|
207: "Ï", // I with diaeresis
|
||||||
|
208: "Ð", // Eth
|
||||||
|
209: "Ñ", // N with tilde
|
||||||
|
210: "Ò", // O with grave
|
||||||
|
211: "Ó", // O with acute
|
||||||
|
212: "Ô", // O with circumflex
|
||||||
|
213: "Õ", // O with tilde
|
||||||
|
214: "Ö", // O with diaeresis
|
||||||
|
215: "×", // Multiplication sign
|
||||||
|
216: "Ø", // O with stroke
|
||||||
|
217: "Ù", // U with grave
|
||||||
|
218: "Ú", // U with acute
|
||||||
|
219: "Û", // U with circumflex
|
||||||
|
220: "Ü", // U with diaeresis
|
||||||
|
221: "Ý", // Y with acute
|
||||||
|
222: "Þ", // Thorn
|
||||||
|
223: "ß", // Sharp s. Also known as ess-zed
|
||||||
|
224: "à", // a with grave
|
||||||
|
225: "á", // a with acute
|
||||||
|
226: "â", // a with circumflex
|
||||||
|
227: "ã", // a with tilde
|
||||||
|
228: "ä", // a with diaeresis
|
||||||
|
229: "å", // a with ring above
|
||||||
|
230: "æ", // ae. Also known as ligature ae
|
||||||
|
231: "ç", // c with cedilla
|
||||||
|
232: "è", // e with grave
|
||||||
|
233: "é", // e with acute
|
||||||
|
234: "ê", // e with circumflex
|
||||||
|
235: "ë", // e with diaeresis
|
||||||
|
236: "ì", // i with grave
|
||||||
|
237: "í", // i with acute
|
||||||
|
238: "î", // i with circumflex
|
||||||
|
239: "ï", // i with diaeresis
|
||||||
|
240: "ð", // eth
|
||||||
|
241: "ñ", // n with tilde
|
||||||
|
242: "ò", // o with grave
|
||||||
|
243: "ó", // o with acute
|
||||||
|
244: "ô", // o with circumflex
|
||||||
|
245: "õ", // o with tilde
|
||||||
|
246: "ö", // o with diaeresis
|
||||||
|
247: "÷", // Division sign
|
||||||
|
248: "ø", // o with stroke. Also known as o with slash
|
||||||
|
249: "ù", // u with grave
|
||||||
|
250: "ú", // u with acute
|
||||||
|
251: "û", // u with circumflex
|
||||||
|
252: "ü", // u with diaeresis
|
||||||
|
253: "ý", // y with acute
|
||||||
|
254: "þ", // thorn
|
||||||
|
255: "ÿ", // y with diaeresis
|
||||||
|
264: "Ĉ", // Latin capital letter C with circumflex
|
||||||
|
265: "ĉ", // Latin small letter c with circumflex
|
||||||
|
338: "Œ", // Latin capital ligature OE
|
||||||
|
339: "œ", // Latin small ligature oe
|
||||||
|
352: "Š", // Latin capital letter S with caron
|
||||||
|
353: "š", // Latin small letter s with caron
|
||||||
|
372: "Ŵ", // Latin capital letter W with circumflex
|
||||||
|
373: "ŵ", // Latin small letter w with circumflex
|
||||||
|
374: "Ŷ", // Latin capital letter Y with circumflex
|
||||||
|
375: "ŷ", // Latin small letter y with circumflex
|
||||||
|
376: "Ÿ", // Latin capital letter Y with diaeresis
|
||||||
|
402: "ƒ", // Latin small f with hook, function, florin
|
||||||
|
710: "ˆ", // Modifier letter circumflex accent
|
||||||
|
732: "˜", // Small tilde
|
||||||
|
913: "Α", // Alpha
|
||||||
|
914: "Β", // Beta
|
||||||
|
915: "Γ", // Gamma
|
||||||
|
916: "Δ", // Delta
|
||||||
|
917: "Ε", // Epsilon
|
||||||
|
918: "Ζ", // Zeta
|
||||||
|
919: "Η", // Eta
|
||||||
|
920: "Θ", // Theta
|
||||||
|
921: "Ι", // Iota
|
||||||
|
922: "Κ", // Kappa
|
||||||
|
923: "Λ", // Lambda
|
||||||
|
924: "Μ", // Mu
|
||||||
|
925: "Ν", // Nu
|
||||||
|
926: "Ξ", // Xi
|
||||||
|
927: "Ο", // Omicron
|
||||||
|
928: "Π", // Pi
|
||||||
|
929: "Ρ", // Rho
|
||||||
|
931: "Σ", // Sigma
|
||||||
|
932: "Τ", // Tau
|
||||||
|
933: "Υ", // Upsilon
|
||||||
|
934: "Φ", // Phi
|
||||||
|
935: "Χ", // Chi
|
||||||
|
936: "Ψ", // Psi
|
||||||
|
937: "Ω", // Omega
|
||||||
|
945: "α", // alpha
|
||||||
|
946: "β", // beta
|
||||||
|
947: "γ", // gamma
|
||||||
|
948: "δ", // delta
|
||||||
|
949: "ε", // epsilon
|
||||||
|
950: "ζ", // zeta
|
||||||
|
951: "η", // eta
|
||||||
|
952: "θ", // theta
|
||||||
|
953: "ι", // iota
|
||||||
|
954: "κ", // kappa
|
||||||
|
955: "λ", // lambda
|
||||||
|
956: "μ", // mu
|
||||||
|
957: "ν", // nu
|
||||||
|
958: "ξ", // xi
|
||||||
|
959: "ο", // omicron
|
||||||
|
960: "π", // pi
|
||||||
|
961: "ρ", // rho
|
||||||
|
962: "ς", // sigmaf
|
||||||
|
963: "σ", // sigma
|
||||||
|
964: "τ", // tau
|
||||||
|
965: "υ", // upsilon
|
||||||
|
966: "φ", // phi
|
||||||
|
967: "χ", // chi
|
||||||
|
968: "ψ", // psi
|
||||||
|
969: "ω", // omega
|
||||||
|
977: "ϑ", // Theta symbol
|
||||||
|
978: "ϒ", // Greek upsilon with hook symbol
|
||||||
|
982: "ϖ", // Pi symbol
|
||||||
|
8194: " ", // En space
|
||||||
|
8195: " ", // Em space
|
||||||
|
8201: " ", // Thin space
|
||||||
|
8204: "‌", // Zero width non-joiner
|
||||||
|
8205: "‍", // Zero width joiner
|
||||||
|
8206: "‎", // Left-to-right mark
|
||||||
|
8207: "‏", // Right-to-left mark
|
||||||
|
8211: "–", // En dash
|
||||||
|
8212: "—", // Em dash
|
||||||
|
8216: "‘", // Left single quotation mark
|
||||||
|
8217: "’", // Right single quotation mark
|
||||||
|
8218: "‚", // Single low-9 quotation mark
|
||||||
|
8220: "“", // Left double quotation mark
|
||||||
|
8221: "”", // Right double quotation mark
|
||||||
|
8222: "„", // Double low-9 quotation mark
|
||||||
|
8224: "†", // Dagger
|
||||||
|
8225: "‡", // Double dagger
|
||||||
|
8226: "•", // Bullet
|
||||||
|
8230: "…", // Horizontal ellipsis
|
||||||
|
8240: "‰", // Per mille sign
|
||||||
|
8242: "′", // Prime
|
||||||
|
8243: "″", // Double Prime
|
||||||
|
8249: "‹", // Single left-pointing angle quotation
|
||||||
|
8250: "›", // Single right-pointing angle quotation
|
||||||
|
8254: "‾", // Overline
|
||||||
|
8260: "⁄", // Fraction Slash
|
||||||
|
8364: "€", // Euro sign
|
||||||
|
8472: "℘", // Script capital
|
||||||
|
8465: "ℑ", // Blackletter capital I
|
||||||
|
8476: "ℜ", // Blackletter capital R
|
||||||
|
8482: "™", // Trade mark sign
|
||||||
|
8501: "ℵ", // Alef symbol
|
||||||
|
8592: "←", // Leftward arrow
|
||||||
|
8593: "↑", // Upward arrow
|
||||||
|
8594: "→", // Rightward arrow
|
||||||
|
8595: "↓", // Downward arrow
|
||||||
|
8596: "↔", // Left right arrow
|
||||||
|
8629: "↵", // Downward arrow with corner leftward. Also known as carriage return
|
||||||
|
8656: "⇐", // Leftward double arrow. ISO 10646 does not say that lArr is the same as the 'is implied by' arrow but also does not have any other character for that function. So ? lArr can be used for 'is implied by' as ISOtech suggests
|
||||||
|
8657: "⇑", // Upward double arrow
|
||||||
|
8658: "⇒", // Rightward double arrow. ISO 10646 does not say this is the 'implies' character but does not have another character with this function so ? rArr can be used for 'implies' as ISOtech suggests
|
||||||
|
8659: "⇓", // Downward double arrow
|
||||||
|
8660: "⇔", // Left-right double arrow
|
||||||
|
// Mathematical Operators
|
||||||
|
8704: "∀", // For all
|
||||||
|
8706: "∂", // Partial differential
|
||||||
|
8707: "∃", // There exists
|
||||||
|
8709: "∅", // Empty set. Also known as null set and diameter
|
||||||
|
8711: "∇", // Nabla. Also known as backward difference
|
||||||
|
8712: "∈", // Element of
|
||||||
|
8713: "∉", // Not an element of
|
||||||
|
8715: "∋", // Contains as member
|
||||||
|
8719: "∏", // N-ary product. Also known as product sign. Prod is not the same character as U+03A0 'greek capital letter pi' though the same glyph might be used for both
|
||||||
|
8721: "∑", // N-ary summation. Sum is not the same character as U+03A3 'greek capital letter sigma' though the same glyph might be used for both
|
||||||
|
8722: "−", // Minus sign
|
||||||
|
8727: "∗", // Asterisk operator
|
||||||
|
8729: "∙", // Bullet operator
|
||||||
|
8730: "√", // Square root. Also known as radical sign
|
||||||
|
8733: "∝", // Proportional to
|
||||||
|
8734: "∞", // Infinity
|
||||||
|
8736: "∠", // Angle
|
||||||
|
8743: "∧", // Logical and. Also known as wedge
|
||||||
|
8744: "∨", // Logical or. Also known as vee
|
||||||
|
8745: "∩", // Intersection. Also known as cap
|
||||||
|
8746: "∪", // Union. Also known as cup
|
||||||
|
8747: "∫", // Integral
|
||||||
|
8756: "∴", // Therefore
|
||||||
|
8764: "∼", // tilde operator. Also known as varies with and similar to. The tilde operator is not the same character as the tilde, U+007E, although the same glyph might be used to represent both
|
||||||
|
8773: "≅", // Approximately equal to
|
||||||
|
8776: "≈", // Almost equal to. Also known as asymptotic to
|
||||||
|
8800: "≠", // Not equal to
|
||||||
|
8801: "≡", // Identical to
|
||||||
|
8804: "≤", // Less-than or equal to
|
||||||
|
8805: "≥", // Greater-than or equal to
|
||||||
|
8834: "⊂", // Subset of
|
||||||
|
8835: "⊃", // Superset of. Note that nsup, 'not a superset of, U+2283' is not covered by the Symbol font encoding and is not included.
|
||||||
|
8836: "⊄", // Not a subset of
|
||||||
|
8838: "⊆", // Subset of or equal to
|
||||||
|
8839: "⊇", // Superset of or equal to
|
||||||
|
8853: "⊕", // Circled plus. Also known as direct sum
|
||||||
|
8855: "⊗", // Circled times. Also known as vector product
|
||||||
|
8869: "⊥", // Up tack. Also known as orthogonal to and perpendicular
|
||||||
|
8901: "⋅", // Dot operator. The dot operator is not the same character as U+00B7 middle dot
|
||||||
|
// Miscellaneous Technical
|
||||||
|
8968: "⌈", // Left ceiling. Also known as an APL upstile
|
||||||
|
8969: "⌉", // Right ceiling
|
||||||
|
8970: "⌊", // left floor. Also known as APL downstile
|
||||||
|
8971: "⌋", // Right floor
|
||||||
|
9001: "⟨", // Left-pointing angle bracket. Also known as bra. Lang is not the same character as U+003C 'less than'or U+2039 'single left-pointing angle quotation mark'
|
||||||
|
9002: "⟩", // Right-pointing angle bracket. Also known as ket. Rang is not the same character as U+003E 'greater than' or U+203A 'single right-pointing angle quotation mark'
|
||||||
|
// Geometric Shapes
|
||||||
|
9642: "▪", // Black small square
|
||||||
|
9643: "▫", // White small square
|
||||||
|
9674: "◊", // Lozenge
|
||||||
|
// Miscellaneous Symbols
|
||||||
|
9702: "◦", // White bullet
|
||||||
|
9824: "♠", // Black (filled) spade suit
|
||||||
|
9827: "♣", // Black (filled) club suit. Also known as shamrock
|
||||||
|
9829: "♥", // Black (filled) heart suit. Also known as shamrock
|
||||||
|
9830: "♦" // Black (filled) diamond suit
|
||||||
};
|
};
|
1216
www/js/vendor/moment-with-locales.min.js
vendored
Normal file
1216
www/js/vendor/moment-with-locales.min.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
551
www/js/vendor/moment.min.js
vendored
551
www/js/vendor/moment.min.js
vendored
|
@ -1,551 +0,0 @@
|
||||||
//! moment.js
|
|
||||||
//! version : 2.17.1
|
|
||||||
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
||||||
//! license : MIT
|
|
||||||
//! momentjs.com
|
|
||||||
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return od.apply(null,arguments)}
|
|
||||||
// This is done to register the method called with moment()
|
|
||||||
// without creating circular dependencies.
|
|
||||||
function b(a){od=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){
|
|
||||||
// IE8 will treat undefined and null as object if it wasn't for
|
|
||||||
// input != null
|
|
||||||
return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)
|
|
||||||
// even if its not own property I'd still call it non-empty
|
|
||||||
return!1;return!0}function f(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function g(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function h(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function i(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function j(a,b){for(var c in b)i(b,c)&&(a[c]=b[c]);return i(b,"toString")&&(a.toString=b.toString),i(b,"valueOf")&&(a.valueOf=b.valueOf),a}function k(a,b,c,d){return rb(a,b,c,d,!0).utc()}function l(){
|
|
||||||
// We need to deep clone this object.
|
|
||||||
return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function m(a){return null==a._pf&&(a._pf=l()),a._pf}function n(a){if(null==a._isValid){var b=m(a),c=qd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function o(a){var b=k(NaN);return null!=a?j(m(b),a):m(b).userInvalidated=!0,b}function p(a){return void 0===a}function q(a,b){var c,d,e;if(p(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),p(b._i)||(a._i=b._i),p(b._f)||(a._f=b._f),p(b._l)||(a._l=b._l),p(b._strict)||(a._strict=b._strict),p(b._tzm)||(a._tzm=b._tzm),p(b._isUTC)||(a._isUTC=b._isUTC),p(b._offset)||(a._offset=b._offset),p(b._pf)||(a._pf=m(b)),p(b._locale)||(a._locale=b._locale),rd.length>0)for(c in rd)d=rd[c],e=b[d],p(e)||(a[d]=e);return a}
|
|
||||||
// Moment prototype object
|
|
||||||
function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
|
|
||||||
// Prevent infinite loop in case updateOffset creates new moment
|
|
||||||
// objects.
|
|
||||||
sd===!1&&(sd=!0,a.updateOffset(this),sd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
|
|
||||||
// compare two arrays, return the number of differences
|
|
||||||
function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return j(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),td[b]||(w(c),td[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,
|
|
||||||
// Lenient ordinal parsing accepts just a number in addition to
|
|
||||||
// number + (possibly) stuff coming from _ordinalParseLenient.
|
|
||||||
this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=j({},a);for(c in b)i(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},j(e[c],a[c]),j(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)i(a,c)&&!i(b,c)&&d(a[c])&&(
|
|
||||||
// make sure changes to properties don't modify parent config
|
|
||||||
e[c]=j({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Dd[c]=Dd[c+"s"]=Dd[b]=a}function K(a){return"string"==typeof a?Dd[a]||Dd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)i(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Ed[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Ed[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
|
|
||||||
// MOMENTS
|
|
||||||
function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}
|
|
||||||
// token: 'M'
|
|
||||||
// padded: ['MM', 2]
|
|
||||||
// ordinal: 'Mo'
|
|
||||||
// callback: function () { this.month() + 1 }
|
|
||||||
function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Id[a]=e),b&&(Id[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Id[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Fd);for(b=0,c=d.length;b<c;b++)Id[d[b]]?d[b]=Id[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}
|
|
||||||
// format date using native date object
|
|
||||||
function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Hd[b]=Hd[b]||W(b),Hd[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Gd.lastIndex=0;d>=0&&Gd.test(a);)a=a.replace(Gd,c),Gd.lastIndex=0,d-=1;return a}function Z(a,b,c){$d[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return i($d,a)?$d[a](b._strict,b._locale):new RegExp(_(a))}
|
|
||||||
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
|
|
||||||
function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),f(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)_d[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&i(_d,a)&&_d[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||ke).test(b)?"format":"standalone"][a.month()]:this._months}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[ke.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(
|
|
||||||
// this is not used
|
|
||||||
this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=k([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:null):(e=je.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:(e=je.call(this._longMonthsParse,g),e!==-1?e:null)):(e=je.call(this._longMonthsParse,g),e!==-1?e:(e=je.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);
|
|
||||||
// TODO: add sorting
|
|
||||||
// Sorting makes sure if one month (or abbr) is a prefix of another
|
|
||||||
// see sorting in computeMonthsParse
|
|
||||||
for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){
|
|
||||||
// test the regex
|
|
||||||
if(
|
|
||||||
// make the regex if we don't have it already
|
|
||||||
e=k([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}
|
|
||||||
// MOMENTS
|
|
||||||
function ja(a,b){var c;if(!a.isValid())
|
|
||||||
// No op
|
|
||||||
return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else
|
|
||||||
// TODO: Another silent failure?
|
|
||||||
if(b=a.localeData().monthsParse(b),!f(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(i(this,"_monthsShortRegex")||(this._monthsShortRegex=ne),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(i(this,"_monthsRegex")||(this._monthsRegex=oe),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)
|
|
||||||
// make the regex if we don't have it already
|
|
||||||
c=k([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(
|
|
||||||
// Sorting makes sure if one month (or abbr) is a prefix of another it
|
|
||||||
// will match the longer piece.
|
|
||||||
d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}
|
|
||||||
// HELPERS
|
|
||||||
function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){
|
|
||||||
//can't just apply() to create a date:
|
|
||||||
//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
|
|
||||||
var h=new Date(a,b,c,d,e,f,g);
|
|
||||||
//the date constructor remaps years 0-99 to 1900-1999
|
|
||||||
return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));
|
|
||||||
//the Date.UTC function remaps years 0-99 to 1900-1999
|
|
||||||
return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}
|
|
||||||
// start-of-first-week - start-of-year
|
|
||||||
function ua(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
|
|
||||||
d=7+b-c,
|
|
||||||
// first-week day local weekday -- which local weekday is fwd
|
|
||||||
e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}
|
|
||||||
//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
|
|
||||||
function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}
|
|
||||||
// HELPERS
|
|
||||||
// LOCALES
|
|
||||||
function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}
|
|
||||||
// MOMENTS
|
|
||||||
function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}
|
|
||||||
// HELPERS
|
|
||||||
function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=k([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){
|
|
||||||
// test the regex
|
|
||||||
if(
|
|
||||||
// make the regex if we don't have it already
|
|
||||||
e=k([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}
|
|
||||||
// MOMENTS
|
|
||||||
function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;
|
|
||||||
// behaves the same as moment#day except
|
|
||||||
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
|
|
||||||
// as a setter, sunday should belong to the previous week.
|
|
||||||
if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(i(this,"_weekdaysRegex")||(this._weekdaysRegex=ue),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(i(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ve),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(i(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=we),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)
|
|
||||||
// make the regex if we don't have it already
|
|
||||||
c=k([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(
|
|
||||||
// Sorting makes sure if one weekday (or abbr) is a prefix of another it
|
|
||||||
// will match the longer piece.
|
|
||||||
g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}
|
|
||||||
// FORMATTING
|
|
||||||
function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}
|
|
||||||
// PARSING
|
|
||||||
function Ua(a,b){return b._meridiemParse}
|
|
||||||
// LOCALES
|
|
||||||
function Va(a){
|
|
||||||
// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
|
|
||||||
// Using charAt should be more compatible.
|
|
||||||
return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}
|
|
||||||
// pick the locale from the array
|
|
||||||
// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
|
|
||||||
// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
|
|
||||||
function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)
|
|
||||||
//the next array item is better than a shallower substring of this one
|
|
||||||
break;b--}f++}return null}function Za(a){var b=null;
|
|
||||||
// TODO: Find a better way to register and load all the locales in Node
|
|
||||||
if(!Be[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=xe._abbr,require("./locale/"+a),
|
|
||||||
// because defineLocale currently also sets the global locale, we
|
|
||||||
// want to undo that for lazy loaded locales
|
|
||||||
$a(b)}catch(a){}return Be[a]}
|
|
||||||
// This function will load locale and then set the global locale. If
|
|
||||||
// no arguments are passed in, it will simply return the current global
|
|
||||||
// locale key.
|
|
||||||
function $a(a,b){var c;
|
|
||||||
// moment.duration._locale = moment._locale = data;
|
|
||||||
return a&&(c=p(b)?bb(a):_a(a,b),c&&(xe=c)),xe._abbr}function _a(a,b){if(null!==b){var c=Ae;if(b.abbr=a,null!=Be[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Be[a]._config;else if(null!=b.parentLocale){if(null==Be[b.parentLocale])return Ce[b.parentLocale]||(Ce[b.parentLocale]=[]),Ce[b.parentLocale].push({name:a,config:b}),null;c=Be[b.parentLocale]._config}
|
|
||||||
// backwards compat for now: also set the locale
|
|
||||||
// make sure we set the locale AFTER all child locales have been
|
|
||||||
// created, so we won't end up with the child locale set.
|
|
||||||
return Be[a]=new C(B(c,b)),Ce[a]&&Ce[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Be[a]}
|
|
||||||
// useful for testing
|
|
||||||
return delete Be[a],null}function ab(a,b){if(null!=b){var c,d=Ae;
|
|
||||||
// MERGE
|
|
||||||
null!=Be[a]&&(d=Be[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Be[a],Be[a]=c,
|
|
||||||
// backwards compat for now: also set the locale
|
|
||||||
$a(a)}else
|
|
||||||
// pass null for config to unupdate, useful for tests
|
|
||||||
null!=Be[a]&&(null!=Be[a].parentLocale?Be[a]=Be[a].parentLocale:null!=Be[a]&&delete Be[a]);return Be[a]}
|
|
||||||
// returns locale data
|
|
||||||
function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return xe;if(!c(a)){if(
|
|
||||||
//short-circuit everything else
|
|
||||||
b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return wd(Be)}function db(a){var b,c=a._a;return c&&m(a).overflow===-2&&(b=c[be]<0||c[be]>11?be:c[ce]<1||c[ce]>ea(c[ae],c[be])?ce:c[de]<0||c[de]>24||24===c[de]&&(0!==c[ee]||0!==c[fe]||0!==c[ge])?de:c[ee]<0||c[ee]>59?ee:c[fe]<0||c[fe]>59?fe:c[ge]<0||c[ge]>999?ge:-1,m(a)._overflowDayOfYear&&(b<ae||b>ce)&&(b=ce),m(a)._overflowWeeks&&b===-1&&(b=he),m(a)._overflowWeekday&&b===-1&&(b=ie),m(a).overflow=b),a}
|
|
||||||
// date from iso format
|
|
||||||
function eb(a){var b,c,d,e,f,g,h=a._i,i=De.exec(h)||Ee.exec(h);if(i){for(m(a).iso=!0,b=0,c=Ge.length;b<c;b++)if(Ge[b][1].exec(i[1])){e=Ge[b][0],d=Ge[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=He.length;b<c;b++)if(He[b][1].exec(i[3])){
|
|
||||||
// match[2] should be 'T' or space
|
|
||||||
f=(i[2]||" ")+He[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Fe.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),kb(a)}else a._isValid=!1}
|
|
||||||
// date from iso format or fallback
|
|
||||||
function fb(b){var c=Ie.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}
|
|
||||||
// Pick the first defined of two or three arguments.
|
|
||||||
function gb(a,b,c){return null!=a?a:null!=b?b:c}function hb(b){
|
|
||||||
// hooks is actually the exported moment object
|
|
||||||
var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}
|
|
||||||
// convert an array to a date.
|
|
||||||
// the array should mirror the parameters below
|
|
||||||
// note: all values past the year are optional and will default to the lowest possible value.
|
|
||||||
// [year, month, day , hour, minute, second, millisecond]
|
|
||||||
function ib(a){var b,c,d,e,f=[];if(!a._d){
|
|
||||||
// Default to current date.
|
|
||||||
// * if no year, month, day of month are given, default to today
|
|
||||||
// * if day of month is given, default month and year
|
|
||||||
// * if month is given, default only year
|
|
||||||
// * if year is given, don't default anything
|
|
||||||
for(d=hb(a),
|
|
||||||
//compute day of the year from weeks and weekdays
|
|
||||||
a._w&&null==a._a[ce]&&null==a._a[be]&&jb(a),
|
|
||||||
//if the day of the year is set, figure out what it is
|
|
||||||
a._dayOfYear&&(e=gb(a._a[ae],d[ae]),a._dayOfYear>pa(e)&&(m(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[be]=c.getUTCMonth(),a._a[ce]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];
|
|
||||||
// Zero out whatever was not defaulted, including time
|
|
||||||
for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];
|
|
||||||
// Check for 24:00:00.000
|
|
||||||
24===a._a[de]&&0===a._a[ee]&&0===a._a[fe]&&0===a._a[ge]&&(a._nextDay=!0,a._a[de]=0),a._d=(a._useUTC?ta:sa).apply(null,f),
|
|
||||||
// Apply timezone offset from input. The actual utcOffset can be changed
|
|
||||||
// with parseZone.
|
|
||||||
null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[de]=24)}}function jb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,
|
|
||||||
// TODO: We need to take the current isoWeekYear, but that depends on
|
|
||||||
// how we interpret now (local, utc, fixed offset). So create
|
|
||||||
// a now version of current config (take local/utc/offset flags, and
|
|
||||||
// create now).
|
|
||||||
c=gb(b.GG,a._a[ae],wa(sb(),1,4).year),d=gb(b.W,1),e=gb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(sb(),f,g);c=gb(b.gg,a._a[ae],j.year),
|
|
||||||
// Default to current week.
|
|
||||||
d=gb(b.w,j.week),null!=b.d?(
|
|
||||||
// weekday -- low day numbers are considered next week
|
|
||||||
e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(
|
|
||||||
// local weekday -- counting starts from begining of week
|
|
||||||
e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):
|
|
||||||
// default to begining of week
|
|
||||||
e=f}d<1||d>xa(c,f,g)?m(a)._overflowWeeks=!0:null!=i?m(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ae]=h.year,a._dayOfYear=h.dayOfYear)}
|
|
||||||
// date from string and format string
|
|
||||||
function kb(b){
|
|
||||||
// TODO: Move this to another part of the creation flow to prevent circular deps
|
|
||||||
if(b._f===a.ISO_8601)return void eb(b);b._a=[],m(b).empty=!0;
|
|
||||||
// This array is used to make a Date, either with `new Date` or `Date.UTC`
|
|
||||||
var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Fd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],
|
|
||||||
// console.log('token', token, 'parsedInput', parsedInput,
|
|
||||||
// 'regex', getParseRegexForToken(token, config));
|
|
||||||
d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&m(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),
|
|
||||||
// don't parse if it's not a known token
|
|
||||||
Id[f]?(d?m(b).empty=!1:m(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&m(b).unusedTokens.push(f);
|
|
||||||
// add remaining unparsed input length to the string
|
|
||||||
m(b).charsLeftOver=i-j,h.length>0&&m(b).unusedInput.push(h),
|
|
||||||
// clear _12h flag if hour is <= 12
|
|
||||||
b._a[de]<=12&&m(b).bigHour===!0&&b._a[de]>0&&(m(b).bigHour=void 0),m(b).parsedDateParts=b._a.slice(0),m(b).meridiem=b._meridiem,
|
|
||||||
// handle meridiem
|
|
||||||
b._a[de]=lb(b._locale,b._a[de],b._meridiem),ib(b),db(b)}function lb(a,b,c){var d;
|
|
||||||
// Fallback
|
|
||||||
return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}
|
|
||||||
// date from string and array of format strings
|
|
||||||
function mb(a){var b,c,d,e,f;if(0===a._f.length)return m(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],kb(b),n(b)&&(
|
|
||||||
// if there is any input that was not parsed add a penalty for that format
|
|
||||||
f+=m(b).charsLeftOver,
|
|
||||||
//or tokens
|
|
||||||
f+=10*m(b).unusedTokens.length,m(b).score=f,(null==d||f<d)&&(d=f,c=b));j(a,c||b)}function nb(a){if(!a._d){var b=L(a._i);a._a=h([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),ib(a)}}function ob(a){var b=new r(db(pb(a)));
|
|
||||||
// Adding is smart enough around DST
|
|
||||||
return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function pb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?o({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(g(b)?a._d=b:c(d)?mb(a):d?kb(a):qb(a),n(a)||(a._d=null),a))}function qb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):g(d)?b._d=new Date(d.valueOf()):"string"==typeof d?fb(b):c(d)?(b._a=h(d.slice(0),function(a){return parseInt(a,10)}),ib(b)):"object"==typeof d?nb(b):f(d)?
|
|
||||||
// from milliseconds
|
|
||||||
b._d=new Date(d):a.createFromInputFallback(b)}function rb(a,b,f,g,h){var i={};
|
|
||||||
// object construction must be done this way.
|
|
||||||
// https://github.com/moment/moment/issues/1423
|
|
||||||
return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,ob(i)}function sb(a,b,c,d){return rb(a,b,c,d,!1)}
|
|
||||||
// Pick a moment m from moments so that m[fn](other) is true for all
|
|
||||||
// other. This relies on the function fn to be transitive.
|
|
||||||
//
|
|
||||||
// moments should either be an array of moment objects or an array, whose
|
|
||||||
// first element is an array of moment objects.
|
|
||||||
function tb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return sb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}
|
|
||||||
// TODO: Use [].sort instead?
|
|
||||||
function ub(){var a=[].slice.call(arguments,0);return tb("isBefore",a)}function vb(){var a=[].slice.call(arguments,0);return tb("isAfter",a)}function wb(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;
|
|
||||||
// representation for dateAddRemove
|
|
||||||
this._milliseconds=+k+1e3*j+// 1000
|
|
||||||
6e4*i+// 1000 * 60
|
|
||||||
1e3*h*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
|
|
||||||
// Because of dateAddRemove treats 24 hours as different from a
|
|
||||||
// day when working around DST, we need to store them separately
|
|
||||||
this._days=+g+7*f,
|
|
||||||
// It is impossible translate months into days without knowing
|
|
||||||
// which months you are are talking about, so we have to store
|
|
||||||
// it separately.
|
|
||||||
this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function xb(a){return a instanceof wb}function yb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}
|
|
||||||
// FORMATTING
|
|
||||||
function zb(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Ab(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Me)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}
|
|
||||||
// Return a moment from input, that is local/utc/zone equivalent to model.
|
|
||||||
function Bb(b,c){var d,e;
|
|
||||||
// Use low-level api, because this fn is low-level api.
|
|
||||||
return c._isUTC?(d=c.clone(),e=(s(b)||g(b)?b.valueOf():sb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):sb(b).local()}function Cb(a){
|
|
||||||
// On Firefox.24 Date#getTimezoneOffset returns a floating point.
|
|
||||||
// https://github.com/moment/moment/pull/1871
|
|
||||||
return 15*-Math.round(a._d.getTimezoneOffset()/15)}
|
|
||||||
// MOMENTS
|
|
||||||
// keepLocalTime = true means only change the timezone, without
|
|
||||||
// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
|
|
||||||
// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
|
|
||||||
// +0200, so we adjust the time as needed, to be valid.
|
|
||||||
//
|
|
||||||
// Keeping the time actually adds/subtracts (one hour)
|
|
||||||
// from the actual represented time. That is why we call updateOffset
|
|
||||||
// a second time. In case it wants us to change the offset again
|
|
||||||
// _changeInProgress == true case, then we have to adjust, because
|
|
||||||
// there is no such time in the given timezone.
|
|
||||||
function Db(b,c){var d,e=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Ab(Xd,b),null===b)return this}else Math.abs(b)<16&&(b=60*b);return!this._isUTC&&c&&(d=Cb(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Tb(this,Ob(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?e:Cb(this)}function Eb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Fb(a){return this.utcOffset(0,a)}function Gb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Cb(this),"m")),this}function Hb(){if(null!=this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=Ab(Wd,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Ib(a){return!!this.isValid()&&(a=a?sb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Jb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Kb(){if(!p(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=pb(a),a._a){var b=a._isUTC?k(a._a):sb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Lb(){return!!this.isValid()&&!this._isUTC}function Mb(){return!!this.isValid()&&this._isUTC}function Nb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ob(a,b){var c,d,e,g=a,
|
|
||||||
// matching against regexp is expensive, do it on demand
|
|
||||||
h=null;// checks for null or undefined
|
|
||||||
return xb(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:f(a)?(g={},b?g[b]=a:g.milliseconds=a):(h=Ne.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:u(h[ce])*c,h:u(h[de])*c,m:u(h[ee])*c,s:u(h[fe])*c,ms:u(yb(1e3*h[ge]))*c}):(h=Oe.exec(a))?(c="-"===h[1]?-1:1,g={y:Pb(h[2],c),M:Pb(h[3],c),w:Pb(h[4],c),d:Pb(h[5],c),h:Pb(h[6],c),m:Pb(h[7],c),s:Pb(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=Rb(sb(g.from),sb(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new wb(g),xb(a)&&i(a,"_locale")&&(d._locale=a._locale),d}function Pb(a,b){
|
|
||||||
// We'd normally use ~~inp for this, but unfortunately it also
|
|
||||||
// converts floats to ints.
|
|
||||||
// inp may be undefined, so careful calling replace on it.
|
|
||||||
var c=a&&parseFloat(a.replace(",","."));
|
|
||||||
// apply sign while we're at it
|
|
||||||
return(isNaN(c)?0:c)*b}function Qb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Rb(a,b){var c;return a.isValid()&&b.isValid()?(b=Bb(b,a),a.isBefore(b)?c=Qb(a,b):(c=Qb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}
|
|
||||||
// TODO: remove 'name' arg after deprecation is removed
|
|
||||||
function Sb(a,b){return function(c,d){var e,f;
|
|
||||||
//invert the arguments, but complain about it
|
|
||||||
return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ob(c,d),Tb(this,e,a),this}}function Tb(b,c,d,e){var f=c._milliseconds,g=yb(c._days),h=yb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Ub(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Vb(b,c){
|
|
||||||
// We want to compare the start of today, vs this.
|
|
||||||
// Getting start-of-today depends on whether we're local/utc/offset or not.
|
|
||||||
var d=b||sb(),e=Bb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,sb(d)))}function Wb(){return new r(this)}function Xb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function Yb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function Zb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function $b(a,b){var c,d=s(a)?a:sb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function _b(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ac(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function bc(a,b,c){var d,e,f,g;// 1000
|
|
||||||
// 1000 * 60
|
|
||||||
// 1000 * 60 * 60
|
|
||||||
// 1000 * 60 * 60 * 24, negate dst
|
|
||||||
// 1000 * 60 * 60 * 24 * 7, negate dst
|
|
||||||
return this.isValid()?(d=Bb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=cc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function cc(a,b){
|
|
||||||
// difference in months
|
|
||||||
var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),
|
|
||||||
// b is in (anchor - 1 month, anchor + 1 month)
|
|
||||||
f=a.clone().add(e,"months");
|
|
||||||
//check for negative zero, return zero if negative zero
|
|
||||||
// linear across the month
|
|
||||||
// linear across the month
|
|
||||||
return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function dc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ec(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}/**
|
|
||||||
* Return a human readable representation of a moment that can
|
|
||||||
* also be evaluated to get a new moment which is the same
|
|
||||||
*
|
|
||||||
* @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
|
|
||||||
*/
|
|
||||||
function fc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function gc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function hc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.from(sb(),a)}function jc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function kc(a){return this.to(sb(),a)}
|
|
||||||
// If passed a locale key, it will set the locale for this
|
|
||||||
// instance. Otherwise, it will return the locale configuration
|
|
||||||
// variables for this instance.
|
|
||||||
function lc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function mc(){return this._locale}function nc(a){
|
|
||||||
// the following switch intentionally omits break keywords
|
|
||||||
// to utilize falling through the cases.
|
|
||||||
switch(a=K(a)){case"year":this.month(0);/* falls through */
|
|
||||||
case"quarter":case"month":this.date(1);/* falls through */
|
|
||||||
case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */
|
|
||||||
case"hour":this.minutes(0);/* falls through */
|
|
||||||
case"minute":this.seconds(0);/* falls through */
|
|
||||||
case"second":this.milliseconds(0)}
|
|
||||||
// weeks are a special case
|
|
||||||
// quarters are also special
|
|
||||||
return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function oc(a){
|
|
||||||
// 'date' is an alias for 'day', so it should be considered as such.
|
|
||||||
return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function pc(){return this._d.valueOf()-6e4*(this._offset||0)}function qc(){return Math.floor(this.valueOf()/1e3)}function rc(){return new Date(this.valueOf())}function sc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function tc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function uc(){
|
|
||||||
// new Date(NaN).toJSON() === null
|
|
||||||
return this.isValid()?this.toISOString():null}function vc(){return n(this)}function wc(){return j({},m(this))}function xc(){return m(this).overflow}function yc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function zc(a,b){U(0,[a,a.length],0,b)}
|
|
||||||
// MOMENTS
|
|
||||||
function Ac(a){return Ec.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Bc(a){return Ec.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Cc(){return xa(this.year(),1,4)}function Dc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ec(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Fc.call(this,a,b,c,d,e))}function Fc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}
|
|
||||||
// MOMENTS
|
|
||||||
function Gc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}
|
|
||||||
// HELPERS
|
|
||||||
// MOMENTS
|
|
||||||
function Hc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Ic(a,b){b[ge]=u(1e3*("0."+a))}
|
|
||||||
// MOMENTS
|
|
||||||
function Jc(){return this._isUTC?"UTC":""}function Kc(){return this._isUTC?"Coordinated Universal Time":""}function Lc(a){return sb(1e3*a)}function Mc(){return sb.apply(null,arguments).parseZone()}function Nc(a){return a}function Oc(a,b,c,d){var e=bb(),f=k().set(d,b);return e[c](f,a)}function Pc(a,b,c){if(f(a)&&(b=a,a=void 0),a=a||"",null!=b)return Oc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Oc(a,d,c,"month");return e}
|
|
||||||
// ()
|
|
||||||
// (5)
|
|
||||||
// (fmt, 5)
|
|
||||||
// (fmt)
|
|
||||||
// (true)
|
|
||||||
// (true, 5)
|
|
||||||
// (true, fmt, 5)
|
|
||||||
// (true, fmt)
|
|
||||||
function Qc(a,b,c,d){"boolean"==typeof a?(f(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,f(b)&&(c=b,b=void 0),b=b||"");var e=bb(),g=a?e._week.dow:0;if(null!=c)return Oc(b,(c+g)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Oc(b,(h+g)%7,d,"day");return i}function Rc(a,b){return Pc(a,b,"months")}function Sc(a,b){return Pc(a,b,"monthsShort")}function Tc(a,b,c){return Qc(a,b,c,"weekdays")}function Uc(a,b,c){return Qc(a,b,c,"weekdaysShort")}function Vc(a,b,c){return Qc(a,b,c,"weekdaysMin")}function Wc(){var a=this._data;return this._milliseconds=Ze(this._milliseconds),this._days=Ze(this._days),this._months=Ze(this._months),a.milliseconds=Ze(a.milliseconds),a.seconds=Ze(a.seconds),a.minutes=Ze(a.minutes),a.hours=Ze(a.hours),a.months=Ze(a.months),a.years=Ze(a.years),this}function Xc(a,b,c,d){var e=Ob(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}
|
|
||||||
// supports only 2.0-style add(1, 's') or add(duration)
|
|
||||||
function Yc(a,b){return Xc(this,a,b,1)}
|
|
||||||
// supports only 2.0-style subtract(1, 's') or subtract(duration)
|
|
||||||
function Zc(a,b){return Xc(this,a,b,-1)}function $c(a){return a<0?Math.floor(a):Math.ceil(a)}function _c(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;
|
|
||||||
// if we have a mix of positive and negative values, bubble down first
|
|
||||||
// check: https://github.com/moment/moment/issues/2166
|
|
||||||
// The following code bubbles up values, see the tests for
|
|
||||||
// examples of what that means.
|
|
||||||
// convert days to months
|
|
||||||
// 12 months -> 1 year
|
|
||||||
return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*$c(bd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ad(g)),h+=e,g-=$c(bd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ad(a){
|
|
||||||
// 400 years have 146097 days (taking into account leap year rules)
|
|
||||||
// 400 years have 12 months === 4800
|
|
||||||
return 4800*a/146097}function bd(a){
|
|
||||||
// the reverse of daysToMonths
|
|
||||||
return 146097*a/4800}function cd(a){var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ad(b),"month"===a?c:c/12;switch(
|
|
||||||
// handle milliseconds separately because of floating point math errors (issue #1867)
|
|
||||||
b=this._days+Math.round(bd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;
|
|
||||||
// Math.floor prevents floating point math errors here
|
|
||||||
case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}
|
|
||||||
// TODO: Use this.as('ms')?
|
|
||||||
function dd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12)}function ed(a){return function(){return this.as(a)}}function fd(a){return a=K(a),this[a+"s"]()}function gd(a){return function(){return this._data[a]}}function hd(){return t(this.days()/7)}
|
|
||||||
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
|
|
||||||
function id(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function jd(a,b,c){var d=Ob(a).abs(),e=of(d.as("s")),f=of(d.as("m")),g=of(d.as("h")),h=of(d.as("d")),i=of(d.as("M")),j=of(d.as("y")),k=e<pf.s&&["s",e]||f<=1&&["m"]||f<pf.m&&["mm",f]||g<=1&&["h"]||g<pf.h&&["hh",g]||h<=1&&["d"]||h<pf.d&&["dd",h]||i<=1&&["M"]||i<pf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,id.apply(null,k)}
|
|
||||||
// This function allows you to set the rounding function for relative time strings
|
|
||||||
function kd(a){return void 0===a?of:"function"==typeof a&&(of=a,!0)}
|
|
||||||
// This function allows you to set a threshold for relative time strings
|
|
||||||
function ld(a,b){return void 0!==pf[a]&&(void 0===b?pf[a]:(pf[a]=b,!0))}function md(a){var b=this.localeData(),c=jd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function nd(){
|
|
||||||
// for ISO strings we do not use the normal bubbling rules:
|
|
||||||
// * milliseconds bubble up until they become hours
|
|
||||||
// * days do not bubble at all
|
|
||||||
// * months bubble up until they become years
|
|
||||||
// This is because there is no context-free conversion between hours and days
|
|
||||||
// (think of clock changes)
|
|
||||||
// and also not between days and months (28-31 days per month)
|
|
||||||
var a,b,c,d=qf(this._milliseconds)/1e3,e=qf(this._days),f=qf(this._months);
|
|
||||||
// 3600 seconds -> 60 minutes -> 1 hour
|
|
||||||
a=t(d/60),b=t(a/60),d%=60,a%=60,
|
|
||||||
// 12 months -> 1 year
|
|
||||||
c=t(f/12),f%=12;
|
|
||||||
// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
|
|
||||||
var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var od,pd;pd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var qd=pd,rd=a.momentProperties=[],sd=!1,td={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var ud;ud=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)i(a,b)&&c.push(b);return c};var vd,wd=ud,xd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},yd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zd="Invalid date",Ad="%d",Bd=/\d{1,2}/,Cd={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Dd={},Ed={},Fd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Gd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Hd={},Id={},Jd=/\d/,Kd=/\d\d/,Ld=/\d{3}/,Md=/\d{4}/,Nd=/[+-]?\d{6}/,Od=/\d\d?/,Pd=/\d\d\d\d?/,Qd=/\d\d\d\d\d\d?/,Rd=/\d{1,3}/,Sd=/\d{1,4}/,Td=/[+-]?\d{1,6}/,Ud=/\d+/,Vd=/[+-]?\d+/,Wd=/Z|[+-]\d\d:?\d\d/gi,Xd=/Z|[+-]\d\d(?::?\d\d)?/gi,Yd=/[+-]?\d+(\.\d{1,3})?/,Zd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,$d={},_d={},ae=0,be=1,ce=2,de=3,ee=4,fe=5,ge=6,he=7,ie=8;vd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){
|
|
||||||
// I know
|
|
||||||
var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var je=vd;
|
|
||||||
// FORMATTING
|
|
||||||
U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),
|
|
||||||
// ALIASES
|
|
||||||
J("month","M"),
|
|
||||||
// PRIORITY
|
|
||||||
M("month",8),
|
|
||||||
// PARSING
|
|
||||||
Z("M",Od),Z("MM",Od,Kd),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[be]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);
|
|
||||||
// if we didn't find a month name, mark the date as invalid.
|
|
||||||
null!=e?b[be]=e:m(c).invalidMonth=a});
|
|
||||||
// LOCALES
|
|
||||||
var ke=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,le="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),me="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ne=Zd,oe=Zd;
|
|
||||||
// FORMATTING
|
|
||||||
U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),
|
|
||||||
// ALIASES
|
|
||||||
J("year","y"),
|
|
||||||
// PRIORITIES
|
|
||||||
M("year",1),
|
|
||||||
// PARSING
|
|
||||||
Z("Y",Vd),Z("YY",Od,Kd),Z("YYYY",Sd,Md),Z("YYYYY",Td,Nd),Z("YYYYYY",Td,Nd),ba(["YYYYY","YYYYYY"],ae),ba("YYYY",function(b,c){c[ae]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[ae]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[ae]=parseInt(a,10)}),
|
|
||||||
// HOOKS
|
|
||||||
a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};
|
|
||||||
// MOMENTS
|
|
||||||
var pe=O("FullYear",!0);
|
|
||||||
// FORMATTING
|
|
||||||
U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),
|
|
||||||
// ALIASES
|
|
||||||
J("week","w"),J("isoWeek","W"),
|
|
||||||
// PRIORITIES
|
|
||||||
M("week",5),M("isoWeek",5),
|
|
||||||
// PARSING
|
|
||||||
Z("w",Od),Z("ww",Od,Kd),Z("W",Od),Z("WW",Od,Kd),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var qe={dow:0,// Sunday is the first day of the week.
|
|
||||||
doy:6};
|
|
||||||
// FORMATTING
|
|
||||||
U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),
|
|
||||||
// ALIASES
|
|
||||||
J("day","d"),J("weekday","e"),J("isoWeekday","E"),
|
|
||||||
// PRIORITY
|
|
||||||
M("day",11),M("weekday",11),M("isoWeekday",11),
|
|
||||||
// PARSING
|
|
||||||
Z("d",Od),Z("e",Od),Z("E",Od),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);
|
|
||||||
// if we didn't get a weekday name, mark the date as invalid
|
|
||||||
null!=e?b.d=e:m(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});
|
|
||||||
// LOCALES
|
|
||||||
var re="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),se="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),te="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ue=Zd,ve=Zd,we=Zd;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),
|
|
||||||
// ALIASES
|
|
||||||
J("hour","h"),
|
|
||||||
// PRIORITY
|
|
||||||
M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Od),Z("h",Od),Z("HH",Od,Kd),Z("hh",Od,Kd),Z("hmm",Pd),Z("hmmss",Qd),Z("Hmm",Pd),Z("Hmmss",Qd),ba(["H","HH"],de),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[de]=u(a),m(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d)),m(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e)),m(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e))});var xe,ye=/[ap]\.?m?\.?/i,ze=O("Hours",!0),Ae={calendar:xd,longDateFormat:yd,invalidDate:zd,ordinal:Ad,ordinalParse:Bd,relativeTime:Cd,months:le,monthsShort:me,week:qe,weekdays:re,weekdaysMin:te,weekdaysShort:se,meridiemParse:ye},Be={},Ce={},De=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ee=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fe=/Z|[+-]\d\d(?::?\d\d)?/,Ge=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],
|
|
||||||
// YYYYMM is NOT allowed by the standard
|
|
||||||
["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],He=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ie=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=x("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),
|
|
||||||
// constant that refers to the ISO standard
|
|
||||||
a.ISO_8601=function(){};var Je=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:o()}),Ke=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:o()}),Le=function(){return Date.now?Date.now():+new Date};zb("Z",":"),zb("ZZ",""),
|
|
||||||
// PARSING
|
|
||||||
Z("Z",Xd),Z("ZZ",Xd),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ab(Xd,a)});
|
|
||||||
// HELPERS
|
|
||||||
// timezone chunker
|
|
||||||
// '+10:00' > ['10', '00']
|
|
||||||
// '-1530' > ['-15', '30']
|
|
||||||
var Me=/([\+\-]|\d\d)/gi;
|
|
||||||
// HOOKS
|
|
||||||
// This function will be called whenever a moment is mutated.
|
|
||||||
// It is intended to keep the offset in sync with the timezone.
|
|
||||||
a.updateOffset=function(){};
|
|
||||||
// ASP.NET json date format regex
|
|
||||||
var Ne=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Oe=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ob.fn=wb.prototype;var Pe=Sb(1,"add"),Qe=Sb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Re=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});
|
|
||||||
// FORMATTING
|
|
||||||
U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),zc("gggg","weekYear"),zc("ggggg","weekYear"),zc("GGGG","isoWeekYear"),zc("GGGGG","isoWeekYear"),
|
|
||||||
// ALIASES
|
|
||||||
J("weekYear","gg"),J("isoWeekYear","GG"),
|
|
||||||
// PRIORITY
|
|
||||||
M("weekYear",1),M("isoWeekYear",1),
|
|
||||||
// PARSING
|
|
||||||
Z("G",Vd),Z("g",Vd),Z("GG",Od,Kd),Z("gg",Od,Kd),Z("GGGG",Sd,Md),Z("gggg",Sd,Md),Z("GGGGG",Td,Nd),Z("ggggg",Td,Nd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),
|
|
||||||
// FORMATTING
|
|
||||||
U("Q",0,"Qo","quarter"),
|
|
||||||
// ALIASES
|
|
||||||
J("quarter","Q"),
|
|
||||||
// PRIORITY
|
|
||||||
M("quarter",7),
|
|
||||||
// PARSING
|
|
||||||
Z("Q",Jd),ba("Q",function(a,b){b[be]=3*(u(a)-1)}),
|
|
||||||
// FORMATTING
|
|
||||||
U("D",["DD",2],"Do","date"),
|
|
||||||
// ALIASES
|
|
||||||
J("date","D"),
|
|
||||||
// PRIOROITY
|
|
||||||
M("date",9),
|
|
||||||
// PARSING
|
|
||||||
Z("D",Od),Z("DD",Od,Kd),Z("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),ba(["D","DD"],ce),ba("Do",function(a,b){b[ce]=u(a.match(Od)[0],10)});
|
|
||||||
// MOMENTS
|
|
||||||
var Se=O("Date",!0);
|
|
||||||
// FORMATTING
|
|
||||||
U("DDD",["DDDD",3],"DDDo","dayOfYear"),
|
|
||||||
// ALIASES
|
|
||||||
J("dayOfYear","DDD"),
|
|
||||||
// PRIORITY
|
|
||||||
M("dayOfYear",4),
|
|
||||||
// PARSING
|
|
||||||
Z("DDD",Rd),Z("DDDD",Ld),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),
|
|
||||||
// FORMATTING
|
|
||||||
U("m",["mm",2],0,"minute"),
|
|
||||||
// ALIASES
|
|
||||||
J("minute","m"),
|
|
||||||
// PRIORITY
|
|
||||||
M("minute",14),
|
|
||||||
// PARSING
|
|
||||||
Z("m",Od),Z("mm",Od,Kd),ba(["m","mm"],ee);
|
|
||||||
// MOMENTS
|
|
||||||
var Te=O("Minutes",!1);
|
|
||||||
// FORMATTING
|
|
||||||
U("s",["ss",2],0,"second"),
|
|
||||||
// ALIASES
|
|
||||||
J("second","s"),
|
|
||||||
// PRIORITY
|
|
||||||
M("second",15),
|
|
||||||
// PARSING
|
|
||||||
Z("s",Od),Z("ss",Od,Kd),ba(["s","ss"],fe);
|
|
||||||
// MOMENTS
|
|
||||||
var Ue=O("Seconds",!1);
|
|
||||||
// FORMATTING
|
|
||||||
U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),
|
|
||||||
// ALIASES
|
|
||||||
J("millisecond","ms"),
|
|
||||||
// PRIORITY
|
|
||||||
M("millisecond",16),
|
|
||||||
// PARSING
|
|
||||||
Z("S",Rd,Jd),Z("SS",Rd,Kd),Z("SSS",Rd,Ld);var Ve;for(Ve="SSSS";Ve.length<=9;Ve+="S")Z(Ve,Ud);for(Ve="S";Ve.length<=9;Ve+="S")ba(Ve,Ic);
|
|
||||||
// MOMENTS
|
|
||||||
var We=O("Milliseconds",!1);
|
|
||||||
// FORMATTING
|
|
||||||
U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Xe=r.prototype;Xe.add=Pe,Xe.calendar=Vb,Xe.clone=Wb,Xe.diff=bc,Xe.endOf=oc,Xe.format=gc,Xe.from=hc,Xe.fromNow=ic,Xe.to=jc,Xe.toNow=kc,Xe.get=R,Xe.invalidAt=xc,Xe.isAfter=Xb,Xe.isBefore=Yb,Xe.isBetween=Zb,Xe.isSame=$b,Xe.isSameOrAfter=_b,Xe.isSameOrBefore=ac,Xe.isValid=vc,Xe.lang=Re,Xe.locale=lc,Xe.localeData=mc,Xe.max=Ke,Xe.min=Je,Xe.parsingFlags=wc,Xe.set=S,Xe.startOf=nc,Xe.subtract=Qe,Xe.toArray=sc,Xe.toObject=tc,Xe.toDate=rc,Xe.toISOString=ec,Xe.inspect=fc,Xe.toJSON=uc,Xe.toString=dc,Xe.unix=qc,Xe.valueOf=pc,Xe.creationData=yc,
|
|
||||||
// Year
|
|
||||||
Xe.year=pe,Xe.isLeapYear=ra,
|
|
||||||
// Week Year
|
|
||||||
Xe.weekYear=Ac,Xe.isoWeekYear=Bc,
|
|
||||||
// Quarter
|
|
||||||
Xe.quarter=Xe.quarters=Gc,
|
|
||||||
// Month
|
|
||||||
Xe.month=ka,Xe.daysInMonth=la,
|
|
||||||
// Week
|
|
||||||
Xe.week=Xe.weeks=Ba,Xe.isoWeek=Xe.isoWeeks=Ca,Xe.weeksInYear=Dc,Xe.isoWeeksInYear=Cc,
|
|
||||||
// Day
|
|
||||||
Xe.date=Se,Xe.day=Xe.days=Ka,Xe.weekday=La,Xe.isoWeekday=Ma,Xe.dayOfYear=Hc,
|
|
||||||
// Hour
|
|
||||||
Xe.hour=Xe.hours=ze,
|
|
||||||
// Minute
|
|
||||||
Xe.minute=Xe.minutes=Te,
|
|
||||||
// Second
|
|
||||||
Xe.second=Xe.seconds=Ue,
|
|
||||||
// Millisecond
|
|
||||||
Xe.millisecond=Xe.milliseconds=We,
|
|
||||||
// Offset
|
|
||||||
Xe.utcOffset=Db,Xe.utc=Fb,Xe.local=Gb,Xe.parseZone=Hb,Xe.hasAlignedHourOffset=Ib,Xe.isDST=Jb,Xe.isLocal=Lb,Xe.isUtcOffset=Mb,Xe.isUtc=Nb,Xe.isUTC=Nb,
|
|
||||||
// Timezone
|
|
||||||
Xe.zoneAbbr=Jc,Xe.zoneName=Kc,
|
|
||||||
// Deprecations
|
|
||||||
Xe.dates=x("dates accessor is deprecated. Use date instead.",Se),Xe.months=x("months accessor is deprecated. Use month instead",ka),Xe.years=x("years accessor is deprecated. Use year instead",pe),Xe.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Eb),Xe.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Kb);var Ye=C.prototype;Ye.calendar=D,Ye.longDateFormat=E,Ye.invalidDate=F,Ye.ordinal=G,Ye.preparse=Nc,Ye.postformat=Nc,Ye.relativeTime=H,Ye.pastFuture=I,Ye.set=A,
|
|
||||||
// Month
|
|
||||||
Ye.months=fa,Ye.monthsShort=ga,Ye.monthsParse=ia,Ye.monthsRegex=na,Ye.monthsShortRegex=ma,
|
|
||||||
// Week
|
|
||||||
Ye.week=ya,Ye.firstDayOfYear=Aa,Ye.firstDayOfWeek=za,
|
|
||||||
// Day of Week
|
|
||||||
Ye.weekdays=Fa,Ye.weekdaysMin=Ha,Ye.weekdaysShort=Ga,Ye.weekdaysParse=Ja,Ye.weekdaysRegex=Na,Ye.weekdaysShortRegex=Oa,Ye.weekdaysMinRegex=Pa,
|
|
||||||
// Hours
|
|
||||||
Ye.isPM=Va,Ye.meridiem=Wa,$a("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
|
|
||||||
// Side effect imports
|
|
||||||
a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var Ze=Math.abs,$e=ed("ms"),_e=ed("s"),af=ed("m"),bf=ed("h"),cf=ed("d"),df=ed("w"),ef=ed("M"),ff=ed("y"),gf=gd("milliseconds"),hf=gd("seconds"),jf=gd("minutes"),kf=gd("hours"),lf=gd("days"),mf=gd("months"),nf=gd("years"),of=Math.round,pf={s:45,// seconds to minute
|
|
||||||
m:45,// minutes to hour
|
|
||||||
h:22,// hours to day
|
|
||||||
d:26,// days to month
|
|
||||||
M:11},qf=Math.abs,rf=wb.prototype;
|
|
||||||
// Deprecations
|
|
||||||
// Side effect imports
|
|
||||||
// FORMATTING
|
|
||||||
// PARSING
|
|
||||||
// Side effect imports
|
|
||||||
return rf.abs=Wc,rf.add=Yc,rf.subtract=Zc,rf.as=cd,rf.asMilliseconds=$e,rf.asSeconds=_e,rf.asMinutes=af,rf.asHours=bf,rf.asDays=cf,rf.asWeeks=df,rf.asMonths=ef,rf.asYears=ff,rf.valueOf=dd,rf._bubble=_c,rf.get=fd,rf.milliseconds=gf,rf.seconds=hf,rf.minutes=jf,rf.hours=kf,rf.days=lf,rf.weeks=hd,rf.months=mf,rf.years=nf,rf.humanize=md,rf.toISOString=nd,rf.toString=nd,rf.toJSON=nd,rf.locale=lc,rf.localeData=mc,rf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",nd),rf.lang=Re,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Vd),Z("X",Yd),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.17.1",b(sb),a.fn=Xe,a.min=ub,a.max=vb,a.now=Le,a.utc=k,a.unix=Lc,a.months=Rc,a.isDate=g,a.locale=$a,a.invalid=o,a.duration=Ob,a.isMoment=s,a.weekdays=Tc,a.parseZone=Mc,a.localeData=bb,a.isDuration=xb,a.monthsShort=Sc,a.weekdaysMin=Vc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Uc,a.normalizeUnits=K,a.relativeTimeRounding=kd,a.relativeTimeThreshold=ld,a.calendarFormat=Ub,a.prototype=Xe,a});
|
|
Loading…
Reference in a new issue