Files
yavsc/web/Scripts/globalize/relative-time.js
Paul Schneider eb5263078f * MarkdownHelper.cs:
implements MarkdownDeep helper from NuGet

* uninstdbws.sql:
* jquery-2.1.3.js:
* jquery-2.1.4.js:
* date.js:
* mdd_help.htm:
* scorediv-latest.js:
* jquery-2.1.4.min.js:
* jquery-2.1.3.min.js:
* plural.js:
* number.js:
* jquery-2.1.4.min.map:
* message.js:
* jquery-2.1.3.min.map:
* jquery-2.1.3-vsdoc.js:
* currency.js:
* jquery-2.1.4-vsdoc.js:
* globalize.js:
* MarkdownDeepLib.min.js:
* relative-time.js:
* globalize.cultures.js:
* globalize.culture.kn.js:
* globalize.culture.or.js:
* globalize.culture.pa.js:
* globalize.culture.pl.js:
* globalize.culture.fo.js:
* globalize.culture.ps.js:
* globalize.culture.fi.js:
* globalize.culture.fa.js:
* globalize.culture.fr.js:
* globalize.culture.nn.js:
* globalize.culture.no.js:
* globalize.culture.gl.js:
* globalize.culture.gd.js:
* globalize.culture.ga.js:
* globalize.culture.oc.js:
* globalize.culture.fy.js:
* globalize.culture.eu.js:
* globalize.culture.se.js:
* globalize.culture.si.js:
* globalize.culture.sk.js:
* globalize.culture.sl.js:
* globalize.culture.sq.js:
* globalize.culture.sr.js:
* globalize.culture.sv.js:
* globalize.culture.sa.js:
* globalize.culture.pt.js:
* globalize.culture.et.js:
* globalize.culture.es.js:
* globalize.culture.rm.js:
* globalize.culture.ro.js:
* globalize.culture.ru.js:
* globalize.culture.rw.js:
* globalize.culture.gu.js:
* globalize.culture.kk.js:
* globalize.culture.ka.js:
* globalize.culture.mk.js:
* globalize.culture.ja.js:
* globalize.culture.iu.js:
* globalize.culture.ml.js:
* globalize.culture.mn.js:
* globalize.culture.mi.js:
* globalize.culture.ky.js:
* globalize.culture.lo.js:
* globalize.culture.ko.js:
* globalize.culture.lt.js:
* globalize.culture.lv.js:
* globalize.culture.km.js:
* globalize.culture.kl.js:
* globalize.culture.it.js:
* globalize.culture.nb.js:
* globalize.culture.hr.js:
* globalize.culture.ne.js:
* globalize.culture.hi.js:
* globalize.culture.he.js:
* globalize.culture.ha.js:
* globalize.culture.nl.js:
* globalize.culture.hu.js:
* globalize.culture.mr.js:
* globalize.culture.is.js:
* globalize.culture.ii.js:
* globalize.culture.ig.js:
* globalize.culture.ms.js:
* globalize.culture.id.js:
* globalize.culture.hy.js:
* globalize.culture.mt.js:
* globalize.culture.sw.js:
* globalize.culture.bs.js:
* globalize.culture.tt.js:
* globalize.culture.lb.js:
* globalize.culture.ug.js:
* globalize.culture.br.js:
* globalize.culture.bo.js:
* globalize.culture.uk.js:
* globalize.culture.ca.js:
* globalize.culture.tk.js:
* globalize.culture.da.js:
* globalize.culture.cy.js:
* globalize.culture.tn.js:
* globalize.culture.cs.js:
* globalize.culture.co.js:
* globalize.culture.tr.js:
* globalize.culture.bn.js:
* globalize.culture.as.js:
* globalize.culture.yo.js:
* globalize.culture.ar.js:
* globalize.culture.zh.js:
* globalize.culture.zu.js:
* globalize.culture.am.js:
* globalize.culture.af.js:
* globalize.culture.xh.js:
* globalize.culture.ur.js:
* globalize.culture.bg.js:
* globalize.culture.uz.js:
* globalize.culture.be.js:
* globalize.culture.ba.js:
* globalize.culture.vi.js:
* globalize.culture.az.js:
* globalize.culture.wo.js:
* globalize.culture.dv.js:
* globalize.culture.te.js:
* globalize.culture.de.js:
* globalize.culture.tg.js:
* globalize.culture.ta.js:
* globalize.culture.el.js:
* globalize.culture.th.js:
* globalize.culture.arn.js:
* globalize.culture.gsw.js:
* globalize.culture.nso.js:
* globalize.culture.sah.js:
* globalize.culture.syr.js:
* globalize.culture.tzm.js:
* globalize.culture.kok.js:
* globalize.culture.dsb.js:
* globalize.culture.moh.js:
* globalize.culture.sms.js:
* globalize.culture.smn.js:
* globalize.culture.smj.js:
* globalize.culture.sma.js:
* globalize.culture.hsb.js:
* globalize.culture.quz.js:
* globalize.culture.fil.js:
* globalize.culture.qut.js:
* globalize.culture.prs.js:
* globalize.culture.mn-MN.js:
* globalize.culture.rm-CH.js:
* globalize.culture.ta-IN.js:
* globalize.culture.ml-IN.js:
* globalize.culture.zh-CN.js:
* globalize.culture.zh-HK.js:
* globalize.culture.tn-ZA.js:
* globalize.culture.ms-BN.js:
* globalize.culture.ro-RO.js:
* globalize.culture.sq-AL.js:
* globalize.culture.mr-IN.js:
* globalize.culture.yo-NG.js:
* globalize.culture.pt-PT.js:
* globalize.culture.sa-IN.js:
* globalize.culture.zh-MO.js:
* globalize.culture.am-ET.js:
* globalize.culture.lt-LT.js:
* globalize.culture.tk-TM.js:
* globalize.culture.sw-KE.js:
* globalize.culture.af-ZA.js:
* globalize.culture.lo-LA.js:
* globalize.culture.lv-LV.js:
* globalize.culture.mk-MK.js:
* globalize.culture.zh-SG.js:
* globalize.culture.zh-TW.js:
* globalize.culture.sv-FI.js:
* globalize.culture.mi-NZ.js:
* globalize.culture.zu-ZA.js:
* globalize.culture.sv-SE.js:
* globalize.culture.xh-ZA.js:
* globalize.culture.uk-UA.js:
* globalize.culture.se-SE.js:
* globalize.culture.nn-NO.js:
* globalize.culture.si-LK.js:
* globalize.culture.nl-NL.js:
* globalize.culture.ur-PK.js:
* globalize.culture.pl-PL.js:
* globalize.culture.or-IN.js:
* globalize.culture.tt-RU.js:
* globalize.culture.pa-IN.js:
* globalize.culture.ug-CN.js:
* globalize.culture.rw-RW.js:
* globalize.culture.se-FI.js:
* globalize.culture.se-NO.js:
* globalize.culture.nl-BE.js:
* globalize.culture.ru-RU.js:
* globalize.culture.mt-MT.js:
* globalize.culture.th-TH.js:
* globalize.culture.wo-SN.js:
* globalize.culture.pt-BR.js:
* globalize.culture.ms-MY.js:
* globalize.culture.vi-VN.js:
* globalize.culture.te-IN.js:
* globalize.culture.sk-SK.js:
* globalize.culture.ne-NP.js:
* globalize.culture.tr-TR.js:
* globalize.culture.sl-SI.js:
* globalize.culture.ps-AF.js:
* globalize.culture.nb-NO.js:
* globalize.culture.oc-FR.js:
* globalize.culture.en-JM.js:
* globalize.culture.en-MY.js:
* globalize.culture.en-NZ.js:
* globalize.culture.en-PH.js:
* globalize.culture.en-SG.js:
* globalize.culture.en-TT.js:
* globalize.culture.en-US.js:
* globalize.culture.en-IN.js:
* globalize.culture.dv-MV.js:
* globalize.culture.el-GR.js:
* globalize.culture.en-AU.js:
* globalize.culture.en-BZ.js:
* globalize.culture.en-CA.js:
* globalize.culture.en-GB.js:
* globalize.culture.en-IE.js:
* globalize.culture.en-ZA.js:
* globalize.culture.es-ES.js:
* globalize.culture.es-GT.js:
* globalize.culture.es-HN.js:
* globalize.culture.es-MX.js:
* globalize.culture.es-NI.js:
* globalize.culture.es-PA.js:
* globalize.culture.es-PE.js:
* globalize.culture.es-EC.js:
* globalize.culture.en-ZW.js:
* globalize.culture.es-AR.js:
* globalize.culture.es-BO.js:
* globalize.culture.es-CL.js:
* globalize.culture.es-CO.js:
* globalize.culture.es-CR.js:
* globalize.culture.es-DO.js:
* globalize.culture.de-LU.js:
* globalize.culture.ar-OM.js:
* globalize.culture.ar-QA.js:
* globalize.culture.ar-SA.js:
* globalize.culture.ar-SY.js:
* globalize.culture.ar-TN.js:
* globalize.culture.ar-YE.js:
* globalize.culture.as-IN.js:
* globalize.culture.ar-MA.js:
* globalize.culture.ar-DZ.js:
* globalize.culture.ar-EG.js:
* globalize.culture.ar-IQ.js:
* globalize.culture.ar-JO.js:
* globalize.culture.ar-KW.js:
* globalize.culture.ar-LB.js:
* globalize.culture.ar-LY.js:
* globalize.culture.ba-RU.js:
* globalize.culture.cs-CZ.js:
* globalize.culture.cy-GB.js:
* globalize.culture.da-DK.js:
* globalize.culture.de-AT.js:
* globalize.culture.de-CH.js:
* globalize.culture.de-DE.js:
* globalize.culture.de-LI.js:
* globalize.culture.co-FR.js:
* globalize.culture.be-BY.js:
* globalize.culture.bg-BG.js:
* globalize.culture.bn-BD.js:
* globalize.culture.bn-IN.js:
* globalize.culture.bo-CN.js:
* globalize.culture.br-FR.js:
* globalize.culture.ca-ES.js:
* globalize.culture.es-PR.js:
* globalize.culture.hi-IN.js:
* globalize.culture.hr-BA.js:
* globalize.culture.hr-HR.js:
* globalize.culture.hu-HU.js:
* globalize.culture.hy-AM.js:
* globalize.culture.id-ID.js:
* globalize.culture.he-IL.js:
* globalize.culture.fy-NL.js:
* globalize.culture.ga-IE.js:
* globalize.culture.gd-GB.js:
* globalize.culture.gl-ES.js:
* globalize.culture.gu-IN.js:
* globalize.culture.ka-GE.js:
* globalize.culture.ig-NG.js:
* globalize.culture.km-KH.js:
* globalize.culture.kn-IN.js:
* globalize.culture.ar-BH.js:
* globalize.culture.ko-KR.js:
* globalize.culture.ky-KG.js:
* globalize.culture.lb-LU.js:
* globalize.culture.kl-GL.js:
* globalize.culture.ii-CN.js:
* globalize.culture.is-IS.js:
* globalize.culture.it-CH.js:
* globalize.culture.it-IT.js:
* globalize.culture.ja-JP.js:
* globalize.culture.ar-AE.js:
* globalize.culture.kk-KZ.js:
* globalize.culture.fr-MC.js:
* globalize.culture.fr-LU.js:
* globalize.culture.fr-FR.js:
* globalize.culture.fa-IR.js:
* globalize.culture.fr-CH.js:
* globalize.culture.et-EE.js:
* globalize.culture.fi-FI.js:
* globalize.culture.fo-FO.js:
* globalize.culture.fr-BE.js:
* globalize.culture.fr-CA.js:
* globalize.culture.eu-ES.js:
* globalize.culture.es-US.js:
* globalize.culture.es-PY.js:
* globalize.culture.es-UY.js:
* globalize.culture.es-VE.js:
* globalize.culture.es-SV.js:
* globalize.culture.sma-SE.js:
* globalize.culture.hsb-DE.js:
* globalize.culture.prs-AF.js:
* globalize.culture.sma-NO.js:
* globalize.culture.qut-GT.js:
* globalize.culture.moh-CA.js:
* globalize.culture.zh-CHT.js:
* globalize.culture.quz-BO.js:
* globalize.culture.fil-PH.js:
* globalize.culture.zh-CHS.js:
* globalize.culture.smj-NO.js:
* globalize.culture.gsw-FR.js:
* globalize.culture.nso-ZA.js:
* globalize.culture.sms-FI.js:
* globalize.culture.quz-PE.js:
* globalize.culture.sah-RU.js:
* globalize.culture.kok-IN.js:
* globalize.culture.syr-SY.js:
* globalize.culture.smj-SE.js:
* globalize.culture.arn-CL.js:
* globalize.culture.dsb-DE.js:
* globalize.culture.quz-EC.js:
* globalize.culture.smn-FI.js:
* globalize.culture.en-029.js:
* globalize.culture.uz-Latn.js:
* globalize.culture.tg-Cyrl.js:
* globalize.culture.iu-Cans.js:
* globalize.culture.mn-Mong.js:
* globalize.culture.az-Latn.js:
* globalize.culture.az-Cyrl.js:
* globalize.culture.sr-Cyrl.js:
* globalize.culture.mn-Cyrl.js:
* globalize.culture.bs-Cyrl.js:
* globalize.culture.iu-Latn.js:
* globalize.culture.ha-Latn.js:
* globalize.culture.sr-Latn.js:
* globalize.culture.zh-Hant.js:
* globalize.culture.bs-Latn.js:
* globalize.culture.uz-Cyrl.js:
* globalize.culture.zh-Hans.js:
* globalize.culture.tzm-Latn.js:
* globalize.culture.iu-Latn-CA.js:
* globalize.culture.sr-Latn-RS.js:
* globalize.culture.sr-Latn-ME.js:
* globalize.culture.sr-Latn-CS.js:
* globalize.culture.sr-Latn-BA.js:
* globalize.culture.sr-Cyrl-RS.js:
* globalize.culture.sr-Cyrl-ME.js:
* globalize.culture.sr-Cyrl-CS.js:
* globalize.culture.sr-Cyrl-BA.js:
* globalize.culture.ha-Latn-NG.js:
* globalize.culture.mn-Mong-CN.js:
* globalize.culture.az-Cyrl-AZ.js:
* globalize.culture.az-Latn-AZ.js:
* globalize.culture.uz-Latn-UZ.js:
* globalize.culture.uz-Cyrl-UZ.js:
* globalize.culture.iu-Cans-CA.js:
* globalize.culture.bs-Cyrl-BA.js:
* globalize.culture.bs-Latn-BA.js:
* globalize.culture.tg-Cyrl-TJ.js:
* globalize.culture.tzm-Latn-DZ.js: Package update

* cldr.js:
* globalize.js:
* event.js:
* unresolved.js:
* supplemental.js: * adds Localisation purpose dependency

* mdd_styles.css:
* mdd_gripper.png:
* mdd_toolbar.png:
* mdd_ajax_loader.gif:
* mdd_modal_background.png: Adds Markdown editor resources

* CalendarController.cs: Refactoring : moved Notification and
  MessagesWithPayLoad into the Google data model (YavscModel)

* BlogsController.cs: * Removes input validation, in order to process
  some Markdown values.
* Makes the "Edit" Method the one that do the inital post (makes the
  "Post" method obsolete)


* App.master: * jQuery version updated to 2.1.4


* style.css: Sets a non null padding to the body of html pages.


* Edit.aspx: Passes from BBCodes to Markdown at edition time,
adds the Markdown editor.

* UserPost.aspx: Now displays Markdown content

* Web.config: * Modifies the "Thanks" configuration
* Removes useless addembly bindings
* 

* Web.csproj:
* packages.config: Package updates

* instdbws.sql: Adds a GCM registration id in the user's profile data.


* LoginModel.cs: Allows numbers in passords and logins

* YavscModel.csproj: GCM refactorisation

* Post.aspx: Replaced by Edit.aspx
2015-06-05 14:47:35 +02:00

188 lines
4.6 KiB
JavaScript

/**
* Globalize v1.0.0
*
* http://github.com/jquery/globalize
*
* Copyright 2010, 2014 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2015-04-23T12:02Z
*/
/*!
* Globalize v1.0.0 2015-04-23T12:02Z Released under the MIT license
* http://git.io/TrdQbw
*/
(function( root, factory ) {
// UMD returnExports
if ( typeof define === "function" && define.amd ) {
// AMD
define([
"cldr",
"../globalize",
"./number",
"./plural",
"cldr/event",
"cldr/supplemental"
], factory );
} else if ( typeof exports === "object" ) {
// Node, CommonJS
module.exports = factory( require( "cldrjs" ), require( "globalize" ) );
} else {
// Extend global
factory( root.Cldr, root.Globalize );
}
}(this, function( Cldr, Globalize ) {
var formatMessage = Globalize._formatMessage,
validateCldr = Globalize._validateCldr,
validateDefaultLocale = Globalize._validateDefaultLocale,
validateParameterPresence = Globalize._validateParameterPresence,
validateParameterTypeString = Globalize._validateParameterTypeString,
validateParameterTypeNumber = Globalize._validateParameterTypeNumber;
/**
* format( value, numberFormatter, pluralGenerator, properties )
*
* @value [Number] The number to format
*
* @numberFormatter [String] A numberFormatter from Globalize.numberFormatter
*
* @pluralGenerator [String] A pluralGenerator from Globalize.pluralGenerator
*
* @properties [Object] containing relative time plural message.
*
* Format relative time.
*/
var relativeTimeFormat = function( value, numberFormatter, pluralGenerator, properties ) {
var relativeTime,
message = properties[ "relative-type-" + value ];
if ( message ) {
return message;
}
relativeTime = value <= 0 ? properties[ "relativeTime-type-past" ]
: properties[ "relativeTime-type-future" ];
value = Math.abs( value );
message = relativeTime[ "relativeTimePattern-count-" + pluralGenerator( value ) ];
return formatMessage( message, [ numberFormatter( value ) ] );
};
/**
* properties( unit, cldr, options )
*
* @unit [String] eg. "day", "week", "month", etc.
*
* @cldr [Cldr instance].
*
* @options [Object]
* - form: [String] eg. "short" or "narrow". Or falsy for default long form.
*
* Return relative time properties.
*/
var relativeTimeProperties = function( unit, cldr, options ) {
var form = options.form,
raw, properties, key, match;
if ( form ) {
unit = unit + "-" + form;
}
raw = cldr.main( [ "dates", "fields", unit ] );
properties = {
"relativeTime-type-future": raw[ "relativeTime-type-future" ],
"relativeTime-type-past": raw[ "relativeTime-type-past" ]
};
for ( key in raw ) {
if ( raw.hasOwnProperty( key ) ) {
match = /relative-type-(-?[0-9]+)/.exec( key );
if ( match ) {
properties[ key ] = raw[ key ];
}
}
}
return properties;
};
/**
* .formatRelativeTime( value, unit [, options] )
*
* @value [Number] The number of unit to format.
*
* @unit [String] see .relativeTimeFormatter() for details.
*
* @options [Object] see .relativeTimeFormatter() for details.
*
* Formats a relative time according to the given unit, options, and the default/instance locale.
*/
Globalize.formatRelativeTime =
Globalize.prototype.formatRelativeTime = function( value, unit, options ) {
validateParameterPresence( value, "value" );
validateParameterTypeNumber( value, "value" );
return this.relativeTimeFormatter( unit, options )( value );
};
/**
* .relativeTimeFormatter( unit [, options ])
*
* @unit [String] String value indicating the unit to be formatted. eg. "day", "week", "month", etc.
*
* @options [Object]
* - form: [String] eg. "short" or "narrow". Or falsy for default long form.
*
* Returns a function that formats a relative time according to the given unit, options, and the
* default/instance locale.
*/
Globalize.relativeTimeFormatter =
Globalize.prototype.relativeTimeFormatter = function( unit, options ) {
var cldr, numberFormatter, pluralGenerator, properties;
validateParameterPresence( unit, "unit" );
validateParameterTypeString( unit, "unit" );
cldr = this.cldr;
options = options || {};
validateDefaultLocale( cldr );
cldr.on( "get", validateCldr );
properties = relativeTimeProperties( unit, cldr, options );
cldr.off( "get", validateCldr );
numberFormatter = this.numberFormatter( options );
pluralGenerator = this.pluralGenerator();
return function( value ) {
validateParameterPresence( value, "value" );
validateParameterTypeNumber( value, "value" );
return relativeTimeFormat( value, numberFormatter, pluralGenerator, properties );
};
};
return Globalize;
}));