diff --git a/gems.locked b/gems.locked index 6e8cc63b..d3f90189 100644 --- a/gems.locked +++ b/gems.locked @@ -11,7 +11,6 @@ GEM rack (2.0.3) rack-protection (2.0.0) rack - rack-rewrite (1.5.1) rake (12.2.1) sinatra (2.0.0) mustermann (~> 1.0) @@ -26,9 +25,8 @@ PLATFORMS DEPENDENCIES pry puma - rack-rewrite rake sinatra BUNDLED WITH - 1.14.6 + 1.16.0 diff --git a/gems.rb b/gems.rb index 3887f1eb..f80064a9 100644 --- a/gems.rb +++ b/gems.rb @@ -1,8 +1,8 @@ # encoding: utf-8 -source 'https://rubygems.org' +source "https://rubygems.org" -gem 'sinatra' -gem 'puma' -gem 'rake' -gem 'pry' +gem "pry" +gem "puma" +gem "rake" +gem "sinatra" diff --git a/options.rb b/options.rb index 76ad01d9..c59952c9 100644 --- a/options.rb +++ b/options.rb @@ -1,6 +1,6 @@ # encoding: utf-8 -ENV[ 'LEDGER_FILE' ] ||= '/home/nextcloud/data/cycojesus/files/org-files/comptes.ledger' +ENV[ 'LEDGER_FILE' ] ||= '/home/cycojesus/org/comptes.ledger' CURRENCY = '€' SEPARATOR = ',' diff --git a/public/app/index.html b/public/app/index.html index 75382084..80d130e3 100644 --- a/public/app/index.html +++ b/public/app/index.html @@ -3,47 +3,43 @@ - - - - ledger le-moine.org - - + + + + ledger le-moine.org + + - + - - - + + + - - - + + + -
+
- - - - - + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + diff --git a/public/app/js/app.js b/public/app/js/app.js index 924c8571..4570ef42 100644 --- a/public/app/js/app.js +++ b/public/app/js/app.js @@ -1,6 +1,337 @@ -var app = angular.module( 'app', [ 'ui.router', - 'nvd3', - 'angularMoment', - 'chieffancypants.loadingBar', - 'ngMaterial' - ] ); +var app = angular.module('app', ['ui.router', + 'nvd3', + 'angularMoment', + 'chieffancypants.loadingBar', + 'ngMaterial' +]); +app.config(['$stateProvider', '$urlRouterProvider', + function ($stateProvider, $urlRouterProvider) { + $stateProvider + .state('app', { + url: '', + views: { + 'main': { + component: 'dashboard' + } + } + }); + } +]); +app.component('dashboard', { + controller: ['$filter', 'API', + function ($filter, API) { + var ctrl = this; + ctrl.xFunction = function () { + return function (d) { + return d.account; + }; + }; + ctrl.yFunction = function () { + return function (d) { + return d.amount; + }; + }; + ctrl.toolTipContentFunction = function () { + return function (key, x, y, e, graph) { + var details = ctrl.balance.details[key]; + return '

' + key + '

' + '' + _(details).map(function (transaction) { + return ''; + }).join('') + '' + '
' + transaction.date + '' + transaction.payee + '' + $filter('number')(transaction.amount, 2) + ' ' + transaction.currency + '
Total :' + x + ' €
'; + }; + }; + var score_account = function (account) { + if (account.match(/^Income/)) { + return -10; + } + else if (account.match(/^Expenses:(courses|Hang)$/)) { + return 1; + } + else if (account.match(/^Expenses:Home/)) { + return 1; + } + else if (account.match(/^Expenses:Health/)) { + return 1; + } + else if (account.match(/^Expenses:Car/)) { + return 4; + } + else if (account.match(/^Expenses:(Food|Transport)/)) { + return 5; + } + else if (account.match(/^Expenses:(Shopping|Leisure)/)) { + return 9; + } + else if (account.match(/^Expenses:Gadgets/)) { + return 10; + } + else if (account.match(/^Liabilities/)) { + return 0; + } + else if (account.match(/^Assets/)) { + return -100; + } + else { + return 0; + } + }; + ctrl.coloring_score = function (score) { + var adjusted_score = score; + var color_scale = ['#99f', '#0f0', '#3f0', '#6f0', '#9f0', '#cf0', '#fc0', '#f90', '#f60', '#f30', '#f00']; + if (score <= -100) { + adjusted_score = (score * -1) - 100; + color_scale = ['#f0f']; + } + else if (score <= -10) { + adjusted_score = (score * -1) - 10; + color_scale = ['#360']; + } + return color_scale[adjusted_score]; + }; + ctrl.color = function () { + return function (d, i) { + return ctrl.coloring_score(score_account(d.data.account)); + }; + }; + ctrl.filter_data = function () { + _(ctrl.balance.buckets).each(function (bucket) { + bucket.data = []; + if (_(bucket.accounts_selected).isEmpty() && bucket.score_threshold === 0) { + bucket.data = bucket.raw_data; + } + else { + _(bucket.accounts_selected).each(function (account_selected) { + bucket.data = bucket.data.concat($filter('filter')(bucket.raw_data, account_selected, true)); + }); + } + bucket.total_detailed = _.chain(bucket.data) + .groupBy(function (account) { + return account.account.split(':')[0]; + }) + .each(function (category) { + category.total = _(category).reduce(function (memo, account) { + return memo + account.amount; + }, 0); + }) + .value(); + bucket.total_detailed = _.chain(bucket.total_detailed) + .keys() + .map(function (key) { + return { + account: key, + amount: bucket.total_detailed[key].total + }; + }) + .value(); + }); + }; + var Bucket = function (categories, period) { + var _this = this; + this.categories = categories; + this.period = period; + this.score_threshold = 0; + this.orderBy = 'amount'; + this.orderDesc = false; + this.order_by = function (field) { + if (_this.orderBy == field) { + _this.orderDesc = !_this.orderDesc; + } + else { + _this.orderBy = field; + } + }; + this.pie_graph_options = { + chart: { + type: 'pieChart', + donut: true, + donutRatio: 0.25, + height: 300, + x: function (d) { return d.account; }, + y: function (d) { return d.amount; }, + showLabels: false, + showLegend: true, + legendPosition: 'right', + showTooltipPercent: true, + duration: 500, + labelThreshold: 0.01, + labelSunbeamLayout: true, + labelsOutside: true + } + }; + }; + ctrl.depth = 99; + var retrieve_period_detailed_data = function () { + ctrl.balance = { + buckets: [new Bucket('Expenses Liabilities Equity Income', ctrl.period), + new Bucket('Assets', null)], + details: {} + }; + _(ctrl.balance.buckets).each(function (bucket) { + API.balance({ + period: bucket.period, + categories: bucket.categories, + depth: ctrl.depth + }) + .then(function (response) { + bucket.raw_data = _.chain(response.data) + .map(function (account) { + account.amount = (account.amount < 0) ? account.amount * -1 : account.amount; + account.score = score_account(account.account); + return account; + }) + .sortBy(function (account) { + return 1 / account.amount; + }) + .sortBy(function (account) { + return account.account.split(":")[0]; + }) + .value() + .reverse(); + bucket.raw_total = _(response.data).reduce(function (memo, account) { + return memo + account.amount; + }, 0); + bucket.accounts_selected = bucket.raw_data; + ctrl.filter_data(); + }); + }); + }; + var retrieve_accounts = function () { + API.accounts() + .then(function (response) { + ctrl.accounts = response.data.map(function (account_ary) { + return account_ary.join(':'); + }); + }); + }; + var retrieve_graph_values = function (params) { + API.graph_values(params).then(function (response) { + ctrl.periods = []; + var largest_cat = _(response.data).reduce(function (memo, cat) { + return cat.length > memo.length ? cat : memo; + }, []); + _.chain(largest_cat) + .pluck('date') + .each(function (date) { + _(response.data).each(function (cat) { + var value = _(cat).find({ date: date }); + if (_(value).isUndefined()) { + cat.push({ + date: date, + amount: 0, + currency: _(cat).first().currency + }); + } + }); + }); + _(response.data).each(function (cat) { + cat = _(cat).sortBy(function (month) { + return month.date; + }); + }); + ctrl.graphiques = { + monthly_values: { + options: { + chart: { + type: 'multiBarChart', + height: 300, + showControls: false, + showLegend: true, + showLabels: true, + stacked: false, + duration: 500, + reduceXTicks: false, + rotateLabels: 67, + labelSunbeamLayout: true, + useInteractiveGuideline: false, + multibar: { + dispatch: { + elementClick: function (event) { + ctrl.period = event.data.x; + retrieve_period_detailed_data(); + } + } + } + } + }, + data: _.chain(response.data) + .keys() + .reverse() + .map(function (key) { + var multiplicator = (key == "Income") ? -1 : 1; + return { + key: key, + values: _.chain(response.data[key]).map(function (value) { + var date = new Date(value.date); + var period = date.getFullYear() + '-' + (date.getMonth() < 9 ? '0' : '') + (date.getMonth() + 1); + ctrl.periods.push(period); + return { + key: key, + x: period, + y: parseInt(value.amount) * multiplicator + }; + }) + .sortBy(function (item) { return item.x; }) + .value() + }; + }) + .value() + } + }; + ctrl.periods = _.chain(ctrl.periods).uniq().sort().reverse().value(); + ctrl.period = _(ctrl.periods).first(); + }); + }; + ctrl.graphed_accounts = ['Expenses', 'Income']; + retrieve_accounts(); + retrieve_period_detailed_data(); + retrieve_graph_values({ period: '', + categories: ctrl.graphed_accounts.join(' ') }); + } + ], + template: "\n\n \n \n \n \n \n \n \n \n

{{$ctrl.period | amDateFormat:'MMMM YYYY'}}

\n \n \n {{account.account}} = {{account.amount | number:2}} \u20AC\n \n \n \n \n \n \n \n \n \n \n \n \n
\n" +}); +app.service('API', ['$http', + function ($http) { + var API = this; + API.balance = function (params) { + return $http.get('/api/ledger/balance', { + params: { + period: params.period, + categories: params.categories, + depth: params.depth + } + }); + }; + API.register = function (params) { + return $http.get('/api/ledger/register', { + params: { + period: params.period, + categories: params.categories + } + }); + }; + API.graph_values = function (params) { + return $http.get('/api/ledger/graph_values', { + params: { + period: params.period, + categories: params.categories + } + }); + }; + API.budget = function (params) { + return $http.get('/api/ledger/budget', { + params: { + period: params.period, + categories: params.categories + } + }); + }; + API.dates_salaries = function () { + return $http.get('/api/ledger/dates_salaries'); + }; + API.accounts = function () { + return $http.get('/api/ledger/accounts'); + }; + API.cleared = function () { + return $http.get('/api/ledger/cleared'); + }; + }]); diff --git a/public/app/js/app.min.js b/public/app/js/app.min.js new file mode 100644 index 00000000..3ca662a2 --- /dev/null +++ b/public/app/js/app.min.js @@ -0,0 +1,17 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,b){a!=Array.prototype&&a!=Object.prototype&&(a[c]=b.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; +$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+a++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var c=0;return $jscomp.iteratorPrototype(function(){return c=a?(b=-1*a-100,c=["#f0f"]):-10>=a&&(b=-1*a-10,c=["#360"]);return c[b]};b.color=function(){return function(a,c){return b.coloring_score(e(a.data.account))}};b.filter_data=function(){_(b.balance.buckets).each(function(b){b.data=[];_(b.accounts_selected).isEmpty()&&0===b.score_threshold?b.data=b.raw_data:_(b.accounts_selected).each(function(c){b.data=b.data.concat(a("filter")(b.raw_data, +c,!0))});b.total_detailed=_.chain(b.data).groupBy(function(a){return a.account.split(":")[0]}).each(function(a){a.total=_(a).reduce(function(a,b){return a+b.amount},0)}).value();b.total_detailed=_.chain(b.total_detailed).keys().map(function(a){return{account:a,amount:b.total_detailed[a].total}}).value()})};var d=function(a,b){var c=this;this.categories=a;this.period=b;this.score_threshold=0;this.orderBy="amount";this.orderDesc=!1;this.order_by=function(a){c.orderBy==a?c.orderDesc=!c.orderDesc:c.orderBy= +a};this.pie_graph_options={chart:{type:"pieChart",donut:!0,donutRatio:.25,height:300,x:function(a){return a.account},y:function(a){return a.amount},showLabels:!1,showLegend:!0,legendPosition:"right",showTooltipPercent:!0,duration:500,labelThreshold:.01,labelSunbeamLayout:!0,labelsOutside:!0}}};b.depth=99;var g=function(){b.balance={buckets:[new d("Expenses Liabilities Equity Income",b.period),new d("Assets",null)],details:{}};_(b.balance.buckets).each(function(a){c.balance({period:a.period,categories:a.categories, +depth:b.depth}).then(function(c){a.raw_data=_.chain(c.data).map(function(a){a.amount=0>a.amount?-1*a.amount:a.amount;a.score=e(a.account);return a}).sortBy(function(a){return 1/a.amount}).sortBy(function(a){return a.account.split(":")[0]}).value().reverse();a.raw_total=_(c.data).reduce(function(a,b){return a+b.amount},0);a.accounts_selected=a.raw_data;b.filter_data()})})};b.graphed_accounts=["Expenses","Income"];(function(){c.accounts().then(function(a){b.accounts=a.data.map(function(a){return a.join(":")})})})(); +g();(function(a){c.graph_values(a).then(function(a){b.periods=[];var c=_(a.data).reduce(function(a,b){return b.length>a.length?b:a},[]);_.chain(c).pluck("date").each(function(b){_(a.data).each(function(a){var c=_(a).find({date:b});_(c).isUndefined()&&a.push({date:b,amount:0,currency:_(a).first().currency})})});_(a.data).each(function(a){a=_(a).sortBy(function(a){return a.date})});b.graphiques={monthly_values:{options:{chart:{type:"multiBarChart",height:300,showControls:!1,showLegend:!0,showLabels:!0, +stacked:!1,duration:500,reduceXTicks:!1,rotateLabels:67,labelSunbeamLayout:!0,useInteractiveGuideline:!1,multibar:{dispatch:{elementClick:function(a){b.period=a.data.x;g()}}}}},data:_.chain(a.data).keys().reverse().map(function(c){var e="Income"==c?-1:1;return{key:c,values:_.chain(a.data[c]).map(function(a){var d=new Date(a.date);d=d.getFullYear()+"-"+(9>d.getMonth()?"0":"")+(d.getMonth()+1);b.periods.push(d);return{key:c,x:d,y:parseInt(a.amount)*e}}).sortBy(function(a){return a.x}).value()}}).value()}}; +b.periods=_.chain(b.periods).uniq().sort().reverse().value();b.period=_(b.periods).first()})})({period:"",categories:b.graphed_accounts.join(" ")})}],template:'\n\x3cmd-content flex\x3d"100" layout\x3d"column"\x3e\n \x3cmd-card flex\x3d"100" layout\x3d"row"\x3e\n \x3cmd-card flex\x3d"20"\x3e\n \x3cselect style\x3d"height: 100%;" multiple ng:model\x3d"$ctrl.graphed_accounts"\x3e\n \x3coption ng:repeat\x3d"account in $ctrl.accounts"\x3e{{account}}\x3c/option\x3e\n \x3c/select\x3e\n \x3c/md-card\x3e\n \x3cmd-card flex\x3d"81"\x3e\n \x3cnvd3 data\x3d"$ctrl.graphiques.monthly_values.data"\n options\x3d"$ctrl.graphiques.monthly_values.options"\x3e\x3c/nvd3\x3e\n \x3c/md-card\x3e\n \x3c/md-card\x3e\n \x3ch1 style\x3d"text-align: center;"\x3e{{$ctrl.period | amDateFormat:\'MMMM YYYY\'}}\x3c/h1\x3e\n \x3cmd-card flex\x3d"100" layout\x3d"column"\n ng:repeat\x3d"bucket in $ctrl.balance.buckets"\x3e\n \x3cmd-toolbar\x3e\n \x3cspan ng:repeat\x3d"account in bucket.total_detailed"\x3e{{account.account}} \x3d {{account.amount | number:2}} \u20ac\x3c/span\x3e\n \x3c/md-toolbar\x3e\n \x3cmd-content layout\x3d"row"\x3e\n \x3cmd-card flex\x3d"20"\x3e\n \x3cselect style\x3d"height: 100%;" multiple\n ng:model\x3d"bucket.accounts_selected"\n ng:options\x3d"account.account for account in bucket.raw_data | orderBy:\'account\'"\n ng:change\x3d"filter_data()"\x3e\n \x3coption value\x3d\'\'\x3e...\x3c/option\x3e\n \x3c/select\x3e\n \x3c/md-card\x3e\n \x3cmd-card flex\x3d"78"\x3e\n \x3cnvd3 data\x3d"bucket.data"\n options\x3d"bucket.pie_graph_options" \x3e\n \x3c/nvd3\x3e\n \x3c/md-card\x3e\n \x3c!-- \x3cmd-card flex\x3d"56"\x3e\n \x3ctable class\x3d"table"\x3e\n \x3cthead\x3e\n \x3ctr\x3e\n \x3cth\x3e\x3cmd-buton ng:click\x3d"bucket.order_by( \'account\' )"\x3eaccount\x3c/md-buton\x3e\x3c/th\x3e\n \x3cth\x3e\x3cmd-buton ng:click\x3d"bucket.order_by( \'amount\' )"\x3eamount\x3c/md-buton\x3e\x3c/th\x3e\n \x3cth\x3e\x3cmd-buton ng:click\x3d"bucket.order_by( \'score\' )"\x3escore\x3c/md-buton\x3e\x3c/th\x3e\n \x3c/tr\x3e\n \x3c/thead\x3e\n \x3ctbody\x3e\n \x3ctr ng:repeat\x3d"account in bucket.data | orderBy:bucket.orderBy:bucket.orderDesc"\n ng:class\x3d"{\'even\': $even, \'odd\': $odd}"\n style\x3d"border-left:10px solid {{coloring_score( account.score )}};border-right:10px solid {{coloring_score( account.score )}}"\x3e\n \x3ctd style\x3d"border-bottom:1px solid {{coloring_score( account.score )}}"\x3e\n {{account.account}}\n \x3c/td\x3e\n \x3ctd style\x3d"text-align:right;border-bottom:1px solid {{coloring_score( account.score )}}"\x3e\n {{account.amount | number:2}} \u20ac\n \x3c/td\x3e\n \x3ctd style\x3d"text-align:right;border-bottom:1px solid {{coloring_score( account.score )}}"\x3e\n {{account.score}}\n \x3c/td\x3e\n \x3c/tr\x3e\n \x3c/tbody\x3e\n \x3c/table\x3e\n \x3c/md-card\x3e --\x3e\n \x3c/md-content\x3e\n \x3c/md-card\x3e\n\x3c/md-content\x3e\n'}); +app.service("API",["$http",function(a){this.balance=function(c){return a.get("/api/ledger/balance",{params:{period:c.period,categories:c.categories,depth:c.depth}})};this.register=function(c){return a.get("/api/ledger/register",{params:{period:c.period,categories:c.categories}})};this.graph_values=function(c){return a.get("/api/ledger/graph_values",{params:{period:c.period,categories:c.categories}})};this.budget=function(c){return a.get("/api/ledger/budget",{params:{period:c.period,categories:c.categories}})}; +this.dates_salaries=function(){return a.get("/api/ledger/dates_salaries")};this.accounts=function(){return a.get("/api/ledger/accounts")};this.cleared=function(){return a.get("/api/ledger/cleared")}}]); diff --git a/public/app/js/controllers/DashboardCtrl.js b/public/app/js/controllers/DashboardCtrl.js deleted file mode 100644 index 309bc772..00000000 --- a/public/app/js/controllers/DashboardCtrl.js +++ /dev/null @@ -1,276 +0,0 @@ -app.controller( 'DashboardCtrl', - [ '$scope', '$filter', 'API', - function ( $scope, $filter, API ) { - $scope.xFunction = function () { - return function ( d ) { - return d.account; - }; - }; - $scope.yFunction = function () { - return function ( d ) { - return d.amount; - }; - }; - $scope.toolTipContentFunction = function () { - return function ( key, x, y, e, graph ) { - var details = $scope.balance.details[ key ]; - return '

' + key + '

' + '' + _( details ).map( function ( transaction ) { - return ''; - } ).join( '' ) + '' + '
' + transaction.date + '' + transaction.payee + '' + $filter( 'number' )( transaction.amount, 2 ) + ' ' + transaction.currency + '
Total :' + x + ' €
'; - }; - }; - - // compute an account's score: from 1 (good) to 10 (bad), 0 is neutral/undecided - var score_account = function ( account ) { - if ( account.match( /^Income/ ) ) { - return -10; - } else if ( account.match( /^Expenses:(courses|Hang)$/ ) ) { - return 1; - } else if ( account.match( /^Expenses:Home/ ) ) { - return 1; - } else if ( account.match( /^Expenses:Health/ ) ) { - return 1; - } else if ( account.match( /^Expenses:Car/ ) ) { - return 4; - } else if ( account.match( /^Expenses:(Food|Transport)/ ) ) { - return 5; - } else if ( account.match( /^Expenses:(Shopping|Leisure)/ ) ) { - return 9; - } else if ( account.match( /^Expenses:Gadgets/ ) ) { - return 10; - } else if ( account.match( /^Liabilities/ ) ) { - return 0; - } else if ( account.match( /^Assets/ ) ) { - return -100; - } else { - return 0; - } - }; - - $scope.coloring_score = function ( score ) { - var adjusted_score = score; - var color_scale = [ '#99f', '#0f0', '#3f0', '#6f0', '#9f0', '#cf0', '#fc0', '#f90', '#f60', '#f30', '#f00' ]; - - if ( score <= -100 ) { - // Assets - adjusted_score = ( score * -1 ) - 100; - color_scale = [ '#f0f' ]; - } else if ( score <= -10 ) { - // Income - adjusted_score = ( score * -1 ) - 10; - color_scale = [ '#360' ]; - } - - return color_scale[ adjusted_score ]; - }; - - $scope.color = function () { - return function ( d, i ) { - return $scope.coloring_score( score_account( d.data.account ) ); - }; - }; - - $scope.filter_data = function() { - _($scope.balance.buckets).each( function( bucket ) { - bucket.data = []; - - if ( _(bucket.accounts_selected).isEmpty() && bucket.score_threshold === 0 ) { - bucket.data = bucket.raw_data; - } else { - _(bucket.accounts_selected).each( function( account_selected ) { - bucket.data = bucket.data.concat( $filter('filter')( bucket.raw_data, account_selected, true ) ); - } ); - } - - bucket.total_detailed = _.chain( bucket.data ) - .groupBy( function( account ) { - return account.account.split(':')[0]; - } ) - .each( function( category ) { - category.total = _( category ).reduce( function ( memo, account ) { - return memo + account.amount; - }, 0 ); - } ) - .value(); - bucket.total_detailed = _.chain(bucket.total_detailed) - .keys() - .map( function( key ) { - return { account: key, - amount: bucket.total_detailed[key].total }; - } ) - .value(); - - } ); - }; - - var Bucket = function( categories, period ) { - var _this = this; - this.categories = categories; - this.period = period; - this.score_threshold = 0; - this.orderBy = 'amount'; - this.orderDesc = false; - this.order_by = function( field ) { - if ( _this.orderBy == field ) { - _this.orderDesc = !_this.orderDesc; - } else { - _this.orderBy = field; - } - }; - - this.pie_graph_options = { chart: { type: 'pieChart', - donut: true, - donutRatio: 0.25, - height: 300, - x: function( d ) { return d.account; }, - y: function( d ) { return d.amount; }, - showLabels: false, - showLegend: true, - legendPosition: 'right', - showTooltipPercent: true, - duration: 500, - labelThreshold: 0.01, - labelSunbeamLayout: true, - donutLabelsOutside: true - } }; - }; - - $scope.depth = 99; - - var retrieve_period_detailed_data = function () { - $scope.balance = { - buckets: [ new Bucket( 'Expenses Liabilities Equity Income', $scope.period ), - new Bucket( 'Assets', null ) ], - details: {} - }; - - _($scope.balance.buckets).each( function( bucket ) { - API.balance( { period: bucket.period, - categories: bucket.categories, - depth: $scope.depth } ) - .then( function ( response ) { - bucket.raw_data = _.chain( response.data ) - .map( function( account ) { - account.amount = ( account.amount < 0 ) ? account.amount * -1 : account.amount; - account.score = score_account( account.account ); - return account; - } ) - .sortBy( function ( account ) { - return 1 / account.amount; - } ) - .sortBy( function ( account ) { - return account.account.split(":")[0]; - } ) - .value() - .reverse(); - bucket.raw_total = _( response.data ).reduce( function ( memo, account ) { - return memo + account.amount; - }, 0 ); - bucket.accounts_selected = bucket.raw_data; - - $scope.filter_data(); - } ); - } ); - }; - - var retrieve_accounts = function() { - API.accounts() - .then( function ( response ) { - $scope.accounts = response.data.map( function( account_ary ) { - return account_ary.join( ':' ); - } ); - } ); - }; - - var retrieve_graph_values = function( params ) { - API.graph_values( params ).then( function( response ) { - $scope.periods = []; - - var largest_cat = _(response.data).reduce( function( memo, cat ) { - return cat.length > memo.length ? cat : memo; - }, [] ); - _.chain(largest_cat) - .pluck( 'date' ) - .each( function( date ) { - _(response.data).each( function( cat ) { - var value = _(cat).find( { date: date } ); - if ( _(value).isUndefined() ) { - cat.push( { date: date, - amount: 0, - currency: _(cat).first().currency } ); - } - } ); - } ); - _(response.data).each( function( cat ) { - cat = _(cat).sortBy( function( month ) { - return month.date; - } ); - } ); - - $scope.graphiques = { - monthly_values: { - options: { - chart: { - type: 'multiBarChart', - height: 300, - showControls: false, - showLegend: true, - showLabels: true, - stacked: false, - duration: 500, - reduceXTicks: false, - rotateLabels: 67, - labelSunbeamLayout: true, - useInteractiveGuideline: false, - multibar: { - dispatch: { - elementClick: function( event ) { - $scope.period = event.data.x; - retrieve_period_detailed_data(); - } - } - } - } - }, - data: _.chain( response.data ) - .keys() - .reverse() - .map( function( key ) { - var multiplicator = ( key == "Income" ) ? -1 : 1; - return { key: key, - values: _.chain(response.data[ key ]).map( function( value ) { - var date = new Date( value.date ); - var period = date.getFullYear() + '-' + ( date.getMonth() < 9 ? '0' : '' ) + ( date.getMonth() + 1 ); - $scope.periods.push( period ); - - return { key: key, - x: period, - y: parseInt( value.amount ) * multiplicator }; - } ) - .sortBy( function( item ) { return item.x; } ) - .value() - }; - } ) - .value() - } - }; - - $scope.periods = _.chain($scope.periods).uniq().sort().reverse().value(); - $scope.period = _($scope.periods).first(); - } ); - }; - - $scope.graphed_accounts = [ 'Expenses', 'Income' ]; - - $scope.$watch( 'period', function () { - retrieve_period_detailed_data(); - } ); - - retrieve_accounts(); - - $scope.$watch( 'graphed_accounts', function () { - retrieve_graph_values( { period: '', - categories: $scope.graphed_accounts.join(' ') } ); - } ); - } - ] ); diff --git a/public/app/js/services/API.js b/public/app/js/services/API.js deleted file mode 100644 index c3eede56..00000000 --- a/public/app/js/services/API.js +++ /dev/null @@ -1,52 +0,0 @@ -app.service( 'API', - [ '$http', - function( $http ) { - this.balance = function( params ) { - return $http.get( '/api/ledger/balance', { - params: { - period: params.period, - categories: params.categories, - depth: params.depth - } - } ); - }; - - this.register = function( params ) { - return $http.get( '/api/ledger/register', { - params: { - period: params.period, - categories: params.categories - } - } ); - }; - - this.graph_values = function( params ) { - return $http.get( '/api/ledger/graph_values', { - params: { - period: params.period, - categories: params.categories - } - } ); - }; - - this.budget = function( params ) { - return $http.get( '/api/ledger/budget', { - params: { - period: params.period, - categories: params.categories - } - } ); - }; - - this.dates_salaries = function( ) { - return $http.get( '/api/ledger/dates_salaries' ); - }; - - this.accounts = function( ) { - return $http.get( '/api/ledger/accounts' ); - }; - - this.cleared = function( ) { - return $http.get( '/api/ledger/cleared' ); - }; - } ] ); diff --git a/public/app/js/state.js b/public/app/js/state.js deleted file mode 100644 index 4e960bf3..00000000 --- a/public/app/js/state.js +++ /dev/null @@ -1,20 +0,0 @@ -// Sub-application/main Level State -app.config( [ '$stateProvider', '$urlRouterProvider', - function ( $stateProvider, $urlRouterProvider ) { - $stateProvider - .state( 'app', { - url: '', - views: { - 'main': { - templateUrl: 'app/js/templates/dashboard.html', - controller: 'DashboardCtrl' - } - } - } ) - .state( '404', { - url: '/404', - templateUrl: 'app/js/templates/404.html' - } ); - - } - ] ); diff --git a/public/app/js/templates/404.tpl.html b/public/app/js/templates/404.tpl.html deleted file mode 100644 index 02b5ff22..00000000 --- a/public/app/js/templates/404.tpl.html +++ /dev/null @@ -1 +0,0 @@ -
404 Error
\ No newline at end of file diff --git a/public/app/js/templates/dashboard.html b/public/app/js/templates/dashboard.html deleted file mode 100644 index a6726cf3..00000000 --- a/public/app/js/templates/dashboard.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - -

{{period | amDateFormat:'MMMM YYYY'}}

- - - {{account.account}} = {{account.amount | number:2}} € - - - - - - - - - - - - -
diff --git a/public/app/ts/app.ts b/public/app/ts/app.ts new file mode 100644 index 00000000..924c8571 --- /dev/null +++ b/public/app/ts/app.ts @@ -0,0 +1,6 @@ +var app = angular.module( 'app', [ 'ui.router', + 'nvd3', + 'angularMoment', + 'chieffancypants.loadingBar', + 'ngMaterial' + ] ); diff --git a/public/app/ts/components/dashboard.ts b/public/app/ts/components/dashboard.ts new file mode 100644 index 00000000..bb3eea0a --- /dev/null +++ b/public/app/ts/components/dashboard.ts @@ -0,0 +1,349 @@ +app.component('dashboard', + { + controller: ['$filter', 'API', + function($filter, API) { + let ctrl = this; + + ctrl.xFunction = function() { + return function(d) { + return d.account; + }; + }; + ctrl.yFunction = function() { + return function(d) { + return d.amount; + }; + }; + ctrl.toolTipContentFunction = function() { + return function(key, x, y, e, graph) { + let details = ctrl.balance.details[key]; + return '

' + key + '

' + '' + _(details).map(function(transaction) { + return ''; + }).join('') + '' + '
' + transaction.date + '' + transaction.payee + '' + $filter('number')(transaction.amount, 2) + ' ' + transaction.currency + '
Total :' + x + ' €
'; + }; + }; + + // compute an account's score: from 1 (good) to 10 (bad), 0 is neutral/undecided + let score_account = function(account) { + if (account.match(/^Income/)) { + return -10; + } else if (account.match(/^Expenses:(courses|Hang)$/)) { + return 1; + } else if (account.match(/^Expenses:Home/)) { + return 1; + } else if (account.match(/^Expenses:Health/)) { + return 1; + } else if (account.match(/^Expenses:Car/)) { + return 4; + } else if (account.match(/^Expenses:(Food|Transport)/)) { + return 5; + } else if (account.match(/^Expenses:(Shopping|Leisure)/)) { + return 9; + } else if (account.match(/^Expenses:Gadgets/)) { + return 10; + } else if (account.match(/^Liabilities/)) { + return 0; + } else if (account.match(/^Assets/)) { + return -100; + } else { + return 0; + } + }; + + ctrl.coloring_score = function(score) { + let adjusted_score = score; + let color_scale = ['#99f', '#0f0', '#3f0', '#6f0', '#9f0', '#cf0', '#fc0', '#f90', '#f60', '#f30', '#f00']; + + if (score <= -100) { + // Assets + adjusted_score = (score * -1) - 100; + color_scale = ['#f0f']; + } else if (score <= -10) { + // Income + adjusted_score = (score * -1) - 10; + color_scale = ['#360']; + } + + return color_scale[adjusted_score]; + }; + + ctrl.color = function() { + return function(d, i) { + return ctrl.coloring_score(score_account(d.data.account)); + }; + }; + + ctrl.filter_data = function() { + _(ctrl.balance.buckets).each(function(bucket) { + bucket.data = []; + + if (_(bucket.accounts_selected).isEmpty() && bucket.score_threshold === 0) { + bucket.data = bucket.raw_data; + } else { + _(bucket.accounts_selected).each(function(account_selected) { + bucket.data = bucket.data.concat($filter('filter')(bucket.raw_data, account_selected, true)); + }); + } + + bucket.total_detailed = _.chain(bucket.data) + .groupBy(function(account) { + return account.account.split(':')[0]; + }) + .each(function(category) { + category.total = _(category).reduce(function(memo, account) { + return memo + account.amount; + }, 0); + }) + .value(); + bucket.total_detailed = _.chain(bucket.total_detailed) + .keys() + .map(function(key) { + return { + account: key, + amount: bucket.total_detailed[key].total + }; + }) + .value(); + + }); + }; + + let Bucket = function(categories, period) { + let _this = this; + this.categories = categories; + this.period = period; + this.score_threshold = 0; + this.orderBy = 'amount'; + this.orderDesc = false; + this.order_by = function(field) { + if (_this.orderBy == field) { + _this.orderDesc = !_this.orderDesc; + } else { + _this.orderBy = field; + } + }; + + this.pie_graph_options = { + chart: { + type: 'pieChart', + donut: true, + donutRatio: 0.25, + height: 300, + x: function(d) { return d.account; }, + y: function(d) { return d.amount; }, + showLabels: false, + showLegend: true, + legendPosition: 'right', + showTooltipPercent: true, + duration: 500, + labelThreshold: 0.01, + labelSunbeamLayout: true, + labelsOutside: true + } + }; + }; + + ctrl.depth = 99; + + let retrieve_period_detailed_data = function() { + ctrl.balance = { + buckets: [new Bucket('Expenses Liabilities Equity Income', ctrl.period), + new Bucket('Assets', null)], + details: {} + }; + + _(ctrl.balance.buckets).each(function(bucket) { + API.balance({ + period: bucket.period, + categories: bucket.categories, + depth: ctrl.depth + }) + .then(function(response) { + bucket.raw_data = _.chain(response.data) + .map(function(account) { + account.amount = (account.amount < 0) ? account.amount * -1 : account.amount; + account.score = score_account(account.account); + return account; + }) + .sortBy(function(account) { + return 1 / account.amount; + }) + .sortBy(function(account) { + return account.account.split(":")[0]; + }) + .value() + .reverse(); + bucket.raw_total = _(response.data).reduce(function(memo, account) { + return memo + account.amount; + }, 0); + bucket.accounts_selected = bucket.raw_data; + + ctrl.filter_data(); + }); + }); + }; + + let retrieve_accounts = function() { + API.accounts() + .then(function(response) { + ctrl.accounts = response.data.map(function(account_ary) { + return account_ary.join(':'); + }); + }); + }; + + let retrieve_graph_values = function(params) { + API.graph_values(params).then(function(response) { + ctrl.periods = []; + + let largest_cat = _(response.data).reduce(function(memo, cat) { + return cat.length > memo.length ? cat : memo; + }, []); + _.chain(largest_cat) + .pluck('date') + .each(function(date) { + _(response.data).each(function(cat) { + let value = _(cat).find({ date: date }); + if (_(value).isUndefined()) { + cat.push({ + date: date, + amount: 0, + currency: _(cat).first().currency + }); + } + }); + }); + _(response.data).each(function(cat) { + cat = _(cat).sortBy(function(month) { + return month.date; + }); + }); + + ctrl.graphiques = { + monthly_values: { + options: { + chart: { + type: 'multiBarChart', + height: 300, + showControls: false, + showLegend: true, + showLabels: true, + stacked: false, + duration: 500, + reduceXTicks: false, + rotateLabels: 67, + labelSunbeamLayout: true, + useInteractiveGuideline: false, + multibar: { + dispatch: { + elementClick: function(event) { + ctrl.period = event.data.x; + retrieve_period_detailed_data(); + } + } + } + } + }, + data: _.chain(response.data) + .keys() + .reverse() + .map(function(key) { + let multiplicator = (key == "Income") ? -1 : 1; + return { + key: key, + values: _.chain(response.data[key]).map(function(value) { + let date = new Date(value.date); + let period = date.getFullYear() + '-' + (date.getMonth() < 9 ? '0' : '') + (date.getMonth() + 1); + ctrl.periods.push(period); + + return { + key: key, + x: period, + y: parseInt(value.amount) * multiplicator + }; + }) + .sortBy(function(item) { return item.x; }) + .value() + }; + }) + .value() + } + }; + + ctrl.periods = _.chain(ctrl.periods).uniq().sort().reverse().value(); + ctrl.period = _(ctrl.periods).first(); + }); + }; + + ctrl.graphed_accounts = ['Expenses', 'Income']; + + retrieve_accounts(); + retrieve_period_detailed_data(); + retrieve_graph_values({ period: '', + categories: ctrl.graphed_accounts.join(' ') }); + } + ], + template: ` + + + + + + + + + +

{{$ctrl.period | amDateFormat:'MMMM YYYY'}}

+ + + {{account.account}} = {{account.amount | number:2}} € + + + + + + + + + + + + +
+` + }); diff --git a/public/app/ts/services/API.ts b/public/app/ts/services/API.ts new file mode 100644 index 00000000..4bc4c904 --- /dev/null +++ b/public/app/ts/services/API.ts @@ -0,0 +1,54 @@ +app.service( 'API', + [ '$http', + function( $http ) { + let API = this; + + API.balance = function( params ) { + return $http.get( '/api/ledger/balance', { + params: { + period: params.period, + categories: params.categories, + depth: params.depth + } + } ); + }; + + API.register = function( params ) { + return $http.get( '/api/ledger/register', { + params: { + period: params.period, + categories: params.categories + } + } ); + }; + + API.graph_values = function( params ) { + return $http.get( '/api/ledger/graph_values', { + params: { + period: params.period, + categories: params.categories + } + } ); + }; + + API.budget = function( params ) { + return $http.get( '/api/ledger/budget', { + params: { + period: params.period, + categories: params.categories + } + } ); + }; + + API.dates_salaries = function( ) { + return $http.get( '/api/ledger/dates_salaries' ); + }; + + API.accounts = function( ) { + return $http.get( '/api/ledger/accounts' ); + }; + + API.cleared = function( ) { + return $http.get( '/api/ledger/cleared' ); + }; + } ] ); diff --git a/public/app/ts/state.ts b/public/app/ts/state.ts new file mode 100644 index 00000000..dd02c518 --- /dev/null +++ b/public/app/ts/state.ts @@ -0,0 +1,15 @@ +// Sub-application/main Level State +app.config( [ '$stateProvider', '$urlRouterProvider', + function ( $stateProvider, $urlRouterProvider ) { + $stateProvider + .state( 'app', { + url: '', + views: { + 'main': { + component: 'dashboard' + } + } + } ); + + } + ] ); diff --git a/public/app/tsconfig.json b/public/app/tsconfig.json new file mode 100644 index 00000000..bddeb8f0 --- /dev/null +++ b/public/app/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "es5", + "declaration": false, + "removeComments": true, + "sourceMap": false, + "outFile": "js/app.js" + }, + "include": [ + "ts/app.ts", + "ts/state.ts", + "ts/components/*.ts", + "ts/services/*.ts", + ], +} diff --git a/public/app/vendor/node_modules/angular-animate/angular-animate.js b/public/app/vendor/node_modules/angular-animate/angular-animate.js index b18b828e..c1c084df 100644 --- a/public/app/vendor/node_modules/angular-animate/angular-animate.js +++ b/public/app/vendor/node_modules/angular-animate/angular-animate.js @@ -1,6 +1,6 @@ /** - * @license AngularJS v1.5.8 - * (c) 2010-2016 Google, Inc. http://angularjs.org + * @license AngularJS v1.6.6 + * (c) 2010-2017 Google, Inc. http://angularjs.org * License: MIT */ (function(window, angular) {'use strict'; @@ -29,7 +29,7 @@ var CSS_PREFIX = '', TRANSITION_PROP, TRANSITIONEND_EVENT, ANIMATION_PROP, ANIMA // Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit // therefore there is no reason to test anymore for other vendor prefixes: // http://caniuse.com/#search=transition -if ((window.ontransitionend === void 0) && (window.onwebkittransitionend !== void 0)) { +if ((window.ontransitionend === undefined) && (window.onwebkittransitionend !== undefined)) { CSS_PREFIX = '-webkit-'; TRANSITION_PROP = 'WebkitTransition'; TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend'; @@ -38,7 +38,7 @@ if ((window.ontransitionend === void 0) && (window.onwebkittransitionend !== voi TRANSITIONEND_EVENT = 'transitionend'; } -if ((window.onanimationend === void 0) && (window.onwebkitanimationend !== void 0)) { +if ((window.onanimationend === undefined) && (window.onwebkitanimationend !== undefined)) { CSS_PREFIX = '-webkit-'; ANIMATION_PROP = 'WebkitAnimation'; ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend'; @@ -63,7 +63,7 @@ var TRANSITION_DURATION_PROP = TRANSITION_PROP + DURATION_KEY; var ngMinErr = angular.$$minErr('ng'); function assertArg(arg, name, reason) { if (!arg) { - throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required")); + throw ngMinErr('areq', 'Argument \'{0}\' is {1}', (name || '?'), (reason || 'required')); } return arg; } @@ -139,7 +139,7 @@ function extractElementNode(element) { if (!element[0]) return element; for (var i = 0; i < element.length; i++) { var elm = element[i]; - if (elm.nodeType == ELEMENT_NODE) { + if (elm.nodeType === ELEMENT_NODE) { return elm; } } @@ -423,7 +423,7 @@ var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { * of the children's parents are currently animating. By default, when an element has an active `enter`, `leave`, or `move` * (structural) animation, child elements that also have an active structural animation are not animated. * - * Note that even if `ngAnimteChildren` is set, no child animations will run when the parent element is removed from the DOM (`leave` animation). + * Note that even if `ngAnimateChildren` is set, no child animations will run when the parent element is removed from the DOM (`leave` animation). * * * @param {string} ngAnimateChildren If the value is empty, `true` or `on`, @@ -432,7 +432,7 @@ var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { * @example * -
+

@@ -482,7 +482,7 @@ var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { angular.module('ngAnimateChildren', ['ngAnimate']) - .controller('mainController', function() { + .controller('MainController', function MainController() { this.animateChildren = false; this.enterElement = false; }); @@ -510,6 +510,8 @@ var $$AnimateChildrenDirective = ['$interpolate', function($interpolate) { }; }]; +/* exported $AnimateCssProvider */ + var ANIMATE_TIMER_KEY = '$$animateCss'; /** @@ -727,7 +729,6 @@ var ANIMATE_TIMER_KEY = '$$animateCss'; * * `end` - This method will cancel the animation and remove all applied CSS classes and styles. */ var ONE_SECOND = 1000; -var BASE_TEN = 10; var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3; var CLOSING_TIME_BUFFER = 1.5; @@ -789,7 +790,7 @@ function parseMaxTime(str) { forEach(values, function(value) { // it's always safe to consider only second values and omit `ms` values since // getComputedStyle will always handle the conversion for us - if (value.charAt(value.length - 1) == 's') { + if (value.charAt(value.length - 1) === 's') { value = value.substring(0, value.length - 1); } value = parseFloat(value) || 0; @@ -857,7 +858,7 @@ function registerRestorableStyles(backup, node, properties) { }); } -var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { +var $AnimateCssProvider = ['$animateProvider', /** @this */ function($animateProvider) { var gcsLookup = createLocalCacheLookup(); var gcsStaggerLookup = createLocalCacheLookup(); @@ -870,7 +871,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { var parentCounter = 0; function gcsHashFn(node, extraClasses) { - var KEY = "$$ngAnimateParentKey"; + var KEY = '$$ngAnimateParentKey'; var parentNode = node.parentNode; var parentID = parentNode[KEY] || (parentNode[KEY] = ++parentCounter); return parentID + '-' + node.getAttribute('class') + '-' + extraClasses; @@ -921,7 +922,6 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { return stagger || {}; } - var cancelLastRAFRequest; var rafWaitQueue = []; function waitUntilQuiet(callback) { rafWaitQueue.push(callback); @@ -1110,7 +1110,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { var flags = {}; flags.hasTransitions = timings.transitionDuration > 0; flags.hasAnimations = timings.animationDuration > 0; - flags.hasTransitionAll = flags.hasTransitions && timings.transitionProperty == 'all'; + flags.hasTransitionAll = flags.hasTransitions && timings.transitionProperty === 'all'; flags.applyTransitionDuration = hasToStyles && ( (flags.hasTransitions && !flags.hasTransitionAll) || (flags.hasAnimations && !flags.hasTransitions)); @@ -1142,7 +1142,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { if (options.delay != null) { var delayStyle; - if (typeof options.delay !== "boolean") { + if (typeof options.delay !== 'boolean') { delayStyle = parseFloat(options.delay); // number in options.delay means we have to recalculate the delay for the closing timeout maxDelay = Math.max(delayStyle, 0); @@ -1220,7 +1220,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { close(true); } - function close(rejected) { // jshint ignore:line + function close(rejected) { // if the promise has been called already then we shouldn't close // the animation again if (animationClosed || (animationCompleted && animationPaused)) return; @@ -1247,8 +1247,11 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { if (Object.keys(restoreStyles).length) { forEach(restoreStyles, function(value, prop) { - value ? node.style.setProperty(prop, value) - : node.style.removeProperty(prop); + if (value) { + node.style.setProperty(prop, value); + } else { + node.style.removeProperty(prop); + } }); } @@ -1351,9 +1354,11 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { animationPaused = !playAnimation; if (timings.animationDuration) { var value = blockKeyframeAnimations(node, animationPaused); - animationPaused - ? temporaryStyles.push(value) - : removeFromArray(temporaryStyles, value); + if (animationPaused) { + temporaryStyles.push(value); + } else { + removeFromArray(temporaryStyles, value); + } } } else if (animationPaused && playAnimation) { animationPaused = false; @@ -1402,7 +1407,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { $$jqLite.addClass(element, activeClasses); if (flags.recalculateTimingStyles) { - fullClassName = node.className + ' ' + preparationClasses; + fullClassName = node.getAttribute('class') + ' ' + preparationClasses; cacheKey = gcsHashFn(node, fullClassName); timings = computeTimings(node, fullClassName, cacheKey); @@ -1420,7 +1425,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { } if (flags.applyAnimationDelay) { - relativeDelay = typeof options.delay !== "boolean" && truthyTimingValue(options.delay) + relativeDelay = typeof options.delay !== 'boolean' && truthyTimingValue(options.delay) ? parseFloat(options.delay) : relativeDelay; @@ -1512,7 +1517,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { }]; }]; -var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationProvider) { +var $$AnimateCssDriverProvider = ['$$animationProvider', /** @this */ function($$animationProvider) { $$animationProvider.drivers.push('$$animateCssDriver'); var NG_ANIMATE_SHIM_CLASS_NAME = 'ng-animate-shim'; @@ -1541,8 +1546,6 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro isDocumentFragment(rootNode) || bodyNode.contains(rootNode) ? rootNode : bodyNode ); - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - return function initDriverFn(animationDetails) { return animationDetails.from && animationDetails.to ? prepareFromToAnchorAnimation(animationDetails.from, @@ -1784,7 +1787,7 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro // TODO(matsko): add documentation // by the time... -var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { +var $$AnimateJsProvider = ['$animateProvider', /** @this */ function($animateProvider) { this.$get = ['$injector', '$$AnimateRunner', '$$jqLite', function($injector, $$AnimateRunner, $$jqLite) { @@ -1823,7 +1826,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { var before, after; if (animations.length) { var afterFn, beforeFn; - if (event == 'leave') { + if (event === 'leave') { beforeFn = 'leave'; afterFn = 'afterLeave'; // TODO(matsko): get rid of this } else { @@ -2008,7 +2011,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { function packageAnimations(element, event, options, animations, fnName) { var operations = groupEventedAnimations(element, event, options, animations, fnName); if (operations.length === 0) { - var a,b; + var a, b; if (fnName === 'beforeSetClass') { a = groupEventedAnimations(element, 'removeClass', options, animations, 'beforeRemoveClass'); b = groupEventedAnimations(element, 'addClass', options, animations, 'beforeAddClass'); @@ -2036,11 +2039,19 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { }); } - runners.length ? $$AnimateRunner.all(runners, callback) : callback(); + if (runners.length) { + $$AnimateRunner.all(runners, callback); + } else { + callback(); + } return function endFn(reject) { forEach(runners, function(runner) { - reject ? runner.cancel() : runner.end(); + if (reject) { + runner.cancel(); + } else { + runner.end(); + } }); }; }; @@ -2050,7 +2061,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { function lookupAnimations(classes) { classes = isArray(classes) ? classes : classes.split(' '); var matches = [], flagMap = {}; - for (var i=0; i < classes.length; i++) { + for (var i = 0; i < classes.length; i++) { var klass = classes[i], animationFactory = $animateProvider.$$registeredAnimations[klass]; if (animationFactory && !flagMap[klass]) { @@ -2063,7 +2074,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { }]; }]; -var $$AnimateJsDriverProvider = ['$$animationProvider', function($$animationProvider) { +var $$AnimateJsDriverProvider = ['$$animationProvider', /** @this */ function($$animationProvider) { $$animationProvider.drivers.push('$$animateJsDriver'); this.$get = ['$$animateJs', '$$AnimateRunner', function($$animateJs, $$AnimateRunner) { return function initDriverFn(animationDetails) { @@ -2125,7 +2136,7 @@ var $$AnimateJsDriverProvider = ['$$animationProvider', function($$animationProv var NG_ANIMATE_ATTR_NAME = 'data-ng-animate'; var NG_ANIMATE_PIN_DATA = '$ngAnimatePin'; -var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { +var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animateProvider) { var PRE_DIGEST_STATE = 1; var RUNNING_STATE = 2; var ONE_SPACE = ' '; @@ -2159,9 +2170,9 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } } - function isAllowed(ruleType, element, currentAnimation, previousAnimation) { + function isAllowed(ruleType, currentAnimation, previousAnimation) { return rules[ruleType].some(function(fn) { - return fn(element, currentAnimation, previousAnimation); + return fn(currentAnimation, previousAnimation); }); } @@ -2171,40 +2182,40 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return and ? a && b : a || b; } - rules.join.push(function(element, newAnimation, currentAnimation) { + rules.join.push(function(newAnimation, currentAnimation) { // if the new animation is class-based then we can just tack that on return !newAnimation.structural && hasAnimationClasses(newAnimation); }); - rules.skip.push(function(element, newAnimation, currentAnimation) { + rules.skip.push(function(newAnimation, currentAnimation) { // there is no need to animate anything if no classes are being added and // there is no structural animation that will be triggered return !newAnimation.structural && !hasAnimationClasses(newAnimation); }); - rules.skip.push(function(element, newAnimation, currentAnimation) { + rules.skip.push(function(newAnimation, currentAnimation) { // why should we trigger a new structural animation if the element will // be removed from the DOM anyway? - return currentAnimation.event == 'leave' && newAnimation.structural; + return currentAnimation.event === 'leave' && newAnimation.structural; }); - rules.skip.push(function(element, newAnimation, currentAnimation) { + rules.skip.push(function(newAnimation, currentAnimation) { // if there is an ongoing current animation then don't even bother running the class-based animation return currentAnimation.structural && currentAnimation.state === RUNNING_STATE && !newAnimation.structural; }); - rules.cancel.push(function(element, newAnimation, currentAnimation) { + rules.cancel.push(function(newAnimation, currentAnimation) { // there can never be two structural animations running at the same time return currentAnimation.structural && newAnimation.structural; }); - rules.cancel.push(function(element, newAnimation, currentAnimation) { + rules.cancel.push(function(newAnimation, currentAnimation) { // if the previous animation is already running, but the new animation will // be triggered, but the new animation is structural return currentAnimation.state === RUNNING_STATE && newAnimation.structural; }); - rules.cancel.push(function(element, newAnimation, currentAnimation) { + rules.cancel.push(function(newAnimation, currentAnimation) { // cancel the animation if classes added / removed in both animation cancel each other out, // but only if the current animation isn't structural @@ -2223,13 +2234,15 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return hasMatchingClasses(nA, cR) || hasMatchingClasses(nR, cA); }); - this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$HashMap', + this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$Map', '$$animation', '$$AnimateRunner', '$templateRequest', '$$jqLite', '$$forceReflow', - function($$rAF, $rootScope, $rootElement, $document, $$HashMap, - $$animation, $$AnimateRunner, $templateRequest, $$jqLite, $$forceReflow) { + '$$isDocumentHidden', + function($$rAF, $rootScope, $rootElement, $document, $$Map, + $$animation, $$AnimateRunner, $templateRequest, $$jqLite, $$forceReflow, + $$isDocumentHidden) { - var activeAnimationsLookup = new $$HashMap(); - var disabledElementsLookup = new $$HashMap(); + var activeAnimationsLookup = new $$Map(); + var disabledElementsLookup = new $$Map(); var animationsEnabled = null; function postDigestTaskFactory() { @@ -2281,14 +2294,17 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var callbackRegistry = Object.create(null); - // remember that the classNameFilter is set during the provider/config - // stage therefore we can optimize here and setup a helper function + // remember that the `customFilter`/`classNameFilter` are set during the + // provider/config stage therefore we can optimize here and setup helper functions + var customFilter = $animateProvider.customFilter(); var classNameFilter = $animateProvider.classNameFilter(); - var isAnimatableClassName = !classNameFilter - ? function() { return true; } - : function(className) { - return classNameFilter.test(className); - }; + var returnTrue = function() { return true; }; + + var isAnimatableByFilter = customFilter || returnTrue; + var isAnimatableClassName = !classNameFilter ? returnTrue : function(node, options) { + var className = [node.getAttribute('class'), options.addClass, options.removeClass].join(' '); + return classNameFilter.test(className); + }; var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); @@ -2297,16 +2313,12 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } // IE9-11 has no method "contains" in SVG element and in Node.prototype. Bug #10259. - var contains = window.Node.prototype.contains || function(arg) { - // jshint bitwise: false + var contains = window.Node.prototype.contains || /** @this */ function(arg) { + // eslint-disable-next-line no-bitwise return this === arg || !!(this.compareDocumentPosition(arg) & 16); - // jshint bitwise: true }; - function findCallbacks(parent, element, event) { - var targetNode = getDomNode(element); - var targetParentNode = getDomNode(parent); - + function findCallbacks(targetParentNode, targetNode, event) { var matches = []; var entries = callbackRegistry[event]; if (entries) { @@ -2331,11 +2343,11 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { }); } - function cleanupEventListeners(phase, element) { - if (phase === 'close' && !element[0].parentNode) { + function cleanupEventListeners(phase, node) { + if (phase === 'close' && !node.parentNode) { // If the element is not attached to a parentNode, it has been removed by // the domOperation, and we can safely remove the event callbacks - $animate.off(element); + $animate.off(node); } } @@ -2416,7 +2428,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { bool = !disabledElementsLookup.get(node); } else { // (element, bool) - Element setter - disabledElementsLookup.put(node, !bool); + disabledElementsLookup.set(node, !bool); } } } @@ -2427,18 +2439,15 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return $animate; - function queueAnimation(element, event, initialOptions) { + function queueAnimation(originalElement, event, initialOptions) { // we always make a copy of the options since // there should never be any side effects on // the input data when running `$animateCss`. var options = copy(initialOptions); - var node, parent; - element = stripCommentsFromElement(element); - if (element) { - node = getDomNode(element); - parent = element.parent(); - } + var element = stripCommentsFromElement(originalElement); + var node = getDomNode(element); + var parentNode = node && node.parentNode; options = prepareAnimationOptions(options); @@ -2473,37 +2482,33 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { options.to = null; } - // there are situations where a directive issues an animation for - // a jqLite wrapper that contains only comment nodes... If this - // happens then there is no way we can perform an animation - if (!node) { - close(); - return runner; - } - - var className = [node.className, options.addClass, options.removeClass].join(' '); - if (!isAnimatableClassName(className)) { + // If animations are hard-disabled for the whole application there is no need to continue. + // There are also situations where a directive issues an animation for a jqLite wrapper that + // contains only comment nodes. In this case, there is no way we can perform an animation. + if (!animationsEnabled || + !node || + !isAnimatableByFilter(node, event, initialOptions) || + !isAnimatableClassName(node, options)) { close(); return runner; } var isStructural = ['enter', 'move', 'leave'].indexOf(event) >= 0; - var documentHidden = $document[0].hidden; + var documentHidden = $$isDocumentHidden(); - // this is a hard disable of all animations for the application or on - // the element itself, therefore there is no need to continue further - // past this point if not enabled + // This is a hard disable of all animations the element itself, therefore there is no need to + // continue further past this point if not enabled // Animations are also disabled if the document is currently hidden (page is not visible // to the user), because browsers slow down or do not flush calls to requestAnimationFrame - var skipAnimations = !animationsEnabled || documentHidden || disabledElementsLookup.get(node); + var skipAnimations = documentHidden || disabledElementsLookup.get(node); var existingAnimation = (!skipAnimations && activeAnimationsLookup.get(node)) || {}; var hasExistingAnimation = !!existingAnimation.state; // there is no point in traversing the same collection of parent ancestors if a followup // animation will be run on the same element that already did all that checking work - if (!skipAnimations && (!hasExistingAnimation || existingAnimation.state != PRE_DIGEST_STATE)) { - skipAnimations = !areAnimationsAllowed(element, parent, event); + if (!skipAnimations && (!hasExistingAnimation || existingAnimation.state !== PRE_DIGEST_STATE)) { + skipAnimations = !areAnimationsAllowed(node, parentNode, event); } if (skipAnimations) { @@ -2515,7 +2520,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } if (isStructural) { - closeChildAnimations(element); + closeChildAnimations(node); } var newAnimation = { @@ -2530,7 +2535,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { }; if (hasExistingAnimation) { - var skipAnimationFlag = isAllowed('skip', element, newAnimation, existingAnimation); + var skipAnimationFlag = isAllowed('skip', newAnimation, existingAnimation); if (skipAnimationFlag) { if (existingAnimation.state === RUNNING_STATE) { close(); @@ -2540,7 +2545,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return existingAnimation.runner; } } - var cancelAnimationFlag = isAllowed('cancel', element, newAnimation, existingAnimation); + var cancelAnimationFlag = isAllowed('cancel', newAnimation, existingAnimation); if (cancelAnimationFlag) { if (existingAnimation.state === RUNNING_STATE) { // this will end the animation right away and it is safe @@ -2562,7 +2567,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // a joined animation means that this animation will take over the existing one // so an example would involve a leave animation taking over an enter. Then when // the postDigest kicks in the enter will be ignored. - var joinAnimationFlag = isAllowed('join', element, newAnimation, existingAnimation); + var joinAnimationFlag = isAllowed('join', newAnimation, existingAnimation); if (joinAnimationFlag) { if (existingAnimation.state === RUNNING_STATE) { normalizeAnimationDetails(element, newAnimation); @@ -2596,7 +2601,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { if (!isValidAnimation) { close(); - clearElementAnimationState(element); + clearElementAnimationState(node); return runner; } @@ -2604,9 +2609,18 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var counter = (existingAnimation.counter || 0) + 1; newAnimation.counter = counter; - markElementAnimationState(element, PRE_DIGEST_STATE, newAnimation); + markElementAnimationState(node, PRE_DIGEST_STATE, newAnimation); $rootScope.$$postDigest(function() { + // It is possible that the DOM nodes inside `originalElement` have been replaced. This can + // happen if the animated element is a transcluded clone and also has a `templateUrl` + // directive on it. Therefore, we must recreate `element` in order to interact with the + // actual DOM nodes. + // Note: We still need to use the old `node` for certain things, such as looking up in + // HashMaps where it was used as the key. + + element = stripCommentsFromElement(originalElement); + var animationDetails = activeAnimationsLookup.get(node); var animationCancelled = !animationDetails; animationDetails = animationDetails || {}; @@ -2645,7 +2659,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // isn't allowed to animate from here then we need to clear the state of the element // so that any future animations won't read the expired animation data. if (!isValidAnimation) { - clearElementAnimationState(element); + clearElementAnimationState(node); } return; @@ -2657,7 +2671,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { ? 'setClass' : animationDetails.event; - markElementAnimationState(element, RUNNING_STATE); + markElementAnimationState(node, RUNNING_STATE); var realRunner = $$animation(element, event, animationDetails.options); // this will update the runner's flow-control events based on @@ -2669,7 +2683,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { close(!status); var animationDetails = activeAnimationsLookup.get(node); if (animationDetails && animationDetails.counter === counter) { - clearElementAnimationState(getDomNode(element)); + clearElementAnimationState(node); } notifyProgress(runner, event, 'close', {}); }); @@ -2679,7 +2693,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { function notifyProgress(runner, event, phase, data) { runInNextPostDigestOrNow(function() { - var callbacks = findCallbacks(parent, element, event); + var callbacks = findCallbacks(parentNode, node, event); if (callbacks.length) { // do not optimize this call here to RAF because // we don't know how heavy the callback code here will @@ -2689,16 +2703,16 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { forEach(callbacks, function(callback) { callback(element, phase, data); }); - cleanupEventListeners(phase, element); + cleanupEventListeners(phase, node); }); } else { - cleanupEventListeners(phase, element); + cleanupEventListeners(phase, node); } }); runner.progress(event, phase, data); } - function close(reject) { // jshint ignore:line + function close(reject) { clearGeneratedClasses(element, options); applyAnimationClasses(element, options); applyAnimationStyles(element, options); @@ -2707,11 +2721,10 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } } - function closeChildAnimations(element) { - var node = getDomNode(element); + function closeChildAnimations(node) { var children = node.querySelectorAll('[' + NG_ANIMATE_ATTR_NAME + ']'); forEach(children, function(child) { - var state = parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME)); + var state = parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME), 10); var animationDetails = activeAnimationsLookup.get(child); if (animationDetails) { switch (state) { @@ -2719,21 +2732,16 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { animationDetails.runner.end(); /* falls through */ case PRE_DIGEST_STATE: - activeAnimationsLookup.remove(child); + activeAnimationsLookup.delete(child); break; } } }); } - function clearElementAnimationState(element) { - var node = getDomNode(element); + function clearElementAnimationState(node) { node.removeAttribute(NG_ANIMATE_ATTR_NAME); - activeAnimationsLookup.remove(node); - } - - function isMatchingElement(nodeOrElmA, nodeOrElmB) { - return getDomNode(nodeOrElmA) === getDomNode(nodeOrElmB); + activeAnimationsLookup.delete(node); } /** @@ -2743,54 +2751,54 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { * c) the element is not a child of the body * d) the element is not a child of the $rootElement */ - function areAnimationsAllowed(element, parentElement, event) { - var bodyElement = jqLite($document[0].body); - var bodyElementDetected = isMatchingElement(element, bodyElement) || element[0].nodeName === 'HTML'; - var rootElementDetected = isMatchingElement(element, $rootElement); - var parentAnimationDetected = false; - var animateChildren; - var elementDisabled = disabledElementsLookup.get(getDomNode(element)); + function areAnimationsAllowed(node, parentNode, event) { + var bodyNode = $document[0].body; + var rootNode = getDomNode($rootElement); - var parentHost = jqLite.data(element[0], NG_ANIMATE_PIN_DATA); + var bodyNodeDetected = (node === bodyNode) || node.nodeName === 'HTML'; + var rootNodeDetected = (node === rootNode); + var parentAnimationDetected = false; + var elementDisabled = disabledElementsLookup.get(node); + var animateChildren; + + var parentHost = jqLite.data(node, NG_ANIMATE_PIN_DATA); if (parentHost) { - parentElement = parentHost; + parentNode = getDomNode(parentHost); } - parentElement = getDomNode(parentElement); - - while (parentElement) { - if (!rootElementDetected) { + while (parentNode) { + if (!rootNodeDetected) { // angular doesn't want to attempt to animate elements outside of the application // therefore we need to ensure that the rootElement is an ancestor of the current element - rootElementDetected = isMatchingElement(parentElement, $rootElement); + rootNodeDetected = (parentNode === rootNode); } - if (parentElement.nodeType !== ELEMENT_NODE) { + if (parentNode.nodeType !== ELEMENT_NODE) { // no point in inspecting the #document element break; } - var details = activeAnimationsLookup.get(parentElement) || {}; + var details = activeAnimationsLookup.get(parentNode) || {}; // either an enter, leave or move animation will commence // therefore we can't allow any animations to take place // but if a parent animation is class-based then that's ok if (!parentAnimationDetected) { - var parentElementDisabled = disabledElementsLookup.get(parentElement); + var parentNodeDisabled = disabledElementsLookup.get(parentNode); - if (parentElementDisabled === true && elementDisabled !== false) { + if (parentNodeDisabled === true && elementDisabled !== false) { // disable animations if the user hasn't explicitly enabled animations on the // current element elementDisabled = true; // element is disabled via parent element, no need to check anything else break; - } else if (parentElementDisabled === false) { + } else if (parentNodeDisabled === false) { elementDisabled = false; } parentAnimationDetected = details.structural; } if (isUndefined(animateChildren) || animateChildren === true) { - var value = jqLite.data(parentElement, NG_ANIMATE_CHILDREN_DATA); + var value = jqLite.data(parentNode, NG_ANIMATE_CHILDREN_DATA); if (isDefined(value)) { animateChildren = value; } @@ -2799,52 +2807,53 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // there is no need to continue traversing at this point if (parentAnimationDetected && animateChildren === false) break; - if (!bodyElementDetected) { + if (!bodyNodeDetected) { // we also need to ensure that the element is or will be a part of the body element // otherwise it is pointless to even issue an animation to be rendered - bodyElementDetected = isMatchingElement(parentElement, bodyElement); + bodyNodeDetected = (parentNode === bodyNode); } - if (bodyElementDetected && rootElementDetected) { + if (bodyNodeDetected && rootNodeDetected) { // If both body and root have been found, any other checks are pointless, // as no animation data should live outside the application break; } - if (!rootElementDetected) { - // If no rootElement is detected, check if the parentElement is pinned to another element - parentHost = jqLite.data(parentElement, NG_ANIMATE_PIN_DATA); + if (!rootNodeDetected) { + // If `rootNode` is not detected, check if `parentNode` is pinned to another element + parentHost = jqLite.data(parentNode, NG_ANIMATE_PIN_DATA); if (parentHost) { // The pin target element becomes the next parent element - parentElement = getDomNode(parentHost); + parentNode = getDomNode(parentHost); continue; } } - parentElement = parentElement.parentNode; + parentNode = parentNode.parentNode; } var allowAnimation = (!parentAnimationDetected || animateChildren) && elementDisabled !== true; - return allowAnimation && rootElementDetected && bodyElementDetected; + return allowAnimation && rootNodeDetected && bodyNodeDetected; } - function markElementAnimationState(element, state, details) { + function markElementAnimationState(node, state, details) { details = details || {}; details.state = state; - var node = getDomNode(element); node.setAttribute(NG_ANIMATE_ATTR_NAME, state); var oldValue = activeAnimationsLookup.get(node); var newValue = oldValue ? extend(oldValue, details) : details; - activeAnimationsLookup.put(node, newValue); + activeAnimationsLookup.set(node, newValue); } }]; }]; -var $$AnimationProvider = ['$animateProvider', function($animateProvider) { +/* exported $$AnimationProvider */ + +var $$AnimationProvider = ['$animateProvider', /** @this */ function($animateProvider) { var NG_ANIMATE_REF_ATTR = 'ng-animate-ref'; var drivers = this.drivers = []; @@ -2863,21 +2872,21 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { return element.data(RUNNER_STORAGE_KEY); } - this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$HashMap', '$$rAFScheduler', - function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$HashMap, $$rAFScheduler) { + this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$Map', '$$rAFScheduler', + function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$Map, $$rAFScheduler) { var animationQueue = []; var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); function sortAnimations(animations) { var tree = { children: [] }; - var i, lookup = new $$HashMap(); + var i, lookup = new $$Map(); - // this is done first beforehand so that the hashmap + // this is done first beforehand so that the map // is filled with a list of the elements that will be animated for (i = 0; i < animations.length; i++) { var animation = animations[i]; - lookup.put(animation.domNode, animations[i] = { + lookup.set(animation.domNode, animations[i] = { domNode: animation.domNode, fn: animation.fn, children: [] @@ -2896,7 +2905,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { var elementNode = entry.domNode; var parentNode = elementNode.parentNode; - lookup.put(elementNode, entry); + lookup.set(elementNode, entry); var parentEntry; while (parentNode) { @@ -3232,7 +3241,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { } } - function close(rejected) { // jshint ignore:line + function close(rejected) { element.off('$destroy', handleDestroyedElement); removeRunner(element); @@ -3403,7 +3412,7 @@ var ngAnimateSwapDirective = ['$animate', '$rootScope', function($animate, $root * ## CSS-based Animations * * CSS-based animations with ngAnimate are unique since they require no JavaScript code at all. By using a CSS class that we reference between our HTML - * and CSS code we can create an animation that will be picked up by Angular when an the underlying directive performs an operation. + * and CSS code we can create an animation that will be picked up by Angular when an underlying directive performs an operation. * * The example below shows how an `enter` animation can be made possible on an element using `ng-if`: * @@ -3543,6 +3552,10 @@ var ngAnimateSwapDirective = ['$animate', '$rootScope', function($animate, $root * /* As of 1.4.4, this must always be set: it signals ngAnimate * to not accidentally inherit a delay property from another CSS class */ * transition-duration: 0s; + * + * /* if you are using animations instead of transitions you should configure as follows: + * animation-delay: 0.1s; + * animation-duration: 0s; */ * } * .my-animation.ng-enter.ng-enter-active { * /* standard transition styles */ @@ -3898,7 +3911,7 @@ var ngAnimateSwapDirective = ['$animate', '$rootScope', function($animate, $root deps="angular-animate.js;angular-route.js" animations="true"> - Home + Home
@@ -3918,22 +3931,23 @@ var ngAnimateSwapDirective = ['$animate', '$rootScope', function($animate, $root }]) .run(['$rootScope', function($rootScope) { $rootScope.records = [ - { id:1, title: "Miss Beulah Roob" }, - { id:2, title: "Trent Morissette" }, - { id:3, title: "Miss Ava Pouros" }, - { id:4, title: "Rod Pouros" }, - { id:5, title: "Abdul Rice" }, - { id:6, title: "Laurie Rutherford Sr." }, - { id:7, title: "Nakia McLaughlin" }, - { id:8, title: "Jordon Blanda DVM" }, - { id:9, title: "Rhoda Hand" }, - { id:10, title: "Alexandrea Sauer" } + { id: 1, title: 'Miss Beulah Roob' }, + { id: 2, title: 'Trent Morissette' }, + { id: 3, title: 'Miss Ava Pouros' }, + { id: 4, title: 'Rod Pouros' }, + { id: 5, title: 'Abdul Rice' }, + { id: 6, title: 'Laurie Rutherford Sr.' }, + { id: 7, title: 'Nakia McLaughlin' }, + { id: 8, title: 'Jordon Blanda DVM' }, + { id: 9, title: 'Rhoda Hand' }, + { id: 10, title: 'Alexandrea Sauer' } ]; }]) .controller('HomeController', [function() { //empty }]) - .controller('ProfileController', ['$rootScope', '$routeParams', function($rootScope, $routeParams) { + .controller('ProfileController', ['$rootScope', '$routeParams', + function ProfileController($rootScope, $routeParams) { var index = parseInt($routeParams.id, 10); var record = $rootScope.records[index - 1]; @@ -3945,7 +3959,7 @@ var ngAnimateSwapDirective = ['$animate', '$rootScope', function($animate, $root

Welcome to the home page

Please click on an element

{{ record.title }} @@ -4121,6 +4135,7 @@ angular.module('ngAnimate', [], function initAngularHelpers() { isFunction = angular.isFunction; isElement = angular.isElement; }) + .info({ angularVersion: '1.6.6' }) .directive('ngAnimateSwap', ngAnimateSwapDirective) .directive('ngAnimateChildren', $$AnimateChildrenDirective) diff --git a/public/app/vendor/node_modules/angular-animate/angular-animate.min.js b/public/app/vendor/node_modules/angular-animate/angular-animate.min.js index b4087ed1..4157461d 100644 --- a/public/app/vendor/node_modules/angular-animate/angular-animate.min.js +++ b/public/app/vendor/node_modules/angular-animate/angular-animate.min.js @@ -1,57 +1,57 @@ /* - AngularJS v1.5.8 - (c) 2010-2016 Google, Inc. http://angularjs.org + AngularJS v1.6.6 + (c) 2010-2017 Google, Inc. http://angularjs.org License: MIT */ -(function(R,B){'use strict';function Da(a,b,c){if(!a)throw Ma("areq",b||"?",c||"required");return a}function Ea(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;Y(a)&&(a=a.join(" "));Y(b)&&(b=b.join(" "));return a+" "+b}function Na(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function Z(a,b,c){var d="";a=Y(a)?a:a&&G(a)&&a.length?a.split(/\s+/):[];s(a,function(a,l){a&&0=a&&(a=e,e=0,b.push(k),k=[]);k.push(g.fn);g.children.forEach(function(a){e++;c.push(a)});a--}k.length&&b.push(k);return b}(c)}var u=[],C=V(a);return function(n,Q,t){function H(a){a= -a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];s(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function T(a){var b=[],c={};s(a,function(a,d){var h=y(a.element),e=0<=["enter","move"].indexOf(a.event),h=a.structural?H(h):[];if(h.length){var k=e?"to":"from";s(h,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][k]={animationID:d,element:F(a)}})}else b.push(a)});var d={},e={};s(c,function(c,k){var r=c.from, -p=c.to;if(r&&p){var z=a[r.animationID],g=a[p.animationID],A=r.animationID.toString();if(!e[A]){var n=e[A]={structural:!0,beforeStart:function(){z.beforeStart();g.beforeStart()},close:function(){z.close();g.close()},classes:O(z.classes,g.classes),from:z,to:g,anchors:[]};n.classes.length?b.push(n):(b.push(z),b.push(g))}e[A].anchors.push({out:r.element,"in":p.element})}else r=r?r.animationID:p.animationID,p=r.toString(),d[p]||(d[p]=!0,b.push(a[r]))});return b}function O(a,b){a=a.split(" ");b=b.split(" "); -for(var c=[],d=0;d=R&&b>=m&&(F=!0,k())}function N(){function b(){if(!w){M(!1);s(x,function(a){h.style[a[0]]=a[1]});T(a,f);e.addClass(a,ea);if(q.recalculateTimingStyles){na= -h.className+" "+ga;ia=B(h,na);D=H(h,na,ia);ca=D.maxDelay;J=Math.max(ca,0);m=D.maxDuration;if(0===m){k();return}q.hasTransitions=0l.expectedEndTime)?n.cancel(l.timer):g.push(k)}N&&(p=n(c,p,!1),g[0]={timer:p,expectedEndTime:d},g.push(k),a.data("$$animateCss",g));if(fa.length)a.on(fa.join(" "),z);f.to&&(f.cleanupStyles&&Ka(A,h,Object.keys(f.to)),Ga(a,f))}}function c(){var b=a.data("$$animateCss");if(b){for(var d=1;d=a&&(a=g,g=0,b.push(e),e=[]);e.push(f.fn);f.children.forEach(function(a){g++;c.push(a)});a--}e.length&&b.push(e);return b}(c)}var s=[],y=X(a);return function(n,q,v){function E(a){a=a.hasAttribute("ng-animate-ref")? +[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];t(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function g(a){var b=[],c={};t(a,function(a,d){var k=J(a.element),g=0<=["enter","move"].indexOf(a.event),k=a.structural?E(k):[];if(k.length){var e=g?"to":"from";t(k,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][e]={animationID:d,element:A(a)}})}else b.push(a)});var d={},g={};t(c,function(c,e){var f=c.from,p=c.to;if(f&&p){var H=a[f.animationID], +z=a[p.animationID],m=f.animationID.toString();if(!g[m]){var l=g[m]={structural:!0,beforeStart:function(){H.beforeStart();z.beforeStart()},close:function(){H.close();z.close()},classes:M(H.classes,z.classes),from:H,to:z,anchors:[]};l.classes.length?b.push(l):(b.push(H),b.push(z))}g[m].anchors.push({out:f.element,"in":p.element})}else f=f?f.animationID:p.animationID,p=f.toString(),d[p]||(d[p]=!0,b.push(a[f]))});return b}function M(a,b){a=a.split(" ");b=b.split(" ");for(var c=[],d=0;d=P&&b>=N&&(ba=!0,m())}function ga(){function b(){if(!M){L(!1);t(x,function(a){k.style[a[0]]=a[1]});g(a,h);e.addClass(a,ca); +if(r.recalculateTimingStyles){ma=k.getAttribute("class")+" "+fa;ja=q(k,ma);B=E(k,ma,ja);$=B.maxDelay;w=Math.max($,0);N=B.maxDuration;if(0===N){m();return}r.hasTransitions=0s.expectedEndTime)?n.cancel(s.timer):f.push(m)}F&&(l=n(c,l,!1),f[0]={timer:l,expectedEndTime:d},f.push(m),a.data("$$animateCss",f));if(ea.length)a.on(ea.join(" "),z);h.to&&(h.cleanupStyles&&Ma(p,k,Object.keys(h.to)),Ia(a,h))}}function c(){var b=a.data("$$animateCss"); +if(b){for(var d=1;d= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-br.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-br.js index 85ed9e2f..0e2332a3 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-br.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-br.js @@ -17,8 +17,8 @@ $provide.value("$locale", { "s\u00e1bado" ], "ERANAMES": [ - "Antes de Cristo", - "Ano do Senhor" + "antes de Cristo", + "depois de Cristo" ], "ERAS": [ "a.C.", @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "d 'de' MMM 'de' y HH:mm:ss", "mediumDate": "d 'de' MMM 'de' y", "mediumTime": "HH:mm:ss", - "short": "dd/MM/yy HH:mm", - "shortDate": "dd/MM/yy", + "short": "dd/MM/y HH:mm", + "shortDate": "dd/MM/y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-br", "localeID": "pt_BR", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-ch.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-ch.js index 87f74d19..7fffa720 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-ch.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-ch.js @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-ch", "localeID": "pt_CH", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-cv.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-cv.js index 1f2a2879..00a0b2fe 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-cv.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-cv.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-cv", "localeID": "pt_CV", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gq.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gq.js index e2829f1c..f9862d17 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gq.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gq.js @@ -108,8 +108,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-gq", "localeID": "pt_GQ", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gw.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gw.js index 9e73f1b0..dd86bc38 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gw.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-gw.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -108,8 +108,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-gw", "localeID": "pt_GW", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-lu.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-lu.js index df5ebbc3..fcb132dc 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-lu.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-lu.js @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-lu", "localeID": "pt_LU", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mo.js index 1ab1912f..3122fb0f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mo.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d 'de' MMMM 'de' y", "longDate": "d 'de' MMMM 'de' y", - "medium": "dd/MM/y HH:mm:ss", + "medium": "dd/MM/y h:mm:ss a", "mediumDate": "dd/MM/y", - "mediumTime": "HH:mm:ss", - "short": "dd/MM/yy HH:mm", + "mediumTime": "h:mm:ss a", + "short": "dd/MM/yy h:mm a", "shortDate": "dd/MM/yy", - "shortTime": "HH:mm" + "shortTime": "h:mm a" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "MOP", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-mo", "localeID": "pt_MO", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mz.js index 18c42f7a..fdf84c6b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-mz.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-mz", "localeID": "pt_MZ", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-pt.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-pt.js index dbaeea6f..30146f67 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-pt.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-pt.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-pt", "localeID": "pt_PT", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-st.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-st.js index 4d1a1752..67856550 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-st.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-st.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -108,8 +108,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-st", "localeID": "pt_ST", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-tl.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-tl.js index 0e4e281d..57b2fdca 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-tl.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt-tl.js @@ -40,13 +40,13 @@ $provide.value("$locale", { "dezembro" ], "SHORTDAY": [ - "dom", - "seg", - "ter", - "qua", - "qui", - "sex", - "s\u00e1b" + "domingo", + "segunda", + "ter\u00e7a", + "quarta", + "quinta", + "sexta", + "s\u00e1bado" ], "SHORTMONTH": [ "jan", @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt-tl", "localeID": "pt_TL", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt.js index 5b3e4420..b7c915ce 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_pt.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_pt.js @@ -17,8 +17,8 @@ $provide.value("$locale", { "s\u00e1bado" ], "ERANAMES": [ - "Antes de Cristo", - "Ano do Senhor" + "antes de Cristo", + "depois de Cristo" ], "ERAS": [ "a.C.", @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "d 'de' MMM 'de' y HH:mm:ss", "mediumDate": "d 'de' MMM 'de' y", "mediumTime": "HH:mm:ss", - "short": "dd/MM/yy HH:mm", - "shortDate": "dd/MM/yy", + "short": "dd/MM/y HH:mm", + "shortDate": "dd/MM/y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -120,6 +120,6 @@ $provide.value("$locale", { }, "id": "pt", "localeID": "pt", - "pluralCat": function(n, opt_precision) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} + "pluralCat": function(n, opt_precision) { var i = n | 0; if (i >= 0 && i <= 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-bo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-bo.js index b31aa612..b1fbf1ee 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-bo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-bo.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "BCE", "d.C." ], - "FIRSTDAYOFWEEK": 6, + "FIRSTDAYOFWEEK": 0, "MONTH": [ "Qulla puquy", "Hatun puquy", @@ -99,13 +99,13 @@ $provide.value("$locale", { 6 ], "fullDate": "EEEE, d MMMM, y", - "longDate": "y MMMM d", - "medium": "y MMM d hh:mm:ss a", - "mediumDate": "y MMM d", - "mediumTime": "hh:mm:ss a", - "short": "dd/MM/y hh:mm a", + "longDate": "d MMMM y", + "medium": "d MMM y HH:mm:ss", + "mediumDate": "d MMM y", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "hh:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Bs", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-ec.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-ec.js index 45c55aaa..4266caf0 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-ec.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-ec.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "BCE", "d.C." ], - "FIRSTDAYOFWEEK": 6, + "FIRSTDAYOFWEEK": 0, "MONTH": [ "Qulla puquy", "Hatun puquy", @@ -99,13 +99,13 @@ $provide.value("$locale", { 6 ], "fullDate": "EEEE, d MMMM, y", - "longDate": "y MMMM d", - "medium": "y MMM d hh:mm:ss a", - "mediumDate": "y MMM d", - "mediumTime": "hh:mm:ss a", - "short": "dd/MM/y hh:mm a", + "longDate": "d MMMM y", + "medium": "d MMM y HH:mm:ss", + "mediumDate": "d MMM y", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "hh:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "$", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-pe.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-pe.js index 32fe7d47..f440a623 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-pe.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu-pe.js @@ -99,13 +99,13 @@ $provide.value("$locale", { 6 ], "fullDate": "EEEE, d MMMM, y", - "longDate": "y MMMM d", - "medium": "y MMM d hh:mm:ss a", - "mediumDate": "y MMM d", - "mediumTime": "hh:mm:ss a", - "short": "dd/MM/y hh:mm a", + "longDate": "d MMMM y", + "medium": "d MMM y HH:mm:ss", + "mediumDate": "d MMM y", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "hh:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "S/.", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu.js index 7b9a9c72..5688150d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_qu.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_qu.js @@ -99,13 +99,13 @@ $provide.value("$locale", { 6 ], "fullDate": "EEEE, d MMMM, y", - "longDate": "y MMMM d", - "medium": "y MMM d hh:mm:ss a", - "mediumDate": "y MMM d", - "mediumTime": "hh:mm:ss a", - "short": "dd/MM/y hh:mm a", + "longDate": "d MMMM y", + "medium": "d MMM y HH:mm:ss", + "mediumDate": "d MMM y", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "hh:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "S/.", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rm-ch.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rm-ch.js index 4e80899a..25d9d323 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rm-ch.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rm-ch.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "am", - "sm" + "AM", + "PM" ], "DAY": [ "dumengia", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rm.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rm.js index bb3a11bf..179220af 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rm.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rm.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "am", - "sm" + "AM", + "PM" ], "DAY": [ "dumengia", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rn-bi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rn-bi.js index 806d589b..c5177650 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rn-bi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rn-bi.js @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-md.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-md.js index 4bb6f08e..5213ad47 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-md.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-md.js @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Ianuarie", - "Februarie", - "Martie", - "Aprilie", - "Mai", - "Iunie", - "Iulie", - "August", - "Septembrie", - "Octombrie", - "Noiembrie", - "Decembrie" + "ianuarie", + "februarie", + "martie", + "aprilie", + "mai", + "iunie", + "iulie", + "august", + "septembrie", + "octombrie", + "noiembrie", + "decembrie" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-ro.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-ro.js index ee845270..93316258 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-ro.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro-ro.js @@ -58,13 +58,13 @@ $provide.value("$locale", { "decembrie" ], "SHORTDAY": [ - "Dum", - "Lun", - "Mar", - "Mie", - "Joi", - "Vin", - "S\u00e2m" + "dum.", + "lun.", + "mar.", + "mie.", + "joi", + "vin.", + "s\u00e2m." ], "SHORTMONTH": [ "ian.", @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Ianuarie", - "Februarie", - "Martie", - "Aprilie", - "Mai", - "Iunie", - "Iulie", - "August", - "Septembrie", - "Octombrie", - "Noiembrie", - "Decembrie" + "ianuarie", + "februarie", + "martie", + "aprilie", + "mai", + "iunie", + "iulie", + "august", + "septembrie", + "octombrie", + "noiembrie", + "decembrie" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro.js index 355646ef..02bfbe2b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ro.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ro.js @@ -58,13 +58,13 @@ $provide.value("$locale", { "decembrie" ], "SHORTDAY": [ - "Dum", - "Lun", - "Mar", - "Mie", - "Joi", - "Vin", - "S\u00e2m" + "dum.", + "lun.", + "mar.", + "mie.", + "joi", + "vin.", + "s\u00e2m." ], "SHORTMONTH": [ "ian.", @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Ianuarie", - "Februarie", - "Martie", - "Aprilie", - "Mai", - "Iunie", - "Iulie", - "August", - "Septembrie", - "Octombrie", - "Noiembrie", - "Decembrie" + "ianuarie", + "februarie", + "martie", + "aprilie", + "mai", + "iunie", + "iulie", + "august", + "septembrie", + "octombrie", + "noiembrie", + "decembrie" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rof-tz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rof-tz.js index bced9f20..a36b94f0 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rof-tz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rof-tz.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rof.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rof.js index d54daaa4..2d62de25 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rof.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rof.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-by.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-by.js index 0b45136c..fd75de25 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-by.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-by.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,12 +103,12 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "BYR", + "CURRENCY_SYM": "BYN", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kg.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kg.js index 8d9a6a56..302ab2af 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kg.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kg.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,8 +103,8 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kz.js index 0d7072b8..57e1a52d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-kz.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,8 +103,8 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-md.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-md.js index 7f1e9aaf..b3837e02 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-md.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-md.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,8 +103,8 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ru.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ru.js index bd249f6c..34d44316 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ru.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ru.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,12 +103,12 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u0440\u0443\u0431.", + "CURRENCY_SYM": "\u20bd", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ua.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ua.js index bbf7b33d..0958afad 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ua.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru-ua.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,12 +103,12 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. HH:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "HH:mm:ss", - "short": "dd.MM.yy HH:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y HH:mm", + "shortDate": "dd.MM.y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u20b4", + "CURRENCY_SYM": "\u0433\u0440\u043d.", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru.js index 1ed06bd0..3e66f05d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ru.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ru.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0414\u041f", + "\u041f\u041f" ], "DAY": [ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u0434\u043e \u043d. \u044d.", - "\u043d. \u044d." + "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430", + "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430" ], "ERAS": [ "\u0434\u043e \u043d. \u044d.", @@ -69,11 +69,11 @@ $provide.value("$locale", { "SHORTMONTH": [ "\u044f\u043d\u0432.", "\u0444\u0435\u0432\u0440.", - "\u043c\u0430\u0440\u0442\u0430", + "\u043c\u0430\u0440.", "\u0430\u043f\u0440.", "\u043c\u0430\u044f", - "\u0438\u044e\u043d\u044f", - "\u0438\u044e\u043b\u044f", + "\u0438\u044e\u043d.", + "\u0438\u044e\u043b.", "\u0430\u0432\u0433.", "\u0441\u0435\u043d\u0442.", "\u043e\u043a\u0442.", @@ -103,12 +103,12 @@ $provide.value("$locale", { "medium": "d MMM y '\u0433'. H:mm:ss", "mediumDate": "d MMM y '\u0433'.", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "dd.MM.y H:mm", + "shortDate": "dd.MM.y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u0440\u0443\u0431.", + "CURRENCY_SYM": "\u20bd", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rw-rw.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rw-rw.js index 1778548c..1210a3a6 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rw-rw.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rw-rw.js @@ -98,13 +98,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", + "fullDate": "y MMMM d, EEEE", "longDate": "y MMMM d", "medium": "y MMM d HH:mm:ss", "mediumDate": "y MMM d", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4\u00a0", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rw.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rw.js index 11806021..bad38189 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rw.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rw.js @@ -98,13 +98,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", + "fullDate": "y MMMM d, EEEE", "longDate": "y MMMM d", "medium": "y MMM d HH:mm:ss", "mediumDate": "y MMM d", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk-tz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk-tz.js index 7e845939..38b85962 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk-tz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk-tz.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk.js index 8d4aae47..8c4a48a7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_rwk.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sah-ru.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sah-ru.js index 24c2aa40..2a90d28c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sah-ru.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sah-ru.js @@ -26,13 +26,13 @@ $provide.value("$locale", { "\u042d\u041a" ], "DAY": [ - "\u0411\u0430\u0441\u043a\u044b\u04bb\u044b\u0430\u043d\u043d\u044c\u0430", - "\u0411\u044d\u043d\u0438\u0434\u0438\u044d\u043b\u0438\u043d\u043d\u044c\u0438\u043a", - "\u041e\u043f\u0442\u0443\u043e\u0440\u0443\u043d\u043d\u044c\u0443\u043a", - "\u0421\u044d\u0440\u044d\u0434\u044d", - "\u0427\u044d\u043f\u043f\u0438\u044d\u0440", + "\u0431\u0430\u0441\u043a\u044b\u04bb\u044b\u0430\u043d\u043d\u044c\u0430", + "\u0431\u044d\u043d\u0438\u0434\u0438\u044d\u043d\u043d\u044c\u0438\u043a", + "\u043e\u043f\u0442\u0443\u043e\u0440\u0443\u043d\u043d\u044c\u0443\u043a", + "\u0441\u044d\u0440\u044d\u0434\u044d", + "\u0447\u044d\u043f\u043f\u0438\u044d\u0440", "\u0411\u044d\u044d\u0442\u0438\u04a5\u0441\u044d", - "\u0421\u0443\u0431\u0443\u043e\u0442\u0430" + "\u0441\u0443\u0431\u0443\u043e\u0442\u0430" ], "ERANAMES": [ "\u0431. \u044d. \u0438.", @@ -55,44 +55,44 @@ $provide.value("$locale", { "\u0411\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u044b\u043d", "\u0410\u043b\u0442\u044b\u043d\u043d\u044c\u044b", "\u0421\u044d\u0442\u0438\u043d\u043d\u044c\u0438", - "\u0410\u0445\u0441\u044b\u043d\u043d\u044c\u044b" + "\u0430\u0445\u0441\u044b\u043d\u043d\u044c\u044b" ], "SHORTDAY": [ - "\u0411\u0441", - "\u0411\u043d", - "\u041e\u043f", - "\u0421\u044d", - "\u0427\u043f", - "\u0411\u044d", - "\u0421\u0431" + "\u0431\u0441", + "\u0431\u043d", + "\u043e\u043f", + "\u0441\u044d", + "\u0447\u043f", + "\u0431\u044d", + "\u0441\u0431" ], "SHORTMONTH": [ "\u0422\u043e\u0445\u0441", "\u041e\u043b\u0443\u043d", - "\u041a\u043b\u043d_\u0442\u0442\u0440", - "\u041c\u0443\u0441_\u0443\u0441\u0442", - "\u042b\u0430\u043c_\u0439\u043d", - "\u0411\u044d\u0441_\u0439\u043d", - "\u041e\u0442_\u0439\u043d", - "\u0410\u0442\u0440\u0434\u044c_\u0439\u043d", - "\u0411\u043b\u0495\u043d_\u0439\u043d", + "\u041a\u043b\u043d", + "\u041c\u0441\u0443", + "\u042b\u0430\u043c", + "\u0411\u044d\u0441", + "\u041e\u0442\u0439", + "\u0410\u0442\u0440", + "\u0411\u043b\u0495", "\u0410\u043b\u0442", "\u0421\u044d\u0442", "\u0410\u0445\u0441" ], "STANDALONEMONTH": [ - "\u0422\u043e\u0445\u0441\u0443\u043d\u043d\u044c\u0443", - "\u041e\u043b\u0443\u043d\u043d\u044c\u0443", - "\u041a\u0443\u043b\u0443\u043d \u0442\u0443\u0442\u0430\u0440", - "\u041c\u0443\u0443\u0441 \u0443\u0441\u0442\u0430\u0440", - "\u042b\u0430\u043c \u044b\u0439\u044b\u043d", - "\u0411\u044d\u0441 \u044b\u0439\u044b\u043d", - "\u041e\u0442 \u044b\u0439\u044b\u043d", - "\u0410\u0442\u044b\u0440\u0434\u044c\u044b\u0445 \u044b\u0439\u044b\u043d", - "\u0411\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u044b\u043d", - "\u0410\u043b\u0442\u044b\u043d\u043d\u044c\u044b", - "\u0421\u044d\u0442\u0438\u043d\u043d\u044c\u0438", - "\u0410\u0445\u0441\u044b\u043d\u043d\u044c\u044b" + "\u0442\u043e\u0445\u0441\u0443\u043d\u043d\u044c\u0443", + "\u043e\u043b\u0443\u043d\u043d\u044c\u0443", + "\u043a\u0443\u043b\u0443\u043d \u0442\u0443\u0442\u0430\u0440", + "\u043c\u0443\u0443\u0441 \u0443\u0441\u0442\u0430\u0440", + "\u044b\u0430\u043c \u044b\u0439\u0430", + "\u0431\u044d\u0441 \u044b\u0439\u0430", + "\u043e\u0442 \u044b\u0439\u0430", + "\u0430\u0442\u044b\u0440\u0434\u044c\u044b\u0445 \u044b\u0439\u0430", + "\u0431\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u0430", + "\u0430\u043b\u0442\u044b\u043d\u043d\u044c\u044b", + "\u0441\u044d\u0442\u0438\u043d\u043d\u044c\u0438", + "\u0430\u0445\u0441\u044b\u043d\u043d\u044c\u044b" ], "WEEKENDRANGE": [ 5, @@ -108,9 +108,9 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u0440\u0443\u0431.", - "DECIMAL_SEP": ".", - "GROUP_SEP": ",", + "CURRENCY_SYM": "\u20bd", + "DECIMAL_SEP": ",", + "GROUP_SEP": "\u00a0", "PATTERNS": [ { "gSize": 3, @@ -129,10 +129,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sah.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sah.js index 8e57afce..f844ac53 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sah.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sah.js @@ -26,13 +26,13 @@ $provide.value("$locale", { "\u042d\u041a" ], "DAY": [ - "\u0411\u0430\u0441\u043a\u044b\u04bb\u044b\u0430\u043d\u043d\u044c\u0430", - "\u0411\u044d\u043d\u0438\u0434\u0438\u044d\u043b\u0438\u043d\u043d\u044c\u0438\u043a", - "\u041e\u043f\u0442\u0443\u043e\u0440\u0443\u043d\u043d\u044c\u0443\u043a", - "\u0421\u044d\u0440\u044d\u0434\u044d", - "\u0427\u044d\u043f\u043f\u0438\u044d\u0440", + "\u0431\u0430\u0441\u043a\u044b\u04bb\u044b\u0430\u043d\u043d\u044c\u0430", + "\u0431\u044d\u043d\u0438\u0434\u0438\u044d\u043d\u043d\u044c\u0438\u043a", + "\u043e\u043f\u0442\u0443\u043e\u0440\u0443\u043d\u043d\u044c\u0443\u043a", + "\u0441\u044d\u0440\u044d\u0434\u044d", + "\u0447\u044d\u043f\u043f\u0438\u044d\u0440", "\u0411\u044d\u044d\u0442\u0438\u04a5\u0441\u044d", - "\u0421\u0443\u0431\u0443\u043e\u0442\u0430" + "\u0441\u0443\u0431\u0443\u043e\u0442\u0430" ], "ERANAMES": [ "\u0431. \u044d. \u0438.", @@ -55,44 +55,44 @@ $provide.value("$locale", { "\u0411\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u044b\u043d", "\u0410\u043b\u0442\u044b\u043d\u043d\u044c\u044b", "\u0421\u044d\u0442\u0438\u043d\u043d\u044c\u0438", - "\u0410\u0445\u0441\u044b\u043d\u043d\u044c\u044b" + "\u0430\u0445\u0441\u044b\u043d\u043d\u044c\u044b" ], "SHORTDAY": [ - "\u0411\u0441", - "\u0411\u043d", - "\u041e\u043f", - "\u0421\u044d", - "\u0427\u043f", - "\u0411\u044d", - "\u0421\u0431" + "\u0431\u0441", + "\u0431\u043d", + "\u043e\u043f", + "\u0441\u044d", + "\u0447\u043f", + "\u0431\u044d", + "\u0441\u0431" ], "SHORTMONTH": [ "\u0422\u043e\u0445\u0441", "\u041e\u043b\u0443\u043d", - "\u041a\u043b\u043d_\u0442\u0442\u0440", - "\u041c\u0443\u0441_\u0443\u0441\u0442", - "\u042b\u0430\u043c_\u0439\u043d", - "\u0411\u044d\u0441_\u0439\u043d", - "\u041e\u0442_\u0439\u043d", - "\u0410\u0442\u0440\u0434\u044c_\u0439\u043d", - "\u0411\u043b\u0495\u043d_\u0439\u043d", + "\u041a\u043b\u043d", + "\u041c\u0441\u0443", + "\u042b\u0430\u043c", + "\u0411\u044d\u0441", + "\u041e\u0442\u0439", + "\u0410\u0442\u0440", + "\u0411\u043b\u0495", "\u0410\u043b\u0442", "\u0421\u044d\u0442", "\u0410\u0445\u0441" ], "STANDALONEMONTH": [ - "\u0422\u043e\u0445\u0441\u0443\u043d\u043d\u044c\u0443", - "\u041e\u043b\u0443\u043d\u043d\u044c\u0443", - "\u041a\u0443\u043b\u0443\u043d \u0442\u0443\u0442\u0430\u0440", - "\u041c\u0443\u0443\u0441 \u0443\u0441\u0442\u0430\u0440", - "\u042b\u0430\u043c \u044b\u0439\u044b\u043d", - "\u0411\u044d\u0441 \u044b\u0439\u044b\u043d", - "\u041e\u0442 \u044b\u0439\u044b\u043d", - "\u0410\u0442\u044b\u0440\u0434\u044c\u044b\u0445 \u044b\u0439\u044b\u043d", - "\u0411\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u044b\u043d", - "\u0410\u043b\u0442\u044b\u043d\u043d\u044c\u044b", - "\u0421\u044d\u0442\u0438\u043d\u043d\u044c\u0438", - "\u0410\u0445\u0441\u044b\u043d\u043d\u044c\u044b" + "\u0442\u043e\u0445\u0441\u0443\u043d\u043d\u044c\u0443", + "\u043e\u043b\u0443\u043d\u043d\u044c\u0443", + "\u043a\u0443\u043b\u0443\u043d \u0442\u0443\u0442\u0430\u0440", + "\u043c\u0443\u0443\u0441 \u0443\u0441\u0442\u0430\u0440", + "\u044b\u0430\u043c \u044b\u0439\u0430", + "\u0431\u044d\u0441 \u044b\u0439\u0430", + "\u043e\u0442 \u044b\u0439\u0430", + "\u0430\u0442\u044b\u0440\u0434\u044c\u044b\u0445 \u044b\u0439\u0430", + "\u0431\u0430\u043b\u0430\u0495\u0430\u043d \u044b\u0439\u0430", + "\u0430\u043b\u0442\u044b\u043d\u043d\u044c\u044b", + "\u0441\u044d\u0442\u0438\u043d\u043d\u044c\u0438", + "\u0430\u0445\u0441\u044b\u043d\u043d\u044c\u044b" ], "WEEKENDRANGE": [ 5, @@ -108,9 +108,9 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u0440\u0443\u0431.", - "DECIMAL_SEP": ".", - "GROUP_SEP": ",", + "CURRENCY_SYM": "\u20bd", + "DECIMAL_SEP": ",", + "GROUP_SEP": "\u00a0", "PATTERNS": [ { "gSize": 3, @@ -129,10 +129,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_saq-ke.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_saq-ke.js index c4fdb68f..01e2328d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_saq-ke.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_saq-ke.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "KK", "BK" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Lapa le obo", "Lapa le waare", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Ksh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_saq.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_saq.js index 3b916785..24fe989e 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_saq.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_saq.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "KK", "BK" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Lapa le obo", "Lapa le waare", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Ksh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp-tz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp-tz.js index b476af4d..3464a84c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp-tz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp-tz.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp.js index 65a582b7..a198bf6b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sbp.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_se-fi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_se-fi.js index 0d3b4777..4fdcceec 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_se-fi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_se-fi.js @@ -26,13 +26,13 @@ $provide.value("$locale", { "eahketbeaivet" ], "DAY": [ - "aejlege", - "m\u00e5anta", - "d\u00e4jsta", - "gaskevahkoe", - "d\u00e5arsta", - "bearjadahke", - "laavadahke" + "sotnabeaivi", + "vuoss\u00e1rgga", + "ma\u014b\u014beb\u00e1rgga", + "gaskavahku", + "duorastaga", + "bearjadaga", + "l\u00e1vvardaga" ], "ERANAMES": [ "ovdal Kristtusa", @@ -67,18 +67,18 @@ $provide.value("$locale", { "l\u00e1v" ], "SHORTMONTH": [ - "o\u0111\u0111ajage", - "guovva", - "njuk\u010da", - "cuo\u014bo", - "miesse", - "geasse", - "suoidne", - "borge", - "\u010dak\u010da", - "golggot", - "sk\u00e1bma", - "juovla" + "o\u0111\u0111j", + "guov", + "njuk", + "cuo", + "mies", + "geas", + "suoi", + "borg", + "\u010dak\u010d", + "golg", + "sk\u00e1b", + "juov" ], "STANDALONEMONTH": [ "o\u0111\u0111ajagem\u00e1nnu", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_seh-mz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_seh-mz.js index f9341d9c..754cf3a2 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_seh-mz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_seh-mz.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "AC", "AD" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Janeiro", "Fevreiro", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_seh.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_seh.js index 135b223e..69e4680a 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_seh.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_seh.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "AC", "AD" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Janeiro", "Fevreiro", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ses-ml.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ses-ml.js index 071f8a43..16f810b1 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ses-ml.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ses-ml.js @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sg-cf.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sg-cf.js index 8cb4ce04..c988bf94 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sg-cf.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sg-cf.js @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "\u00a4-", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn-ma.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn-ma.js index 31565461..7fdd8709 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn-ma.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn-ma.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "da\u025b", "df\u025b" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "innayr", "b\u1e5bay\u1e5b", @@ -95,8 +95,8 @@ $provide.value("$locale", { "dujanbir" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn.js index d754079b..b7265b62 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-latn.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "da\u025b", "df\u025b" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "innayr", "b\u1e5bay\u1e5b", @@ -95,8 +95,8 @@ $provide.value("$locale", { "dujanbir" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng-ma.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng-ma.js index bcbd7c19..a4ba7044 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng-ma.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng-ma.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u2d37\u2d30\u2d44", "\u2d37\u2d3c\u2d44" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54", "\u2d31\u2d55\u2d30\u2d62\u2d55", @@ -95,8 +95,8 @@ $provide.value("$locale", { "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng.js index be8968d5..2186dacd 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi-tfng.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u2d37\u2d30\u2d44", "\u2d37\u2d3c\u2d44" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54", "\u2d31\u2d55\u2d30\u2d62\u2d55", @@ -95,8 +95,8 @@ $provide.value("$locale", { "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi.js index cc1e5316..a3cd7b7e 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_shi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_shi.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u2d37\u2d30\u2d44", "\u2d37\u2d3c\u2d44" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54", "\u2d31\u2d55\u2d30\u2d62\u2d55", @@ -95,8 +95,8 @@ $provide.value("$locale", { "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_si-lk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_si-lk.js index d5093237..b6e49f8d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_si-lk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_si-lk.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf" ], "ERANAMES": [ - "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u200d\u0dc0", - "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u200d\u0dc2" + "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u0dc0", + "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u0dc2" ], "ERAS": [ "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0db4\u0dd6.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "y MMMM d, EEEE", "longDate": "y MMMM d", - "medium": "y MMM d a h.mm.ss", + "medium": "y MMM d HH.mm.ss", "mediumDate": "y MMM d", - "mediumTime": "a h.mm.ss", - "short": "y-MM-dd a h.mm", + "mediumTime": "HH.mm.ss", + "short": "y-MM-dd HH.mm", "shortDate": "y-MM-dd", - "shortTime": "a h.mm" + "shortTime": "HH.mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Rs", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_si.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_si.js index 83f5fb54..e16b93e2 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_si.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_si.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf" ], "ERANAMES": [ - "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u200d\u0dc0", - "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u200d\u0dc2" + "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u0dc0", + "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u0dc2" ], "ERAS": [ "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0db4\u0dd6.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "y MMMM d, EEEE", "longDate": "y MMMM d", - "medium": "y MMM d a h.mm.ss", + "medium": "y MMM d HH.mm.ss", "mediumDate": "y MMM d", - "mediumTime": "a h.mm.ss", - "short": "y-MM-dd a h.mm", + "mediumTime": "HH.mm.ss", + "short": "y-MM-dd HH.mm", "shortDate": "y-MM-dd", - "shortTime": "a h.mm" + "shortTime": "HH.mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Rs", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sk-sk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sk-sk.js index 2f5ba5d7..4a3427e7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sk-sk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sk-sk.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "dopoludnia", - "odpoludnia" + "AM", + "PM" ], "DAY": [ "nede\u013ea", @@ -103,8 +103,8 @@ $provide.value("$locale", { "medium": "d. M. y H:mm:ss", "mediumDate": "d. M. y", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "d. M. y H:mm", + "shortDate": "d. M. y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sk.js index aa745cf3..6ff0148f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sk.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "dopoludnia", - "odpoludnia" + "AM", + "PM" ], "DAY": [ "nede\u013ea", @@ -103,8 +103,8 @@ $provide.value("$locale", { "medium": "d. M. y H:mm:ss", "mediumDate": "d. M. y", "mediumTime": "H:mm:ss", - "short": "dd.MM.yy H:mm", - "shortDate": "dd.MM.yy", + "short": "d. M. y H:mm", + "shortDate": "d. M. y", "shortTime": "H:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sl-si.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sl-si.js index 6bec18e6..64893215 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sl-si.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sl-si.js @@ -35,11 +35,11 @@ $provide.value("$locale", { "sobota" ], "ERANAMES": [ - "pred na\u0161im \u0161tetjem", - "na\u0161e \u0161tetje" + "pred Kristusom", + "po Kristusu" ], "ERAS": [ - "pr. n. \u0161t.", + "pr. Kr.", "po Kr." ], "FIRSTDAYOFWEEK": 0, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sl.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sl.js index 8155bfc7..3fccc5fe 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sl.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sl.js @@ -35,11 +35,11 @@ $provide.value("$locale", { "sobota" ], "ERANAMES": [ - "pred na\u0161im \u0161tetjem", - "na\u0161e \u0161tetje" + "pred Kristusom", + "po Kristusu" ], "ERAS": [ - "pr. n. \u0161t.", + "pr. Kr.", "po Kr." ], "FIRSTDAYOFWEEK": 0, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_smn-fi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_smn-fi.js index 912e2182..fd9483f0 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_smn-fi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_smn-fi.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "ip.", + "ep." ], "DAY": [ "pasepeeivi", @@ -35,50 +35,50 @@ $provide.value("$locale", { "l\u00e1vurduv" ], "ERANAMES": [ - "BCE", - "CE" + "Ovdil Kristus \u0161odd\u00e2m", + "ma\u014ba Kristus \u0161odd\u00e2m" ], "ERAS": [ - "BCE", - "CE" + "oKr.", + "mKr." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "M01", - "M02", - "M03", - "M04", - "M05", - "M06", - "M07", - "M08", - "M09", - "M10", - "M11", - "M12" + "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu", + "kuov\u00e2m\u00e1\u00e1nu", + "njuh\u010d\u00e2m\u00e1\u00e1nu", + "cu\u00e1\u014buim\u00e1\u00e1nu", + "vyesim\u00e1\u00e1nu", + "kesim\u00e1\u00e1nu", + "syeinim\u00e1\u00e1nu", + "porgem\u00e1\u00e1nu", + "\u010doh\u010d\u00e2m\u00e1\u00e1nu", + "roovv\u00e2dm\u00e1\u00e1nu", + "skamm\u00e2m\u00e1\u00e1nu", + "juovl\u00e2m\u00e1\u00e1nu" ], "SHORTDAY": [ - "pa", - "vu", - "ma", - "ko", - "tu", - "v\u00e1", - "l\u00e1" + "pas", + "vuo", + "maj", + "kos", + "tuo", + "v\u00e1s", + "l\u00e1v" ], "SHORTMONTH": [ - "M01", - "M02", - "M03", - "M04", - "M05", - "M06", - "M07", - "M08", - "M09", - "M10", - "M11", - "M12" + "u\u0111iv", + "kuov\u00e2", + "njuh\u010d\u00e2", + "cu\u00e1\u014bui", + "vyesi", + "kesi", + "syeini", + "porge", + "\u010doh\u010d\u00e2", + "roovv\u00e2d", + "skamm\u00e2", + "juovl\u00e2" ], "STANDALONEMONTH": [ "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu", @@ -98,19 +98,19 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "y MMMM d, EEEE", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", - "mediumTime": "HH:mm:ss", - "short": "y-MM-dd HH:mm", - "shortDate": "y-MM-dd", - "shortTime": "HH:mm" + "fullDate": "cccc, MMMM d. y", + "longDate": "MMMM d. y", + "medium": "MMM d. y H.mm.ss", + "mediumDate": "MMM d. y", + "mediumTime": "H.mm.ss", + "short": "d.M.y H.mm", + "shortDate": "d.M.y", + "shortTime": "H.mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", - "DECIMAL_SEP": ".", - "GROUP_SEP": ",", + "DECIMAL_SEP": ",", + "GROUP_SEP": "\u00a0", "PATTERNS": [ { "gSize": 3, @@ -129,10 +129,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_smn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_smn.js index c7cba3cc..d122e744 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_smn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_smn.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "ip.", + "ep." ], "DAY": [ "pasepeeivi", @@ -35,50 +35,50 @@ $provide.value("$locale", { "l\u00e1vurduv" ], "ERANAMES": [ - "BCE", - "CE" + "Ovdil Kristus \u0161odd\u00e2m", + "ma\u014ba Kristus \u0161odd\u00e2m" ], "ERAS": [ - "BCE", - "CE" + "oKr.", + "mKr." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "M01", - "M02", - "M03", - "M04", - "M05", - "M06", - "M07", - "M08", - "M09", - "M10", - "M11", - "M12" + "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu", + "kuov\u00e2m\u00e1\u00e1nu", + "njuh\u010d\u00e2m\u00e1\u00e1nu", + "cu\u00e1\u014buim\u00e1\u00e1nu", + "vyesim\u00e1\u00e1nu", + "kesim\u00e1\u00e1nu", + "syeinim\u00e1\u00e1nu", + "porgem\u00e1\u00e1nu", + "\u010doh\u010d\u00e2m\u00e1\u00e1nu", + "roovv\u00e2dm\u00e1\u00e1nu", + "skamm\u00e2m\u00e1\u00e1nu", + "juovl\u00e2m\u00e1\u00e1nu" ], "SHORTDAY": [ - "pa", - "vu", - "ma", - "ko", - "tu", - "v\u00e1", - "l\u00e1" + "pas", + "vuo", + "maj", + "kos", + "tuo", + "v\u00e1s", + "l\u00e1v" ], "SHORTMONTH": [ - "M01", - "M02", - "M03", - "M04", - "M05", - "M06", - "M07", - "M08", - "M09", - "M10", - "M11", - "M12" + "u\u0111iv", + "kuov\u00e2", + "njuh\u010d\u00e2", + "cu\u00e1\u014bui", + "vyesi", + "kesi", + "syeini", + "porge", + "\u010doh\u010d\u00e2", + "roovv\u00e2d", + "skamm\u00e2", + "juovl\u00e2" ], "STANDALONEMONTH": [ "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu", @@ -98,19 +98,19 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "y MMMM d, EEEE", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", - "mediumTime": "HH:mm:ss", - "short": "y-MM-dd HH:mm", - "shortDate": "y-MM-dd", - "shortTime": "HH:mm" + "fullDate": "cccc, MMMM d. y", + "longDate": "MMMM d. y", + "medium": "MMM d. y H.mm.ss", + "mediumDate": "MMM d. y", + "mediumTime": "H.mm.ss", + "short": "d.M.y H.mm", + "shortDate": "d.M.y", + "shortTime": "H.mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", - "DECIMAL_SEP": ".", - "GROUP_SEP": ",", + "DECIMAL_SEP": ",", + "GROUP_SEP": "\u00a0", "PATTERNS": [ { "gSize": 3, @@ -129,10 +129,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sn-zw.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sn-zw.js index 6a802890..9efc0818 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sn-zw.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sn-zw.js @@ -36,7 +36,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "Kristo asati auya", - "Kristo ashaya" + "mugore ramambo vedu" ], "ERAS": [ "BC", @@ -60,10 +60,10 @@ $provide.value("$locale", { "SHORTDAY": [ "Svo", "Muv", - "Chip", - "Chit", - "Chin", - "Chis", + "Chp", + "Cht", + "Chn", + "Chs", "Mug" ], "SHORTMONTH": [ @@ -77,7 +77,7 @@ $provide.value("$locale", { "Nya", "Gun", "Gum", - "Mb", + "Mbu", "Zvi" ], "STANDALONEMONTH": [ @@ -98,14 +98,14 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, d MMMM y", - "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", - "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", - "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "fullDate": "y MMMM d, EEEE", + "longDate": "y MMMM d", + "medium": "y MMM d HH:mm:ss", + "mediumDate": "y MMM d", + "mediumTime": "HH:mm:ss", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "$", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sn.js index 96f0168f..a59bb09a 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sn.js @@ -36,7 +36,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "Kristo asati auya", - "Kristo ashaya" + "mugore ramambo vedu" ], "ERAS": [ "BC", @@ -60,10 +60,10 @@ $provide.value("$locale", { "SHORTDAY": [ "Svo", "Muv", - "Chip", - "Chit", - "Chin", - "Chis", + "Chp", + "Cht", + "Chn", + "Chs", "Mug" ], "SHORTMONTH": [ @@ -77,7 +77,7 @@ $provide.value("$locale", { "Nya", "Gun", "Gum", - "Mb", + "Mbu", "Zvi" ], "STANDALONEMONTH": [ @@ -98,14 +98,14 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, d MMMM y", - "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", - "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", - "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "fullDate": "y MMMM d, EEEE", + "longDate": "y MMMM d", + "medium": "y MMM d HH:mm:ss", + "mediumDate": "y MMM d", + "mediumTime": "HH:mm:ss", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "$", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-dj.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-dj.js index bc58c004..71ac7856 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-dj.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-dj.js @@ -35,14 +35,14 @@ $provide.value("$locale", { "Sabti" ], "ERANAMES": [ - "Ciise ka hor (CS)", - "Ciise ka dib (CS)" + "CK", + "CD" ], "ERAS": [ "CK", "CD" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "Bisha Koobaad", "Bisha Labaad", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-et.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-et.js index 98b5e4df..a78b2442 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-et.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-et.js @@ -35,14 +35,14 @@ $provide.value("$locale", { "Sabti" ], "ERANAMES": [ - "Ciise ka hor (CS)", - "Ciise ka dib (CS)" + "CK", + "CD" ], "ERAS": [ "CK", "CD" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Bisha Koobaad", "Bisha Labaad", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-ke.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-ke.js index 55b88382..cd67c846 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-ke.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-ke.js @@ -35,14 +35,14 @@ $provide.value("$locale", { "Sabti" ], "ERANAMES": [ - "Ciise ka hor (CS)", - "Ciise ka dib (CS)" + "CK", + "CD" ], "ERAS": [ "CK", "CD" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Bisha Koobaad", "Bisha Labaad", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, MMMM dd, y", "longDate": "dd MMMM y", - "medium": "dd-MMM-y h:mm:ss a", + "medium": "dd-MMM-y HH:mm:ss", "mediumDate": "dd-MMM-y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/yy h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/yy HH:mm", "shortDate": "dd/MM/yy", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Ksh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-so.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-so.js index 32784296..6bca4081 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_so-so.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_so-so.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "Sabti" ], "ERANAMES": [ - "Ciise ka hor (CS)", - "Ciise ka dib (CS)" + "CK", + "CD" ], "ERAS": [ "CK", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_so.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_so.js index 33068e35..307c6cb5 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_so.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_so.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "Sabti" ], "ERANAMES": [ - "Ciise ka hor (CS)", - "Ciise ka dib (CS)" + "CK", + "CD" ], "ERAS": [ "CK", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-al.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-al.js index d72e4dd8..db4e4ba7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-al.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-al.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "paradite", - "pasdite" + "e paradites", + "e pasdites" ], "DAY": [ "e diel", @@ -17,12 +17,12 @@ $provide.value("$locale", { "e shtun\u00eb" ], "ERANAMES": [ - "para er\u00ebs s\u00eb re", - "er\u00ebs s\u00eb re" + "para Krishtit", + "mbas Krishtit" ], "ERAS": [ - "p.e.r.", - "e.r." + "p.K.", + "mb.K." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -49,18 +49,18 @@ $provide.value("$locale", { "Sht" ], "SHORTMONTH": [ - "Jan", - "Shk", - "Mar", - "Pri", - "Maj", - "Qer", - "Kor", - "Gsh", - "Sht", - "Tet", - "N\u00ebn", - "Dhj" + "jan", + "shk", + "mar", + "pri", + "maj", + "qer", + "kor", + "gsh", + "sht", + "tet", + "n\u00ebn", + "dhj" ], "STANDALONEMONTH": [ "Janar", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y HH:mm:ss", + "medium": "d MMM y h:mm:ss a", "mediumDate": "d MMM y", - "mediumTime": "HH:mm:ss", - "short": "d.M.yy HH:mm", + "mediumTime": "h:mm:ss a", + "short": "d.M.yy h:mm a", "shortDate": "d.M.yy", - "shortTime": "HH:mm" + "shortTime": "h:mm a" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Lek", @@ -108,8 +108,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-mk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-mk.js index c7cb626e..4f18094f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-mk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-mk.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "paradite", - "pasdite" + "e paradites", + "e pasdites" ], "DAY": [ "e diel", @@ -17,12 +17,12 @@ $provide.value("$locale", { "e shtun\u00eb" ], "ERANAMES": [ - "para er\u00ebs s\u00eb re", - "er\u00ebs s\u00eb re" + "para Krishtit", + "mbas Krishtit" ], "ERAS": [ - "p.e.r.", - "e.r." + "p.K.", + "mb.K." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -49,18 +49,18 @@ $provide.value("$locale", { "Sht" ], "SHORTMONTH": [ - "Jan", - "Shk", - "Mar", - "Pri", - "Maj", - "Qer", - "Kor", - "Gsh", - "Sht", - "Tet", - "N\u00ebn", - "Dhj" + "jan", + "shk", + "mar", + "pri", + "maj", + "qer", + "kor", + "gsh", + "sht", + "tet", + "n\u00ebn", + "dhj" ], "STANDALONEMONTH": [ "Janar", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-xk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-xk.js index 5b5e0c5d..bfa8d80d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-xk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq-xk.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "paradite", - "pasdite" + "e paradites", + "e pasdites" ], "DAY": [ "e diel", @@ -17,12 +17,12 @@ $provide.value("$locale", { "e shtun\u00eb" ], "ERANAMES": [ - "para er\u00ebs s\u00eb re", - "er\u00ebs s\u00eb re" + "para Krishtit", + "mbas Krishtit" ], "ERAS": [ - "p.e.r.", - "e.r." + "p.K.", + "mb.K." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -49,18 +49,18 @@ $provide.value("$locale", { "Sht" ], "SHORTMONTH": [ - "Jan", - "Shk", - "Mar", - "Pri", - "Maj", - "Qer", - "Kor", - "Gsh", - "Sht", - "Tet", - "N\u00ebn", - "Dhj" + "jan", + "shk", + "mar", + "pri", + "maj", + "qer", + "kor", + "gsh", + "sht", + "tet", + "n\u00ebn", + "dhj" ], "STANDALONEMONTH": [ "Janar", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq.js index c39b126b..f8d1cb2b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sq.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sq.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "paradite", - "pasdite" + "e paradites", + "e pasdites" ], "DAY": [ "e diel", @@ -17,12 +17,12 @@ $provide.value("$locale", { "e shtun\u00eb" ], "ERANAMES": [ - "para er\u00ebs s\u00eb re", - "er\u00ebs s\u00eb re" + "para Krishtit", + "mbas Krishtit" ], "ERAS": [ - "p.e.r.", - "e.r." + "p.K.", + "mb.K." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -49,18 +49,18 @@ $provide.value("$locale", { "Sht" ], "SHORTMONTH": [ - "Jan", - "Shk", - "Mar", - "Pri", - "Maj", - "Qer", - "Kor", - "Gsh", - "Sht", - "Tet", - "N\u00ebn", - "Dhj" + "jan", + "shk", + "mar", + "pri", + "maj", + "qer", + "kor", + "gsh", + "sht", + "tet", + "n\u00ebn", + "dhj" ], "STANDALONEMONTH": [ "Janar", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y HH:mm:ss", + "medium": "d MMM y h:mm:ss a", "mediumDate": "d MMM y", - "mediumTime": "HH:mm:ss", - "short": "d.M.yy HH:mm", + "mediumTime": "h:mm:ss a", + "short": "d.M.yy h:mm a", "shortDate": "d.M.yy", - "shortTime": "HH:mm" + "shortTime": "h:mm a" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Lek", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-ba.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-ba.js index 9db54861..164bdf59 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-ba.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-ba.js @@ -22,21 +22,21 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435", + "\u043f\u0440\u0438\u0458\u0435 \u043f\u043e\u0434\u043d\u0435", "\u043f\u043e \u043f\u043e\u0434\u043d\u0435" ], "DAY": [ - "\u043d\u0435\u0434\u0435\u0459\u0430", + "\u043d\u0435\u0434\u0458\u0435\u0459\u0430", "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a", "\u0443\u0442\u043e\u0440\u0430\u043a", - "\u0441\u0440\u0435\u0434\u0430", + "\u0441\u0440\u0438\u0458\u0435\u0434\u0430", "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a", "\u043f\u0435\u0442\u0430\u043a", "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0438\u0458\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440" ], "SHORTDAY": [ - "\u043d\u0435\u0434", - "\u043f\u043e\u043d", - "\u0443\u0442\u043e", - "\u0441\u0440\u0435", - "\u0447\u0435\u0442", - "\u043f\u0435\u0442", - "\u0441\u0443\u0431" + "\u043d\u0435\u0434.", + "\u043f\u043e\u043d.", + "\u0443\u0442.", + "\u0441\u0440.", + "\u0447\u0435\u0442.", + "\u043f\u0435\u0442.", + "\u0441\u0443\u0431." ], "SHORTMONTH": [ - "\u0458\u0430\u043d", - "\u0444\u0435\u0431", - "\u043c\u0430\u0440", - "\u0430\u043f\u0440", + "\u0458\u0430\u043d.", + "\u0444\u0435\u0431.", + "\u043c\u0430\u0440\u0442", + "\u0430\u043f\u0440.", "\u043c\u0430\u0458", "\u0458\u0443\u043d", "\u0458\u0443\u043b", - "\u0430\u0432\u0433", - "\u0441\u0435\u043f", - "\u043e\u043a\u0442", - "\u043d\u043e\u0432", - "\u0434\u0435\u0446" + "\u0430\u0432\u0433.", + "\u0441\u0435\u043f\u0442.", + "\u043e\u043a\u0442.", + "\u043d\u043e\u0432.", + "\u0434\u0435\u0446." ], "STANDALONEMONTH": [ "\u0458\u0430\u043d\u0443\u0430\u0440", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-me.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-me.js index 7a978c06..12979456 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-me.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-me.js @@ -22,21 +22,21 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435", + "\u043f\u0440\u0438\u0458\u0435 \u043f\u043e\u0434\u043d\u0435", "\u043f\u043e \u043f\u043e\u0434\u043d\u0435" ], "DAY": [ - "\u043d\u0435\u0434\u0435\u0459\u0430", + "\u043d\u0435\u0434\u0458\u0435\u0459\u0430", "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a", "\u0443\u0442\u043e\u0440\u0430\u043a", - "\u0441\u0440\u0435\u0434\u0430", + "\u0441\u0440\u0438\u0458\u0435\u0434\u0430", "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a", "\u043f\u0435\u0442\u0430\u043a", "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0438\u0458\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440" ], "SHORTDAY": [ - "\u043d\u0435\u0434", - "\u043f\u043e\u043d", - "\u0443\u0442\u043e", - "\u0441\u0440\u0435", - "\u0447\u0435\u0442", - "\u043f\u0435\u0442", - "\u0441\u0443\u0431" + "\u043d\u0435\u0434.", + "\u043f\u043e\u043d.", + "\u0443\u0442.", + "\u0441\u0440.", + "\u0447\u0435\u0442.", + "\u043f\u0435\u0442.", + "\u0441\u0443\u0431." ], "SHORTMONTH": [ - "\u0458\u0430\u043d", - "\u0444\u0435\u0431", - "\u043c\u0430\u0440", - "\u0430\u043f\u0440", + "\u0458\u0430\u043d.", + "\u0444\u0435\u0431.", + "\u043c\u0430\u0440\u0442", + "\u0430\u043f\u0440.", "\u043c\u0430\u0458", "\u0458\u0443\u043d", "\u0458\u0443\u043b", - "\u0430\u0432\u0433", - "\u0441\u0435\u043f", - "\u043e\u043a\u0442", - "\u043d\u043e\u0432", - "\u0434\u0435\u0446" + "\u0430\u0432\u0433.", + "\u0441\u0435\u043f\u0442.", + "\u043e\u043a\u0442.", + "\u043d\u043e\u0432.", + "\u0434\u0435\u0446." ], "STANDALONEMONTH": [ "\u0458\u0430\u043d\u0443\u0430\u0440", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-rs.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-rs.js index 420af9b1..3bbf26ab 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-rs.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-rs.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "din", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-xk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-xk.js index 655c151f..1d8ad886 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-xk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl-xk.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440" ], "SHORTDAY": [ - "\u043d\u0435\u0434", - "\u043f\u043e\u043d", - "\u0443\u0442\u043e", - "\u0441\u0440\u0435", - "\u0447\u0435\u0442", - "\u043f\u0435\u0442", - "\u0441\u0443\u0431" + "\u043d\u0435\u0434.", + "\u043f\u043e\u043d.", + "\u0443\u0442.", + "\u0441\u0440.", + "\u0447\u0435\u0442.", + "\u043f\u0435\u0442.", + "\u0441\u0443\u0431." ], "SHORTMONTH": [ - "\u0458\u0430\u043d", - "\u0444\u0435\u0431", - "\u043c\u0430\u0440", - "\u0430\u043f\u0440", + "\u0458\u0430\u043d.", + "\u0444\u0435\u0431.", + "\u043c\u0430\u0440\u0442", + "\u0430\u043f\u0440.", "\u043c\u0430\u0458", "\u0458\u0443\u043d", "\u0458\u0443\u043b", - "\u0430\u0432\u0433", - "\u0441\u0435\u043f", - "\u043e\u043a\u0442", - "\u043d\u043e\u0432", - "\u0434\u0435\u0446" + "\u0430\u0432\u0433.", + "\u0441\u0435\u043f\u0442.", + "\u043e\u043a\u0442.", + "\u043d\u043e\u0432.", + "\u0434\u0435\u0446." ], "STANDALONEMONTH": [ "\u0458\u0430\u043d\u0443\u0430\u0440", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl.js index 910bccbf..679afb83 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-cyrl.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "din", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-ba.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-ba.js index 0fa1414a..fd67003c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-ba.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-ba.js @@ -22,21 +22,21 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "pre podne", + "prije podne", "po podne" ], "DAY": [ - "nedelja", + "nedjelja", "ponedeljak", "utorak", - "sreda", + "srijeda", "\u010detvrtak", "petak", "subota" ], "ERANAMES": [ - "Pre nove ere", - "Nove ere" + "prije nove ere", + "nove ere" ], "ERAS": [ "p. n. e.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "decembar" ], "SHORTDAY": [ - "ned", - "pon", - "uto", - "sre", - "\u010det", - "pet", - "sub" + "ned.", + "pon.", + "ut.", + "sr.", + "\u010det.", + "pet.", + "sub." ], "SHORTMONTH": [ - "jan", - "feb", - "mar", - "apr", + "jan.", + "feb.", + "mart", + "apr.", "maj", "jun", "jul", - "avg", - "sep", - "okt", - "nov", - "dec" + "avg.", + "sept.", + "okt.", + "nov.", + "dec." ], "STANDALONEMONTH": [ "januar", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-me.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-me.js index 9a5748d8..b5c18962 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-me.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-me.js @@ -22,21 +22,21 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "pre podne", + "prije podne", "po podne" ], "DAY": [ - "nedelja", + "nedjelja", "ponedeljak", "utorak", - "sreda", + "srijeda", "\u010detvrtak", "petak", "subota" ], "ERANAMES": [ - "Pre nove ere", - "Nove ere" + "prije nove ere", + "nove ere" ], "ERAS": [ "p. n. e.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "decembar" ], "SHORTDAY": [ - "ned", - "pon", - "uto", - "sre", - "\u010det", - "pet", - "sub" + "ned.", + "pon.", + "ut.", + "sr.", + "\u010det.", + "pet.", + "sub." ], "SHORTMONTH": [ - "jan", - "feb", - "mar", - "apr", + "jan.", + "feb.", + "mart", + "apr.", "maj", "jun", "jul", - "avg", - "sep", - "okt", - "nov", - "dec" + "avg.", + "sept.", + "okt.", + "nov.", + "dec." ], "STANDALONEMONTH": [ "januar", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-rs.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-rs.js index 24b2a8d1..47ef1d5f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-rs.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-rs.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "subota" ], "ERANAMES": [ - "Pre nove ere", - "Nove ere" + "pre nove ere", + "nove ere" ], "ERAS": [ "p. n. e.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "din", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-xk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-xk.js index 0e14f7bb..63d12b1f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-xk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn-xk.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "subota" ], "ERANAMES": [ - "Pre nove ere", - "Nove ere" + "pre nove ere", + "nove ere" ], "ERAS": [ "p. n. e.", @@ -58,27 +58,27 @@ $provide.value("$locale", { "decembar" ], "SHORTDAY": [ - "ned", - "pon", - "uto", - "sre", - "\u010det", - "pet", - "sub" + "ned.", + "pon.", + "ut.", + "sr.", + "\u010det.", + "pet.", + "sub." ], "SHORTMONTH": [ - "jan", - "feb", - "mar", - "apr", + "jan.", + "feb.", + "mart", + "apr.", "maj", "jun", "jul", - "avg", - "sep", - "okt", - "nov", - "dec" + "avg.", + "sept.", + "okt.", + "nov.", + "dec." ], "STANDALONEMONTH": [ "januar", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn.js index 97320ef3..18458493 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr-latn.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "subota" ], "ERANAMES": [ - "Pre nove ere", - "Nove ere" + "pre nove ere", + "nove ere" ], "ERAS": [ "p. n. e.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "din", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr.js index 06d1ae5d..1199c0e8 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sr.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sr.js @@ -35,8 +35,8 @@ $provide.value("$locale", { "\u0441\u0443\u0431\u043e\u0442\u0430" ], "ERANAMES": [ - "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", - "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435" + "\u043f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435", + "\u043d\u043e\u0432\u0435 \u0435\u0440\u0435" ], "ERAS": [ "\u043f. \u043d. \u0435.", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, dd. MMMM y.", "longDate": "dd. MMMM y.", - "medium": "dd.MM.y. HH.mm.ss", + "medium": "dd.MM.y. HH:mm:ss", "mediumDate": "dd.MM.y.", - "mediumTime": "HH.mm.ss", - "short": "d.M.yy. HH.mm", + "mediumTime": "HH:mm:ss", + "short": "d.M.yy. HH:mm", "shortDate": "d.M.yy.", - "shortTime": "HH.mm" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "din", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-ax.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-ax.js index 039f6733..919d4a69 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-ax.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-ax.js @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Januari", - "Februari", - "Mars", - "April", - "Maj", - "Juni", - "Juli", - "Augusti", - "September", - "Oktober", - "November", - "December" + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-fi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-fi.js index de2e20a1..0a8bd8f2 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-fi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-fi.js @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Januari", - "Februari", - "Mars", - "April", - "Maj", - "Juni", - "Juli", - "Augusti", - "September", - "Oktober", - "November", - "December" + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-se.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-se.js index 774beb1c..4498117b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-se.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv-se.js @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Januari", - "Februari", - "Mars", - "April", - "Maj", - "Juni", - "Juli", - "Augusti", - "September", - "Oktober", - "November", - "December" + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv.js index 1dcdc271..68494158 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sv.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sv.js @@ -81,18 +81,18 @@ $provide.value("$locale", { "dec." ], "STANDALONEMONTH": [ - "Januari", - "Februari", - "Mars", - "April", - "Maj", - "Juni", - "Juli", - "Augusti", - "September", - "Oktober", - "November", - "December" + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-cd.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-cd.js index 5fbbd34d..855a037f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-cd.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-cd.js @@ -22,63 +22,63 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "ya asubuyi", - "ya muchana" + "Asubuhi", + "Mchana" ], "DAY": [ - "siku ya yenga", - "siku ya kwanza", - "siku ya pili", - "siku ya tatu", - "siku ya ine", - "siku ya tanu", - "siku ya sita" + "Jumapili", + "Jumatatu", + "Jumanne", + "Jumatano", + "Alhamisi", + "Ijumaa", + "Jumamosi" ], "ERANAMES": [ "Kabla ya Kristo", "Baada ya Kristo" ], "ERAS": [ - "BC", - "AD" + "KK", + "BK" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "mwezi ya kwanja", - "mwezi ya pili", - "mwezi ya tatu", - "mwezi ya ine", - "mwezi ya tanu", - "mwezi ya sita", - "mwezi ya saba", - "mwezi ya munane", - "mwezi ya tisa", - "mwezi ya kumi", - "mwezi ya kumi na moya", - "mwezi ya kumi ya mbili" + "Januari", + "Februari", + "Machi", + "Aprili", + "Mei", + "Juni", + "Julai", + "Agosti", + "Septemba", + "Oktoba", + "Novemba", + "Desemba" ], "SHORTDAY": [ - "yen", - "kwa", - "pil", - "tat", - "ine", - "tan", - "sit" + "Jumapili", + "Jumatatu", + "Jumanne", + "Jumatano", + "Alhamisi", + "Ijumaa", + "Jumamosi" ], "SHORTMONTH": [ - "mkw", - "mpi", - "mtu", - "min", - "mtn", - "mst", - "msb", - "mun", - "mts", - "mku", - "mkm", - "mkb" + "Jan", + "Feb", + "Mac", + "Apr", + "Mei", + "Jun", + "Jul", + "Ago", + "Sep", + "Okt", + "Nov", + "Des" ], "STANDALONEMONTH": [ "Januari", @@ -98,13 +98,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE d MMMM y", + "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", "mediumTime": "HH:mm:ss", - "short": "d/M/y HH:mm", - "shortDate": "d/M/y", + "short": "dd/MM/y HH:mm", + "shortDate": "dd/MM/y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ke.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ke.js index ed521a01..9f6e9974 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ke.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ke.js @@ -39,8 +39,8 @@ $provide.value("$locale", { "Baada ya Kristo" ], "ERAS": [ - "BC", - "AD" + "KK", + "BK" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Ksh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-tz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-tz.js index 9e0d0973..1d02d0a5 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-tz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-tz.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "Asubuhi", + "Mchana" ], "DAY": [ "Jumapili", @@ -39,8 +39,8 @@ $provide.value("$locale", { "Baada ya Kristo" ], "ERAS": [ - "BC", - "AD" + "KK", + "BK" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ug.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ug.js index 10a92101..93f70253 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ug.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw-ug.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "Asubuhi", + "Mchana" ], "DAY": [ "Jumapili", @@ -39,8 +39,8 @@ $provide.value("$locale", { "Baada ya Kristo" ], "ERAS": [ - "BC", - "AD" + "KK", + "BK" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "UGX", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw.js index f6ed28cc..32414267 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_sw.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_sw.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "Asubuhi", + "Mchana" ], "DAY": [ "Jumapili", @@ -39,8 +39,8 @@ $provide.value("$locale", { "Baada ya Kristo" ], "ERAS": [ - "BC", - "AD" + "KK", + "BK" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-in.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-in.js index 0d6ba578..29c56149 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-in.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-in.js @@ -18,7 +18,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd", - "\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" + "\u0b85\u0ba9\u0bcd\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" ], "ERAS": [ "\u0b95\u0bbf.\u0bae\u0bc1.", @@ -40,13 +40,13 @@ $provide.value("$locale", { "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd" ], "SHORTDAY": [ - "\u0b9e\u0bbe", - "\u0ba4\u0bbf", - "\u0b9a\u0bc6", - "\u0baa\u0bc1", - "\u0bb5\u0bbf", - "\u0bb5\u0bc6", - "\u0b9a" + "\u0b9e\u0bbe\u0baf\u0bbf.", + "\u0ba4\u0bbf\u0b99\u0bcd.", + "\u0b9a\u0bc6\u0bb5\u0bcd.", + "\u0baa\u0bc1\u0ba4.", + "\u0bb5\u0bbf\u0baf\u0bbe.", + "\u0bb5\u0bc6\u0bb3\u0bcd.", + "\u0b9a\u0ba9\u0bbf" ], "SHORTMONTH": [ "\u0b9c\u0ba9.", @@ -70,7 +70,7 @@ $provide.value("$locale", { "\u0bae\u0bc7", "\u0b9c\u0bc2\u0ba9\u0bcd", "\u0b9c\u0bc2\u0bb2\u0bc8", - "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1", + "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd", "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd", "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd", "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM, y", "longDate": "d MMMM, y", - "medium": "d MMM, y h:mm:ss a", + "medium": "d MMM, y a h:mm:ss", "mediumDate": "d MMM, y", - "mediumTime": "h:mm:ss a", - "short": "d-M-yy h:mm a", - "shortDate": "d-M-yy", - "shortTime": "h:mm a" + "mediumTime": "a h:mm:ss", + "short": "d/M/yy a h:mm", + "shortDate": "d/M/yy", + "shortTime": "a h:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20b9", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-lk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-lk.js index db3fd136..21942eb7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-lk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-lk.js @@ -18,7 +18,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd", - "\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" + "\u0b85\u0ba9\u0bcd\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" ], "ERAS": [ "\u0b95\u0bbf.\u0bae\u0bc1.", @@ -40,13 +40,13 @@ $provide.value("$locale", { "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd" ], "SHORTDAY": [ - "\u0b9e\u0bbe", - "\u0ba4\u0bbf", - "\u0b9a\u0bc6", - "\u0baa\u0bc1", - "\u0bb5\u0bbf", - "\u0bb5\u0bc6", - "\u0b9a" + "\u0b9e\u0bbe\u0baf\u0bbf.", + "\u0ba4\u0bbf\u0b99\u0bcd.", + "\u0b9a\u0bc6\u0bb5\u0bcd.", + "\u0baa\u0bc1\u0ba4.", + "\u0bb5\u0bbf\u0baf\u0bbe.", + "\u0bb5\u0bc6\u0bb3\u0bcd.", + "\u0b9a\u0ba9\u0bbf" ], "SHORTMONTH": [ "\u0b9c\u0ba9.", @@ -70,7 +70,7 @@ $provide.value("$locale", { "\u0bae\u0bc7", "\u0b9c\u0bc2\u0ba9\u0bcd", "\u0b9c\u0bc2\u0bb2\u0bc8", - "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1", + "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd", "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd", "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd", "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM, y", "longDate": "d MMMM, y", - "medium": "d MMM, y h:mm:ss a", + "medium": "d MMM, y HH:mm:ss", "mediumDate": "d MMM, y", - "mediumTime": "h:mm:ss a", - "short": "d-M-yy h:mm a", - "shortDate": "d-M-yy", - "shortTime": "h:mm a" + "mediumTime": "HH:mm:ss", + "short": "d/M/yy HH:mm", + "shortDate": "d/M/yy", + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Rs", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-my.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-my.js index 1bb2da9e..7963f1bb 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-my.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-my.js @@ -18,7 +18,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd", - "\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" + "\u0b85\u0ba9\u0bcd\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" ], "ERAS": [ "\u0b95\u0bbf.\u0bae\u0bc1.", @@ -40,13 +40,13 @@ $provide.value("$locale", { "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd" ], "SHORTDAY": [ - "\u0b9e\u0bbe", - "\u0ba4\u0bbf", - "\u0b9a\u0bc6", - "\u0baa\u0bc1", - "\u0bb5\u0bbf", - "\u0bb5\u0bc6", - "\u0b9a" + "\u0b9e\u0bbe\u0baf\u0bbf.", + "\u0ba4\u0bbf\u0b99\u0bcd.", + "\u0b9a\u0bc6\u0bb5\u0bcd.", + "\u0baa\u0bc1\u0ba4.", + "\u0bb5\u0bbf\u0baf\u0bbe.", + "\u0bb5\u0bc6\u0bb3\u0bcd.", + "\u0b9a\u0ba9\u0bbf" ], "SHORTMONTH": [ "\u0b9c\u0ba9.", @@ -70,7 +70,7 @@ $provide.value("$locale", { "\u0bae\u0bc7", "\u0b9c\u0bc2\u0ba9\u0bcd", "\u0b9c\u0bc2\u0bb2\u0bc8", - "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1", + "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd", "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd", "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd", "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM, y", "longDate": "d MMMM, y", - "medium": "d MMM, y h:mm:ss a", + "medium": "d MMM, y a h:mm:ss", "mediumDate": "d MMM, y", - "mediumTime": "h:mm:ss a", - "short": "d-M-yy h:mm a", - "shortDate": "d-M-yy", - "shortTime": "h:mm a" + "mediumTime": "a h:mm:ss", + "short": "d/M/yy a h:mm", + "shortDate": "d/M/yy", + "shortTime": "a h:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "RM", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-sg.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-sg.js index b049d9b0..c862ad30 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-sg.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta-sg.js @@ -18,7 +18,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd", - "\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" + "\u0b85\u0ba9\u0bcd\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" ], "ERAS": [ "\u0b95\u0bbf.\u0bae\u0bc1.", @@ -40,13 +40,13 @@ $provide.value("$locale", { "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd" ], "SHORTDAY": [ - "\u0b9e\u0bbe", - "\u0ba4\u0bbf", - "\u0b9a\u0bc6", - "\u0baa\u0bc1", - "\u0bb5\u0bbf", - "\u0bb5\u0bc6", - "\u0b9a" + "\u0b9e\u0bbe\u0baf\u0bbf.", + "\u0ba4\u0bbf\u0b99\u0bcd.", + "\u0b9a\u0bc6\u0bb5\u0bcd.", + "\u0baa\u0bc1\u0ba4.", + "\u0bb5\u0bbf\u0baf\u0bbe.", + "\u0bb5\u0bc6\u0bb3\u0bcd.", + "\u0b9a\u0ba9\u0bbf" ], "SHORTMONTH": [ "\u0b9c\u0ba9.", @@ -70,7 +70,7 @@ $provide.value("$locale", { "\u0bae\u0bc7", "\u0b9c\u0bc2\u0ba9\u0bcd", "\u0b9c\u0bc2\u0bb2\u0bc8", - "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1", + "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd", "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd", "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd", "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM, y", "longDate": "d MMMM, y", - "medium": "d MMM, y h:mm:ss a", + "medium": "d MMM, y a h:mm:ss", "mediumDate": "d MMM, y", - "mediumTime": "h:mm:ss a", - "short": "d-M-yy h:mm a", - "shortDate": "d-M-yy", - "shortTime": "h:mm a" + "mediumTime": "a h:mm:ss", + "short": "d/M/yy a h:mm", + "shortDate": "d/M/yy", + "shortTime": "a h:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "$", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta.js index affb1b78..9701a55b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ta.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ta.js @@ -18,7 +18,7 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd", - "\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" + "\u0b85\u0ba9\u0bcd\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf" ], "ERAS": [ "\u0b95\u0bbf.\u0bae\u0bc1.", @@ -40,13 +40,13 @@ $provide.value("$locale", { "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd" ], "SHORTDAY": [ - "\u0b9e\u0bbe", - "\u0ba4\u0bbf", - "\u0b9a\u0bc6", - "\u0baa\u0bc1", - "\u0bb5\u0bbf", - "\u0bb5\u0bc6", - "\u0b9a" + "\u0b9e\u0bbe\u0baf\u0bbf.", + "\u0ba4\u0bbf\u0b99\u0bcd.", + "\u0b9a\u0bc6\u0bb5\u0bcd.", + "\u0baa\u0bc1\u0ba4.", + "\u0bb5\u0bbf\u0baf\u0bbe.", + "\u0bb5\u0bc6\u0bb3\u0bcd.", + "\u0b9a\u0ba9\u0bbf" ], "SHORTMONTH": [ "\u0b9c\u0ba9.", @@ -70,7 +70,7 @@ $provide.value("$locale", { "\u0bae\u0bc7", "\u0b9c\u0bc2\u0ba9\u0bcd", "\u0b9c\u0bc2\u0bb2\u0bc8", - "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1", + "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd", "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd", "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd", "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM, y", "longDate": "d MMMM, y", - "medium": "d MMM, y h:mm:ss a", + "medium": "d MMM, y a h:mm:ss", "mediumDate": "d MMM, y", - "mediumTime": "h:mm:ss a", - "short": "d-M-yy h:mm a", - "shortDate": "d-M-yy", - "shortTime": "h:mm a" + "mediumTime": "a h:mm:ss", + "short": "d/M/yy a h:mm", + "shortDate": "d/M/yy", + "shortTime": "a h:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20b9", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_te-in.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_te-in.js index b912a94e..dd4dfe1c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_te-in.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_te-in.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "[AM]", - "[PM]" + "AM", + "PM" ], "DAY": [ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_te.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_te.js index 8011dd46..5154acd1 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_te.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_te.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "[AM]", - "[PM]" + "AM", + "PM" ], "DAY": [ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ke.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ke.js index c4d30f92..70feee6e 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ke.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ke.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "KK", "BK" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "Orara", "Omuk", @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Ksh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ug.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ug.js index bfa1f2a9..326f3f53 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ug.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo-ug.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "UGX", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo.js index 80c2663c..477460f7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_teo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_teo.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "UGX", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-er.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-er.js index dcc74c88..8431c8b2 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-er.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-er.js @@ -28,15 +28,15 @@ $provide.value("$locale", { "DAY": [ "\u1230\u1295\u1260\u1275", "\u1230\u1291\u12ed", - "\u1230\u1209\u1235", + "\u1220\u1209\u1235", "\u1228\u1261\u12d5", - "\u1213\u1219\u1235", + "\u1283\u1219\u1235", "\u12d3\u122d\u1262", "\u1240\u12f3\u121d" ], "ERANAMES": [ - "\u12d3/\u12d3", - "\u12d3/\u121d" + "\u12d3\u1218\u1270 \u12d3\u1208\u121d", + "\u12d3\u1218\u1270 \u121d\u1205\u1228\u1275" ], "ERAS": [ "\u12d3/\u12d3", @@ -58,27 +58,27 @@ $provide.value("$locale", { "\u1273\u1215\u1233\u1235" ], "SHORTDAY": [ - "\u1230\u1295\u1260\u1275", - "\u1230\u1291\u12ed", - "\u1230\u1209\u1235", - "\u1228\u1261\u12d5", - "\u1213\u1219\u1235", - "\u12d3\u122d\u1262", - "\u1240\u12f3\u121d" + "\u1230\u1295", + "\u1230\u1291", + "\u1230\u1209", + "\u1228\u1261", + "\u1213\u1219", + "\u12d3\u122d", + "\u1240\u12f3" ], "SHORTMONTH": [ "\u1325\u122a", - "\u1208\u12ab\u1272", - "\u1218\u130b\u1262", - "\u121a\u12eb\u12dd", - "\u130d\u1295\u1266", + "\u1208\u12ab", + "\u1218\u130b", + "\u121a\u12eb", + "\u130d\u1295", "\u1230\u1290", - "\u1213\u121d\u1208", - "\u1290\u1213\u1230", - "\u1218\u1235\u12a8", - "\u1325\u1245\u121d", - "\u1215\u12f3\u122d", - "\u1273\u1215\u1233" + "\u1213\u121d", + "\u1290\u1213", + "\u1218\u1235", + "\u1325\u1245", + "\u1215\u12f3", + "\u1273\u1215" ], "STANDALONEMONTH": [ "\u1325\u122a", @@ -98,7 +98,7 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE\u1361 dd MMMM \u1218\u12d3\u120d\u1272 y G", + "fullDate": "EEEE\u1363 dd MMMM \u1218\u12d3\u120d\u1272 y G", "longDate": "dd MMMM y", "medium": "dd-MMM-y h:mm:ss a", "mediumDate": "dd-MMM-y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-et.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-et.js index 15b6d1a2..26b77204 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-et.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti-et.js @@ -36,63 +36,63 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u12d3/\u12d3", - "\u12d3/\u121d" + "\u12d3\u1218\u1270 \u121d\u1205\u1228\u1275" ], "ERAS": [ "\u12d3/\u12d3", "\u12d3/\u121d" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ - "\u1303\u1295\u12e9\u12c8\u122a", - "\u134c\u1265\u1229\u12c8\u122a", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228\u120d", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235\u1275", - "\u1234\u1355\u1274\u121d\u1260\u122d", - "\u12a6\u12ad\u1270\u12cd\u1260\u122d", - "\u1296\u126c\u121d\u1260\u122d", - "\u12f2\u1234\u121d\u1260\u122d" + "\u1325\u122a", + "\u1208\u12ab\u1272\u1275", + "\u1218\u130b\u1262\u1275", + "\u121a\u12eb\u12dd\u12eb", + "\u130d\u1295\u1266\u1275", + "\u1230\u1290", + "\u1213\u121d\u1208", + "\u1290\u1213\u1230", + "\u1218\u1235\u12a8\u1228\u121d", + "\u1325\u1245\u121d\u1272", + "\u1215\u12f3\u122d", + "\u1273\u1215\u1233\u1235" ], "SHORTDAY": [ - "\u1230\u1295\u1260\u1275", - "\u1230\u1291\u12ed", - "\u1220\u1209\u1235", - "\u1228\u1261\u12d5", - "\u1283\u1219\u1235", - "\u12d3\u122d\u1262", - "\u1240\u12f3\u121d" + "\u1230\u1295", + "\u1230\u1291", + "\u1230\u1209", + "\u1228\u1261", + "\u1213\u1219", + "\u12d3\u122d", + "\u1240\u12f3" ], "SHORTMONTH": [ - "\u1303\u1295\u12e9", - "\u134c\u1265\u1229", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235", - "\u1234\u1355\u1274", - "\u12a6\u12ad\u1270", - "\u1296\u126c\u121d", - "\u12f2\u1234\u121d" + "\u1325\u122a", + "\u1208\u12ab", + "\u1218\u130b", + "\u121a\u12eb", + "\u130d\u1295", + "\u1230\u1290", + "\u1213\u121d", + "\u1290\u1213", + "\u1218\u1235", + "\u1325\u1245", + "\u1215\u12f3", + "\u1273\u1215" ], "STANDALONEMONTH": [ - "\u1303\u1295\u12e9\u12c8\u122a", - "\u134c\u1265\u1229\u12c8\u122a", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228\u120d", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235\u1275", - "\u1234\u1355\u1274\u121d\u1260\u122d", - "\u12a6\u12ad\u1270\u12cd\u1260\u122d", - "\u1296\u126c\u121d\u1260\u122d", - "\u12f2\u1234\u121d\u1260\u122d" + "\u1325\u122a", + "\u1208\u12ab\u1272\u1275", + "\u1218\u130b\u1262\u1275", + "\u121a\u12eb\u12dd\u12eb", + "\u130d\u1295\u1266\u1275", + "\u1230\u1290", + "\u1213\u121d\u1208", + "\u1290\u1213\u1230", + "\u1218\u1235\u12a8\u1228\u121d", + "\u1325\u1245\u121d\u1272", + "\u1215\u12f3\u122d", + "\u1273\u1215\u1233\u1235" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti.js index 199b1010..39324523 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ti.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ti.js @@ -36,63 +36,63 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u12d3/\u12d3", - "\u12d3/\u121d" + "\u12d3\u1218\u1270 \u121d\u1205\u1228\u1275" ], "ERAS": [ "\u12d3/\u12d3", "\u12d3/\u121d" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ - "\u1303\u1295\u12e9\u12c8\u122a", - "\u134c\u1265\u1229\u12c8\u122a", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228\u120d", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235\u1275", - "\u1234\u1355\u1274\u121d\u1260\u122d", - "\u12a6\u12ad\u1270\u12cd\u1260\u122d", - "\u1296\u126c\u121d\u1260\u122d", - "\u12f2\u1234\u121d\u1260\u122d" + "\u1325\u122a", + "\u1208\u12ab\u1272\u1275", + "\u1218\u130b\u1262\u1275", + "\u121a\u12eb\u12dd\u12eb", + "\u130d\u1295\u1266\u1275", + "\u1230\u1290", + "\u1213\u121d\u1208", + "\u1290\u1213\u1230", + "\u1218\u1235\u12a8\u1228\u121d", + "\u1325\u1245\u121d\u1272", + "\u1215\u12f3\u122d", + "\u1273\u1215\u1233\u1235" ], "SHORTDAY": [ - "\u1230\u1295\u1260\u1275", - "\u1230\u1291\u12ed", - "\u1220\u1209\u1235", - "\u1228\u1261\u12d5", - "\u1283\u1219\u1235", - "\u12d3\u122d\u1262", - "\u1240\u12f3\u121d" + "\u1230\u1295", + "\u1230\u1291", + "\u1230\u1209", + "\u1228\u1261", + "\u1213\u1219", + "\u12d3\u122d", + "\u1240\u12f3" ], "SHORTMONTH": [ - "\u1303\u1295\u12e9", - "\u134c\u1265\u1229", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235", - "\u1234\u1355\u1274", - "\u12a6\u12ad\u1270", - "\u1296\u126c\u121d", - "\u12f2\u1234\u121d" + "\u1325\u122a", + "\u1208\u12ab", + "\u1218\u130b", + "\u121a\u12eb", + "\u130d\u1295", + "\u1230\u1290", + "\u1213\u121d", + "\u1290\u1213", + "\u1218\u1235", + "\u1325\u1245", + "\u1215\u12f3", + "\u1273\u1215" ], "STANDALONEMONTH": [ - "\u1303\u1295\u12e9\u12c8\u122a", - "\u134c\u1265\u1229\u12c8\u122a", - "\u121b\u122d\u127d", - "\u12a4\u1355\u1228\u120d", - "\u121c\u12ed", - "\u1301\u1295", - "\u1301\u120b\u12ed", - "\u12a6\u1308\u1235\u1275", - "\u1234\u1355\u1274\u121d\u1260\u122d", - "\u12a6\u12ad\u1270\u12cd\u1260\u122d", - "\u1296\u126c\u121d\u1260\u122d", - "\u12f2\u1234\u121d\u1260\u122d" + "\u1325\u122a", + "\u1208\u12ab\u1272\u1275", + "\u1218\u130b\u1262\u1275", + "\u121a\u12eb\u12dd\u12eb", + "\u130d\u1295\u1266\u1275", + "\u1230\u1290", + "\u1213\u121d\u1208", + "\u1290\u1213\u1230", + "\u1218\u1235\u12a8\u1228\u121d", + "\u1325\u1245\u121d\u1272", + "\u1215\u12f3\u122d", + "\u1273\u1215\u1233\u1235" ], "WEEKENDRANGE": [ 5, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_to-to.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_to-to.js index 65f6a5bf..aab9a8e2 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_to-to.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_to-to.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "hengihengi", + "efiafi" ], "DAY": [ "S\u0101pate", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_to.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_to.js index cadf60ad..97c89d5f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_to.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_to.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "hengihengi", + "efiafi" ], "DAY": [ "S\u0101pate", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-cy.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-cy.js index f1ec26e8..017cdea4 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-cy.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-cy.js @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "d MMMM y EEEE", "longDate": "d MMMM y", - "medium": "d MMM y HH:mm:ss", + "medium": "d MMM y h:mm:ss a", "mediumDate": "d MMM y", - "mediumTime": "HH:mm:ss", - "short": "d MM y HH:mm", - "shortDate": "d MM y", - "shortTime": "HH:mm" + "mediumTime": "h:mm:ss a", + "short": "d.MM.y h:mm a", + "shortDate": "d.MM.y", + "shortTime": "h:mm a" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20ac", @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4", + "negSuf": "", + "posPre": "\u00a4", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-tr.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-tr.js index 4758a788..4aa5f87c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-tr.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr-tr.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", "mediumTime": "HH:mm:ss", - "short": "d MM y HH:mm", - "shortDate": "d MM y", + "short": "d.MM.y HH:mm", + "shortDate": "d.MM.y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4", + "negSuf": "", + "posPre": "\u00a4", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr.js index 0de8ed88..743a70ae 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_tr.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_tr.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", "mediumTime": "HH:mm:ss", - "short": "d MM y HH:mm", - "shortDate": "d MM y", + "short": "d.MM.y HH:mm", + "shortDate": "d.MM.y", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4", + "negSuf": "", + "posPre": "\u00a4", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_twq-ne.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_twq-ne.js index 77c78dca..71d17fce 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_twq-ne.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_twq-ne.js @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_tzm.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_tzm.js index b51f0f9e..4786c033 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_tzm.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_tzm.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "dh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ug-cn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ug-cn.js index 502e1af7..ed3eb01c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ug-cn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ug-cn.js @@ -98,13 +98,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE\u060c MMMM d\u060c y", - "longDate": "MMMM d\u060c y", - "medium": "MMM d\u060c y h:mm:ss a", - "mediumDate": "MMM d\u060c y", + "fullDate": "y d-MMMM\u060c EEEE", + "longDate": "d-MMMM\u060c y", + "medium": "d-MMM\u060c y h:mm:ss a", + "mediumDate": "d-MMM\u060c y", "mediumTime": "h:mm:ss a", - "short": "M/d/yy h:mm a", - "shortDate": "M/d/yy", + "short": "y-MM-dd h:mm a", + "shortDate": "y-MM-dd", "shortTime": "h:mm a" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ug.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ug.js index 698df9af..735933f7 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ug.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ug.js @@ -39,7 +39,7 @@ $provide.value("$locale", { "\u0645\u0649\u0644\u0627\u062f\u0649\u064a\u06d5" ], "ERAS": [ - "\u0645\u0649\u0644\u0627\u062f\u0649\u064a\u06d5\u062f\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646", + "BCE", "\u0645\u0649\u0644\u0627\u062f\u0649\u064a\u06d5" ], "FIRSTDAYOFWEEK": 6, @@ -54,7 +54,7 @@ $provide.value("$locale", { "\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a", "\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631", "\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631", - "\u0628\u0648\u064a\u0627\u0628\u0649\u0631", + "\u0646\u0648\u064a\u0627\u0628\u0649\u0631", "\u062f\u06d0\u0643\u0627\u0628\u0649\u0631" ], "SHORTDAY": [ @@ -63,7 +63,7 @@ $provide.value("$locale", { "\u0633\u06d5", "\u0686\u0627", "\u067e\u06d5", - "\u0686\u06c8", + "\u062c\u06c8", "\u0634\u06d5" ], "SHORTMONTH": [ @@ -91,20 +91,20 @@ $provide.value("$locale", { "\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a", "\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631", "\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631", - "\u0628\u0648\u064a\u0627\u0628\u0649\u0631", + "\u0646\u0648\u064a\u0627\u0628\u0649\u0631", "\u062f\u06d0\u0643\u0627\u0628\u0649\u0631" ], "WEEKENDRANGE": [ 5, 6 ], - "fullDate": "EEEE\u060c MMMM d\u060c y", - "longDate": "MMMM d\u060c y", - "medium": "MMM d\u060c y h:mm:ss a", - "mediumDate": "MMM d\u060c y", + "fullDate": "y d-MMMM\u060c EEEE", + "longDate": "d-MMMM\u060c y", + "medium": "d-MMM\u060c y h:mm:ss a", + "mediumDate": "d-MMM\u060c y", "mediumTime": "h:mm:ss a", - "short": "M/d/yy h:mm a", - "shortDate": "M/d/yy", + "short": "y-MM-dd h:mm a", + "shortDate": "y-MM-dd", "shortTime": "h:mm a" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uk-ua.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uk-ua.js index 3c8cbaa5..2491667a 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uk-ua.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uk-ua.js @@ -39,8 +39,8 @@ $provide.value("$locale", { "\u043d\u0430\u0448\u043e\u0457 \u0435\u0440\u0438" ], "ERAS": [ - "\u0434\u043e \u043d.\u0435.", - "\u043d.\u0435." + "\u0434\u043e \u043d. \u0435.", + "\u043d. \u0435." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -58,13 +58,13 @@ $provide.value("$locale", { "\u0433\u0440\u0443\u0434\u043d\u044f" ], "SHORTDAY": [ - "\u041d\u0434", - "\u041f\u043d", - "\u0412\u0442", - "\u0421\u0440", - "\u0427\u0442", - "\u041f\u0442", - "\u0421\u0431" + "\u043d\u0434", + "\u043f\u043d", + "\u0432\u0442", + "\u0441\u0440", + "\u0447\u0442", + "\u043f\u0442", + "\u0441\u0431" ], "SHORTMONTH": [ "\u0441\u0456\u0447.", @@ -81,18 +81,18 @@ $provide.value("$locale", { "\u0433\u0440\u0443\u0434." ], "STANDALONEMONTH": [ - "\u0421\u0456\u0447\u0435\u043d\u044c", - "\u041b\u044e\u0442\u0438\u0439", - "\u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c", - "\u041a\u0432\u0456\u0442\u0435\u043d\u044c", - "\u0422\u0440\u0430\u0432\u0435\u043d\u044c", - "\u0427\u0435\u0440\u0432\u0435\u043d\u044c", - "\u041b\u0438\u043f\u0435\u043d\u044c", - "\u0421\u0435\u0440\u043f\u0435\u043d\u044c", - "\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c", - "\u0416\u043e\u0432\u0442\u0435\u043d\u044c", - "\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434", - "\u0413\u0440\u0443\u0434\u0435\u043d\u044c" + "\u0441\u0456\u0447\u0435\u043d\u044c", + "\u043b\u044e\u0442\u0438\u0439", + "\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c", + "\u043a\u0432\u0456\u0442\u0435\u043d\u044c", + "\u0442\u0440\u0430\u0432\u0435\u043d\u044c", + "\u0447\u0435\u0440\u0432\u0435\u043d\u044c", + "\u043b\u0438\u043f\u0435\u043d\u044c", + "\u0441\u0435\u0440\u043f\u0435\u043d\u044c", + "\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c", + "\u0436\u043e\u0432\u0442\u0435\u043d\u044c", + "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434", + "\u0433\u0440\u0443\u0434\u0435\u043d\u044c" ], "WEEKENDRANGE": [ 5, @@ -108,7 +108,7 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u20b4", + "CURRENCY_SYM": "\u0433\u0440\u043d.", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uk.js index 716d2441..5b460d6c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uk.js @@ -39,8 +39,8 @@ $provide.value("$locale", { "\u043d\u0430\u0448\u043e\u0457 \u0435\u0440\u0438" ], "ERAS": [ - "\u0434\u043e \u043d.\u0435.", - "\u043d.\u0435." + "\u0434\u043e \u043d. \u0435.", + "\u043d. \u0435." ], "FIRSTDAYOFWEEK": 0, "MONTH": [ @@ -58,13 +58,13 @@ $provide.value("$locale", { "\u0433\u0440\u0443\u0434\u043d\u044f" ], "SHORTDAY": [ - "\u041d\u0434", - "\u041f\u043d", - "\u0412\u0442", - "\u0421\u0440", - "\u0427\u0442", - "\u041f\u0442", - "\u0421\u0431" + "\u043d\u0434", + "\u043f\u043d", + "\u0432\u0442", + "\u0441\u0440", + "\u0447\u0442", + "\u043f\u0442", + "\u0441\u0431" ], "SHORTMONTH": [ "\u0441\u0456\u0447.", @@ -81,18 +81,18 @@ $provide.value("$locale", { "\u0433\u0440\u0443\u0434." ], "STANDALONEMONTH": [ - "\u0421\u0456\u0447\u0435\u043d\u044c", - "\u041b\u044e\u0442\u0438\u0439", - "\u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c", - "\u041a\u0432\u0456\u0442\u0435\u043d\u044c", - "\u0422\u0440\u0430\u0432\u0435\u043d\u044c", - "\u0427\u0435\u0440\u0432\u0435\u043d\u044c", - "\u041b\u0438\u043f\u0435\u043d\u044c", - "\u0421\u0435\u0440\u043f\u0435\u043d\u044c", - "\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c", - "\u0416\u043e\u0432\u0442\u0435\u043d\u044c", - "\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434", - "\u0413\u0440\u0443\u0434\u0435\u043d\u044c" + "\u0441\u0456\u0447\u0435\u043d\u044c", + "\u043b\u044e\u0442\u0438\u0439", + "\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c", + "\u043a\u0432\u0456\u0442\u0435\u043d\u044c", + "\u0442\u0440\u0430\u0432\u0435\u043d\u044c", + "\u0447\u0435\u0440\u0432\u0435\u043d\u044c", + "\u043b\u0438\u043f\u0435\u043d\u044c", + "\u0441\u0435\u0440\u043f\u0435\u043d\u044c", + "\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c", + "\u0436\u043e\u0432\u0442\u0435\u043d\u044c", + "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434", + "\u0433\u0440\u0443\u0434\u0435\u043d\u044c" ], "WEEKENDRANGE": [ 5, @@ -108,7 +108,7 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "\u20b4", + "CURRENCY_SYM": "\u0433\u0440\u043d.", "DECIMAL_SEP": ",", "GROUP_SEP": "\u00a0", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-in.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-in.js index 762a3d85..4e7b31ee 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-in.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-in.js @@ -22,12 +22,12 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u0642\u0628\u0644 \u062f\u0648\u067e\u06c1\u0631", - "\u0628\u0639\u062f \u062f\u0648\u067e\u06c1\u0631" + "AM", + "PM" ], "DAY": [ "\u0627\u062a\u0648\u0627\u0631", - "\u0633\u0648\u0645\u0648\u0627\u0631", + "\u067e\u06cc\u0631", "\u0645\u0646\u06af\u0644", "\u0628\u062f\u06be", "\u062c\u0645\u0639\u0631\u0627\u062a", @@ -59,7 +59,7 @@ $provide.value("$locale", { ], "SHORTDAY": [ "\u0627\u062a\u0648\u0627\u0631", - "\u0633\u0648\u0645\u0648\u0627\u0631", + "\u067e\u06cc\u0631", "\u0645\u0646\u06af\u0644", "\u0628\u062f\u06be", "\u062c\u0645\u0639\u0631\u0627\u062a", @@ -100,8 +100,8 @@ $provide.value("$locale", { ], "fullDate": "EEEE\u060c d MMMM\u060c y", "longDate": "d MMMM\u060c y", - "medium": "d MMM\u060c y h:mm:ss a", - "mediumDate": "d MMM\u060c y", + "medium": "y MMM d h:mm:ss a", + "mediumDate": "y MMM d", "mediumTime": "h:mm:ss a", "short": "d/M/yy h:mm a", "shortDate": "d/M/yy", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-pk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-pk.js index 6ab57c00..6e07ddb0 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-pk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur-pk.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u0642\u0628\u0644 \u062f\u0648\u067e\u06c1\u0631", - "\u0628\u0639\u062f \u062f\u0648\u067e\u06c1\u0631" + "AM", + "PM" ], "DAY": [ "\u0627\u062a\u0648\u0627\u0631", @@ -36,11 +36,11 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0642\u0628\u0644 \u0645\u0633\u06cc\u062d", - "\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646" + "\u0639\u06cc\u0633\u0648\u06cc" ], "ERAS": [ - "\u0642 \u0645", - "\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646" + "\u0642\u0628\u0644 \u0645\u0633\u06cc\u062d", + "\u0639\u06cc\u0633\u0648\u06cc" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -100,8 +100,8 @@ $provide.value("$locale", { ], "fullDate": "EEEE\u060c d MMMM\u060c y", "longDate": "d MMMM\u060c y", - "medium": "d MMM\u060c y h:mm:ss a", - "mediumDate": "d MMM\u060c y", + "medium": "y MMM d h:mm:ss a", + "mediumDate": "y MMM d", "mediumTime": "h:mm:ss a", "short": "d/M/yy h:mm a", "shortDate": "d/M/yy", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 2, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4\u00a0", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur.js index 6a950edd..2f866e8e 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_ur.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_ur.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u0642\u0628\u0644 \u062f\u0648\u067e\u06c1\u0631", - "\u0628\u0639\u062f \u062f\u0648\u067e\u06c1\u0631" + "AM", + "PM" ], "DAY": [ "\u0627\u062a\u0648\u0627\u0631", @@ -36,11 +36,11 @@ $provide.value("$locale", { ], "ERANAMES": [ "\u0642\u0628\u0644 \u0645\u0633\u06cc\u062d", - "\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646" + "\u0639\u06cc\u0633\u0648\u06cc" ], "ERAS": [ - "\u0642 \u0645", - "\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646" + "\u0642\u0628\u0644 \u0645\u0633\u06cc\u062d", + "\u0639\u06cc\u0633\u0648\u06cc" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -100,8 +100,8 @@ $provide.value("$locale", { ], "fullDate": "EEEE\u060c d MMMM\u060c y", "longDate": "d MMMM\u060c y", - "medium": "d MMM\u060c y h:mm:ss a", - "mediumDate": "d MMM\u060c y", + "medium": "y MMM d h:mm:ss a", + "mediumDate": "y MMM d", "mediumTime": "h:mm:ss a", "short": "d/M/yy h:mm a", "shortDate": "d/M/yy", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab-af.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab-af.js index 22875a19..3b7ea7ab 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab-af.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab-af.js @@ -17,12 +17,12 @@ $provide.value("$locale", { "\u0634\u0646\u0628\u0647" ], "ERANAMES": [ - "\u0642.\u0645.", - "\u0645." + "BCE", + "CE" ], "ERAS": [ - "\u0642.\u0645.", - "\u0645." + "BCE", + "CE" ], "FIRSTDAYOFWEEK": 5, "MONTH": [ @@ -53,7 +53,7 @@ $provide.value("$locale", { "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0627\u067e\u0631", - "\u0645\u0640\u06cc", + "\u0645\u06cc", "\u062c\u0648\u0646", "\u062c\u0648\u0644", "\u0627\u06af\u0633", @@ -80,14 +80,14 @@ $provide.value("$locale", { 3, 4 ], - "fullDate": "y \u0646\u0686\u06cc \u06cc\u06cc\u0644 d \u0646\u0686\u06cc MMMM EEEE \u06a9\u0648\u0646\u06cc", - "longDate": "d \u0646\u0686\u06cc MMMM y", - "medium": "d MMM y H:mm:ss", - "mediumDate": "d MMM y", - "mediumTime": "H:mm:ss", - "short": "y/M/d H:mm", - "shortDate": "y/M/d", - "shortTime": "H:mm" + "fullDate": "y MMMM d, EEEE", + "longDate": "y MMMM d", + "medium": "y MMM d HH:mm:ss", + "mediumDate": "y MMM d", + "mediumTime": "HH:mm:ss", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Af.", @@ -108,13 +108,13 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4\u00a0", + "negSuf": "", + "posPre": "\u00a4\u00a0", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab.js index c25ffc71..0246c209 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-arab.js @@ -17,12 +17,12 @@ $provide.value("$locale", { "\u0634\u0646\u0628\u0647" ], "ERANAMES": [ - "\u0642.\u0645.", - "\u0645." + "BCE", + "CE" ], "ERAS": [ - "\u0642.\u0645.", - "\u0645." + "BCE", + "CE" ], "FIRSTDAYOFWEEK": 5, "MONTH": [ @@ -53,7 +53,7 @@ $provide.value("$locale", { "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0627\u067e\u0631", - "\u0645\u0640\u06cc", + "\u0645\u06cc", "\u062c\u0648\u0646", "\u062c\u0648\u0644", "\u0627\u06af\u0633", @@ -80,14 +80,14 @@ $provide.value("$locale", { 3, 4 ], - "fullDate": "y \u0646\u0686\u06cc \u06cc\u06cc\u0644 d \u0646\u0686\u06cc MMMM EEEE \u06a9\u0648\u0646\u06cc", - "longDate": "d \u0646\u0686\u06cc MMMM y", - "medium": "d MMM y H:mm:ss", - "mediumDate": "d MMM y", - "mediumTime": "H:mm:ss", - "short": "y/M/d H:mm", - "shortDate": "y/M/d", - "shortTime": "H:mm" + "fullDate": "y MMMM d, EEEE", + "longDate": "y MMMM d", + "medium": "y MMM d HH:mm:ss", + "mediumDate": "y MMM d", + "mediumTime": "HH:mm:ss", + "short": "y-MM-dd HH:mm", + "shortDate": "y-MM-dd", + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "Af.", @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4\u00a0", + "negSuf": "", + "posPre": "\u00a4\u00a0", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl-uz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl-uz.js index 3f3106a9..d1723c81 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl-uz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl-uz.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0422\u041e", + "\u0422\u041a" ], "DAY": [ "\u044f\u043a\u0448\u0430\u043d\u0431\u0430", @@ -17,50 +17,50 @@ $provide.value("$locale", { "\u0448\u0430\u043d\u0431\u0430" ], "ERANAMES": [ - "\u041c.\u0410.", - "\u042d" + "\u043c\u0438\u043b\u043e\u0434\u0434\u0430\u043d \u0430\u0432\u0432\u0430\u043b\u0433\u0438", + "\u043c\u0438\u043b\u043e\u0434\u0438\u0439" ], "ERAS": [ - "\u041c.\u0410.", - "\u042d" + "\u043c.\u0430.", + "\u043c\u0438\u043b\u043e\u0434\u0438\u0439" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "\u042f\u043d\u0432\u0430\u0440", - "\u0424\u0435\u0432\u0440\u0430\u043b", - "\u041c\u0430\u0440\u0442", - "\u0410\u043f\u0440\u0435\u043b", - "\u041c\u0430\u0439", - "\u0418\u044e\u043d", - "\u0418\u044e\u043b", - "\u0410\u0432\u0433\u0443\u0441\u0442", - "\u0421\u0435\u043d\u0442\u044f\u0431\u0440", - "\u041e\u043a\u0442\u044f\u0431\u0440", - "\u041d\u043e\u044f\u0431\u0440", - "\u0414\u0435\u043a\u0430\u0431\u0440" + "\u044f\u043d\u0432\u0430\u0440", + "\u0444\u0435\u0432\u0440\u0430\u043b", + "\u043c\u0430\u0440\u0442", + "\u0430\u043f\u0440\u0435\u043b", + "\u043c\u0430\u0439", + "\u0438\u044e\u043d", + "\u0438\u044e\u043b", + "\u0430\u0432\u0433\u0443\u0441\u0442", + "\u0441\u0435\u043d\u0442\u044f\u0431\u0440", + "\u043e\u043a\u0442\u044f\u0431\u0440", + "\u043d\u043e\u044f\u0431\u0440", + "\u0434\u0435\u043a\u0430\u0431\u0440" ], "SHORTDAY": [ - "\u042f\u043a\u0448", - "\u0414\u0443\u0448", - "\u0421\u0435\u0448", - "\u0427\u043e\u0440", - "\u041f\u0430\u0439", - "\u0416\u0443\u043c", - "\u0428\u0430\u043d" + "\u044f\u043a\u0448", + "\u0434\u0443\u0448", + "\u0441\u0435\u0448", + "\u0447\u043e\u0440", + "\u043f\u0430\u0439", + "\u0436\u0443\u043c", + "\u0448\u0430\u043d" ], "SHORTMONTH": [ - "\u042f\u043d\u0432", - "\u0424\u0435\u0432", - "\u041c\u0430\u0440", - "\u0410\u043f\u0440", - "\u041c\u0430\u0439", - "\u0418\u044e\u043d", - "\u0418\u044e\u043b", - "\u0410\u0432\u0433", - "\u0421\u0435\u043d", - "\u041e\u043a\u0442", - "\u041d\u043e\u044f", - "\u0414\u0435\u043a" + "\u044f\u043d\u0432", + "\u0444\u0435\u0432", + "\u043c\u0430\u0440", + "\u0430\u043f\u0440", + "\u043c\u0430\u0439", + "\u0438\u044e\u043d", + "\u0438\u044e\u043b", + "\u0430\u0432\u0433", + "\u0441\u0435\u043d", + "\u043e\u043a\u0442", + "\u043d\u043e\u044f", + "\u0434\u0435\u043a" ], "STANDALONEMONTH": [ "\u042f\u043d\u0432\u0430\u0440", @@ -80,13 +80,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", + "fullDate": "EEEE, dd MMMM, y", + "longDate": "d MMMM, y", + "medium": "d MMM, y HH:mm:ss", + "mediumDate": "d MMM, y", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "dd/MM/yy HH:mm", + "shortDate": "dd/MM/yy", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -108,13 +108,13 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl.js index 824aaa44..e3cf1744 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-cyrl.js @@ -4,8 +4,8 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "AM", - "PM" + "\u0422\u041e", + "\u0422\u041a" ], "DAY": [ "\u044f\u043a\u0448\u0430\u043d\u0431\u0430", @@ -17,50 +17,50 @@ $provide.value("$locale", { "\u0448\u0430\u043d\u0431\u0430" ], "ERANAMES": [ - "\u041c.\u0410.", - "\u042d" + "\u043c\u0438\u043b\u043e\u0434\u0434\u0430\u043d \u0430\u0432\u0432\u0430\u043b\u0433\u0438", + "\u043c\u0438\u043b\u043e\u0434\u0438\u0439" ], "ERAS": [ - "\u041c.\u0410.", - "\u042d" + "\u043c.\u0430.", + "\u043c\u0438\u043b\u043e\u0434\u0438\u0439" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "\u042f\u043d\u0432\u0430\u0440", - "\u0424\u0435\u0432\u0440\u0430\u043b", - "\u041c\u0430\u0440\u0442", - "\u0410\u043f\u0440\u0435\u043b", - "\u041c\u0430\u0439", - "\u0418\u044e\u043d", - "\u0418\u044e\u043b", - "\u0410\u0432\u0433\u0443\u0441\u0442", - "\u0421\u0435\u043d\u0442\u044f\u0431\u0440", - "\u041e\u043a\u0442\u044f\u0431\u0440", - "\u041d\u043e\u044f\u0431\u0440", - "\u0414\u0435\u043a\u0430\u0431\u0440" + "\u044f\u043d\u0432\u0430\u0440", + "\u0444\u0435\u0432\u0440\u0430\u043b", + "\u043c\u0430\u0440\u0442", + "\u0430\u043f\u0440\u0435\u043b", + "\u043c\u0430\u0439", + "\u0438\u044e\u043d", + "\u0438\u044e\u043b", + "\u0430\u0432\u0433\u0443\u0441\u0442", + "\u0441\u0435\u043d\u0442\u044f\u0431\u0440", + "\u043e\u043a\u0442\u044f\u0431\u0440", + "\u043d\u043e\u044f\u0431\u0440", + "\u0434\u0435\u043a\u0430\u0431\u0440" ], "SHORTDAY": [ - "\u042f\u043a\u0448", - "\u0414\u0443\u0448", - "\u0421\u0435\u0448", - "\u0427\u043e\u0440", - "\u041f\u0430\u0439", - "\u0416\u0443\u043c", - "\u0428\u0430\u043d" + "\u044f\u043a\u0448", + "\u0434\u0443\u0448", + "\u0441\u0435\u0448", + "\u0447\u043e\u0440", + "\u043f\u0430\u0439", + "\u0436\u0443\u043c", + "\u0448\u0430\u043d" ], "SHORTMONTH": [ - "\u042f\u043d\u0432", - "\u0424\u0435\u0432", - "\u041c\u0430\u0440", - "\u0410\u043f\u0440", - "\u041c\u0430\u0439", - "\u0418\u044e\u043d", - "\u0418\u044e\u043b", - "\u0410\u0432\u0433", - "\u0421\u0435\u043d", - "\u041e\u043a\u0442", - "\u041d\u043e\u044f", - "\u0414\u0435\u043a" + "\u044f\u043d\u0432", + "\u0444\u0435\u0432", + "\u043c\u0430\u0440", + "\u0430\u043f\u0440", + "\u043c\u0430\u0439", + "\u0438\u044e\u043d", + "\u0438\u044e\u043b", + "\u0430\u0432\u0433", + "\u0441\u0435\u043d", + "\u043e\u043a\u0442", + "\u043d\u043e\u044f", + "\u0434\u0435\u043a" ], "STANDALONEMONTH": [ "\u042f\u043d\u0432\u0430\u0440", @@ -80,13 +80,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", + "fullDate": "EEEE, dd MMMM, y", + "longDate": "d MMMM, y", + "medium": "d MMM, y HH:mm:ss", + "mediumDate": "d MMM, y", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "dd/MM/yy HH:mm", + "shortDate": "dd/MM/yy", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn-uz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn-uz.js index 6872728b..b8afec11 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn-uz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn-uz.js @@ -17,30 +17,30 @@ $provide.value("$locale", { "shanba" ], "ERANAMES": [ - "M.A.", - "E" + "miloddan avvalgi", + "milodiy" ], "ERAS": [ - "M.A.", - "E" + "m.a.", + "milodiy" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "Yanvar", - "Fevral", - "Mart", - "Aprel", - "May", - "Iyun", - "Iyul", - "Avgust", - "Sentabr", - "Oktabr", - "Noyabr", - "Dekabr" + "yanvar", + "fevral", + "mart", + "aprel", + "may", + "iyun", + "iyul", + "avgust", + "sentabr", + "oktabr", + "noyabr", + "dekabr" ], "SHORTDAY": [ - "Yaksh", + "Yak", "Dush", "Sesh", "Chor", @@ -49,18 +49,18 @@ $provide.value("$locale", { "Shan" ], "SHORTMONTH": [ - "Yanv", - "Fev", - "Mar", - "Apr", - "May", - "Iyun", - "Iyul", - "Avg", - "Sen", - "Okt", - "Noya", - "Dek" + "yan", + "fev", + "mar", + "apr", + "may", + "iyn", + "iyl", + "avg", + "sen", + "okt", + "noy", + "dek" ], "STANDALONEMONTH": [ "Yanvar", @@ -80,13 +80,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", + "fullDate": "EEEE, d-MMMM, y", + "longDate": "d-MMMM, y", + "medium": "d-MMM, y HH:mm:ss", + "mediumDate": "d-MMM, y", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "dd/MM/yy HH:mm", + "shortDate": "dd/MM/yy", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -108,13 +108,13 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn.js index ca53f82e..56724d15 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz-latn.js @@ -17,30 +17,30 @@ $provide.value("$locale", { "shanba" ], "ERANAMES": [ - "M.A.", - "E" + "miloddan avvalgi", + "milodiy" ], "ERAS": [ - "M.A.", - "E" + "m.a.", + "milodiy" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "Yanvar", - "Fevral", - "Mart", - "Aprel", - "May", - "Iyun", - "Iyul", - "Avgust", - "Sentabr", - "Oktabr", - "Noyabr", - "Dekabr" + "yanvar", + "fevral", + "mart", + "aprel", + "may", + "iyun", + "iyul", + "avgust", + "sentabr", + "oktabr", + "noyabr", + "dekabr" ], "SHORTDAY": [ - "Yaksh", + "Yak", "Dush", "Sesh", "Chor", @@ -49,18 +49,18 @@ $provide.value("$locale", { "Shan" ], "SHORTMONTH": [ - "Yanv", - "Fev", - "Mar", - "Apr", - "May", - "Iyun", - "Iyul", - "Avg", - "Sen", - "Okt", - "Noya", - "Dek" + "yan", + "fev", + "mar", + "apr", + "may", + "iyn", + "iyl", + "avg", + "sen", + "okt", + "noy", + "dek" ], "STANDALONEMONTH": [ "Yanvar", @@ -80,13 +80,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", + "fullDate": "EEEE, d-MMMM, y", + "longDate": "d-MMMM, y", + "medium": "d-MMM, y HH:mm:ss", + "mediumDate": "d-MMM, y", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "dd/MM/yy HH:mm", + "shortDate": "dd/MM/yy", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz.js index 8eb442a4..0af75a83 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_uz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_uz.js @@ -17,30 +17,30 @@ $provide.value("$locale", { "shanba" ], "ERANAMES": [ - "M.A.", - "E" + "miloddan avvalgi", + "milodiy" ], "ERAS": [ - "M.A.", - "E" + "m.a.", + "milodiy" ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "Yanvar", - "Fevral", - "Mart", - "Aprel", - "May", - "Iyun", - "Iyul", - "Avgust", - "Sentabr", - "Oktabr", - "Noyabr", - "Dekabr" + "yanvar", + "fevral", + "mart", + "aprel", + "may", + "iyun", + "iyul", + "avgust", + "sentabr", + "oktabr", + "noyabr", + "dekabr" ], "SHORTDAY": [ - "Yaksh", + "Yak", "Dush", "Sesh", "Chor", @@ -49,18 +49,18 @@ $provide.value("$locale", { "Shan" ], "SHORTMONTH": [ - "Yanv", - "Fev", - "Mar", - "Apr", - "May", - "Iyun", - "Iyul", - "Avg", - "Sen", - "Okt", - "Noya", - "Dek" + "yan", + "fev", + "mar", + "apr", + "may", + "iyn", + "iyl", + "avg", + "sen", + "okt", + "noy", + "dek" ], "STANDALONEMONTH": [ "Yanvar", @@ -80,13 +80,13 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, y MMMM dd", - "longDate": "y MMMM d", - "medium": "y MMM d HH:mm:ss", - "mediumDate": "y MMM d", + "fullDate": "EEEE, d-MMMM, y", + "longDate": "d-MMMM, y", + "medium": "d-MMM, y HH:mm:ss", + "mediumDate": "d-MMM, y", "mediumTime": "HH:mm:ss", - "short": "yy/MM/dd HH:mm", - "shortDate": "yy/MM/dd", + "short": "dd/MM/yy HH:mm", + "shortDate": "dd/MM/yy", "shortTime": "HH:mm" }, "NUMBER_FORMATS": { @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", - "negSuf": "", - "posPre": "\u00a4\u00a0", - "posSuf": "" + "negPre": "-", + "negSuf": "\u00a0\u00a4", + "posPre": "", + "posSuf": "\u00a0\u00a4" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vi-vn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vi-vn.js index bd1ff23a..40dd78cf 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vi-vn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vi-vn.js @@ -17,11 +17,11 @@ $provide.value("$locale", { "Th\u1ee9 B\u1ea3y" ], "ERANAMES": [ - "tr. CN", + "Tr\u01b0\u1edbc CN", "sau CN" ], "ERAS": [ - "tr. CN", + "Tr\u01b0\u1edbc CN", "sau CN" ], "FIRSTDAYOFWEEK": 0, @@ -80,10 +80,10 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, 'ng\u00e0y' dd MMMM 'n\u0103m' y", - "longDate": "'Ng\u00e0y' dd 'th\u00e1ng' MM 'n\u0103m' y", - "medium": "dd-MM-y HH:mm:ss", - "mediumDate": "dd-MM-y", + "fullDate": "EEEE, d MMMM, y", + "longDate": "d MMMM, y", + "medium": "d MMM, y HH:mm:ss", + "mediumDate": "d MMM, y", "mediumTime": "HH:mm:ss", "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", @@ -108,13 +108,13 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4\u00a0", + "negSuf": "", + "posPre": "\u00a4\u00a0", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vi.js index cae6f1bc..74cdcadc 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vi.js @@ -17,11 +17,11 @@ $provide.value("$locale", { "Th\u1ee9 B\u1ea3y" ], "ERANAMES": [ - "tr. CN", + "Tr\u01b0\u1edbc CN", "sau CN" ], "ERAS": [ - "tr. CN", + "Tr\u01b0\u1edbc CN", "sau CN" ], "FIRSTDAYOFWEEK": 0, @@ -80,10 +80,10 @@ $provide.value("$locale", { 5, 6 ], - "fullDate": "EEEE, 'ng\u00e0y' dd MMMM 'n\u0103m' y", - "longDate": "'Ng\u00e0y' dd 'th\u00e1ng' MM 'n\u0103m' y", - "medium": "dd-MM-y HH:mm:ss", - "mediumDate": "dd-MM-y", + "fullDate": "EEEE, d MMMM, y", + "longDate": "d MMMM, y", + "medium": "d MMM, y HH:mm:ss", + "mediumDate": "d MMM, y", "mediumTime": "HH:mm:ss", "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", @@ -111,10 +111,10 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-", - "negSuf": "\u00a0\u00a4", - "posPre": "", - "posSuf": "\u00a0\u00a4" + "negPre": "-\u00a4\u00a0", + "negSuf": "", + "posPre": "\u00a4\u00a0", + "posSuf": "" } ] }, diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vo-001.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vo-001.js index a17a26da..fe64c0c5 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vo-001.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vo-001.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "posz.", - "b\u00fcz." + "AM", + "PM" ], "DAY": [ "sudel", @@ -44,9 +44,9 @@ $provide.value("$locale", { ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "janul", + "yanul", "febul", - "m\u00e4zil", + "m\u00e4zul", "prilul", "mayul", "yunul", @@ -67,7 +67,7 @@ $provide.value("$locale", { "z\u00e4." ], "SHORTMONTH": [ - "jan", + "yan", "feb", "m\u00e4z", "prl", @@ -80,11 +80,25 @@ $provide.value("$locale", { "nov", "dek" ], + "STANDALONEMONTH": [ + "yanul", + "febul", + "m\u00e4zul", + "prilul", + "mayul", + "yunul", + "yulul", + "gustul", + "setul", + "tobul", + "novul", + "dekul" + ], "WEEKENDRANGE": [ 5, 6 ], - "fullDate": "y MMMMa 'd'. d'id'", + "fullDate": "y MMMM'a' 'd'. d'id'", "longDate": "y MMMM d", "medium": "y MMM. d HH:mm:ss", "mediumDate": "y MMM. d", @@ -115,7 +129,7 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "\u00a4\u00a0-", + "negPre": "-\u00a4\u00a0", "negSuf": "", "posPre": "\u00a4\u00a0", "posSuf": "" @@ -123,6 +137,7 @@ $provide.value("$locale", { ] }, "id": "vo-001", + "localeID": "vo_001", "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vo.js index f8507993..d76a390d 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vo.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "posz.", - "b\u00fcz." + "AM", + "PM" ], "DAY": [ "sudel", @@ -44,9 +44,9 @@ $provide.value("$locale", { ], "FIRSTDAYOFWEEK": 0, "MONTH": [ - "janul", + "yanul", "febul", - "m\u00e4zil", + "m\u00e4zul", "prilul", "mayul", "yunul", @@ -67,7 +67,7 @@ $provide.value("$locale", { "z\u00e4." ], "SHORTMONTH": [ - "jan", + "yan", "feb", "m\u00e4z", "prl", @@ -80,11 +80,25 @@ $provide.value("$locale", { "nov", "dek" ], + "STANDALONEMONTH": [ + "yanul", + "febul", + "m\u00e4zul", + "prilul", + "mayul", + "yunul", + "yulul", + "gustul", + "setul", + "tobul", + "novul", + "dekul" + ], "WEEKENDRANGE": [ 5, 6 ], - "fullDate": "y MMMMa 'd'. d'id'", + "fullDate": "y MMMM'a' 'd'. d'id'", "longDate": "y MMMM d", "medium": "y MMM. d HH:mm:ss", "mediumDate": "y MMM. d", @@ -115,7 +129,7 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "\u00a4\u00a0-", + "negPre": "-\u00a4\u00a0", "negSuf": "", "posPre": "\u00a4\u00a0", "posSuf": "" @@ -123,6 +137,7 @@ $provide.value("$locale", { ] }, "id": "vo", + "localeID": "vo", "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (i == 1 && vf.v == 0) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;} }); }]); diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vun-tz.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vun-tz.js index a25eb311..7f1900e6 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vun-tz.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vun-tz.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_vun.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_vun.js index f539e2c3..33adf411 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_vun.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_vun.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "TSh", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_xog-ug.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_xog-ug.js index 0e265809..c17dd023 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_xog-ug.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_xog-ug.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "UGX", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_xog.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_xog.js index 74286891..88b7d160 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_xog.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_xog.js @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "UGX", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yav-cm.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yav-cm.js index c880307b..9c93a7ee 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yav-cm.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yav-cm.js @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-", "negSuf": "\u00a0\u00a4", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yi-001.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yi-001.js index 8698143a..0e049960 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yi-001.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yi-001.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u05e4\u05d0\u05e8\u05de\u05d9\u05d8\u05d0\u05d2", - "\u05e0\u05d0\u05db\u05de\u05d9\u05d8\u05d0\u05d2" + "\u05e4\u05bf\u05d0\u05b7\u05e8\u05de\u05d9\u05d8\u05d0\u05b8\u05d2", + "\u05e0\u05d0\u05b8\u05db\u05de\u05d9\u05d8\u05d0\u05b8\u05d2" ], "DAY": [ "\u05d6\u05d5\u05e0\u05d8\u05d9\u05e7", @@ -108,7 +108,7 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "$", + "CURRENCY_SYM": "\u20ac", "DECIMAL_SEP": ".", "GROUP_SEP": ",", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yi.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yi.js index 8f3e2827..c74f10a8 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yi.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yi.js @@ -22,8 +22,8 @@ function getVF(n, opt_precision) { $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "\u05e4\u05d0\u05e8\u05de\u05d9\u05d8\u05d0\u05d2", - "\u05e0\u05d0\u05db\u05de\u05d9\u05d8\u05d0\u05d2" + "\u05e4\u05bf\u05d0\u05b7\u05e8\u05de\u05d9\u05d8\u05d0\u05b8\u05d2", + "\u05e0\u05d0\u05b8\u05db\u05de\u05d9\u05d8\u05d0\u05b8\u05d2" ], "DAY": [ "\u05d6\u05d5\u05e0\u05d8\u05d9\u05e7", @@ -108,7 +108,7 @@ $provide.value("$locale", { "shortTime": "HH:mm" }, "NUMBER_FORMATS": { - "CURRENCY_SYM": "$", + "CURRENCY_SYM": "\u20ac", "DECIMAL_SEP": ".", "GROUP_SEP": ",", "PATTERNS": [ diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-bj.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-bj.js index a3fa2273..6044e716 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-bj.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-bj.js @@ -39,7 +39,7 @@ $provide.value("$locale", { "Lehin Kristi" ], "ERAS": [ - "SK", + "BCE", "LK" ], "FIRSTDAYOFWEEK": 0, @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "CFA", @@ -126,8 +126,8 @@ $provide.value("$locale", { { "gSize": 3, "lgSize": 3, - "maxFrac": 2, - "minFrac": 2, + "maxFrac": 0, + "minFrac": 0, "minInt": 1, "negPre": "-\u00a4", "negSuf": "", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-ng.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-ng.js index 6af884e6..5c959c4c 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-ng.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo-ng.js @@ -39,7 +39,7 @@ $provide.value("$locale", { "Lehin Kristi" ], "ERAS": [ - "SK", + "BCE", "LK" ], "FIRSTDAYOFWEEK": 0, @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20a6", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo.js index 02fe5499..23c7be16 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yo.js @@ -39,7 +39,7 @@ $provide.value("$locale", { "Lehin Kristi" ], "ERAS": [ - "SK", + "BCE", "LK" ], "FIRSTDAYOFWEEK": 0, @@ -100,12 +100,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, d MMMM y", "longDate": "d MMMM y", - "medium": "d MMM y h:mm:ss a", + "medium": "d MMM y HH:mm:ss", "mediumDate": "d MMM y", - "mediumTime": "h:mm:ss a", - "short": "dd/MM/y h:mm a", + "mediumTime": "HH:mm:ss", + "short": "dd/MM/y HH:mm", "shortDate": "dd/MM/y", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "\u20a6", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yue-hk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yue-hk.js index cf6b2071..294e3bdb 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yue-hk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yue-hk.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u897f\u5143\u524d", "\u897f\u5143" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "1\u6708", "2\u6708", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_yue.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_yue.js index 268bce89..cf1c4aaf 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_yue.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_yue.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u897f\u5143\u524d", "\u897f\u5143" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 6, "MONTH": [ "1\u6708", "2\u6708", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh-ma.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh-ma.js index 70aaf858..3e6aea22 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh-ma.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh-ma.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u2d37\u2d30\u2d44", "\u2d37\u2d3c\u2d44" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54", "\u2d31\u2d55\u2d30\u2d62\u2d55", @@ -95,8 +95,8 @@ $provide.value("$locale", { "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh.js index dc8b56af..9f51e216 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zgh.js @@ -42,7 +42,7 @@ $provide.value("$locale", { "\u2d37\u2d30\u2d44", "\u2d37\u2d3c\u2d44" ], - "FIRSTDAYOFWEEK": 0, + "FIRSTDAYOFWEEK": 5, "MONTH": [ "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54", "\u2d31\u2d55\u2d30\u2d62\u2d55", @@ -95,8 +95,8 @@ $provide.value("$locale", { "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54" ], "WEEKENDRANGE": [ - 5, - 6 + 4, + 5 ], "fullDate": "EEEE d MMMM y", "longDate": "d MMMM y", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-cn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-cn.js index 9dcded23..0471b82b 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-cn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-cn.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "yy/M/d ah:mm", - "shortDate": "yy/M/d", + "short": "y/M/d ah:mm", + "shortDate": "y/M/d", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { @@ -111,9 +111,9 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", + "negPre": "-\u00a4", "negSuf": "", - "posPre": "\u00a4\u00a0", + "posPre": "\u00a4", "posSuf": "" } ] diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans-cn.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans-cn.js index 9caf0a9e..ddec0451 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans-cn.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans-cn.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "yy/M/d ah:mm", - "shortDate": "yy/M/d", + "short": "y/M/d ah:mm", + "shortDate": "y/M/d", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { @@ -111,9 +111,9 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", + "negPre": "-\u00a4", "negSuf": "", - "posPre": "\u00a4\u00a0", + "posPre": "\u00a4", "posSuf": "" } ] diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans.js index 8cc744e2..5948e7cd 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hans.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "yy/M/d ah:mm", - "shortDate": "yy/M/d", + "short": "y/M/d ah:mm", + "shortDate": "y/M/d", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { @@ -111,9 +111,9 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", + "negPre": "-\u00a4", "negSuf": "", - "posPre": "\u00a4\u00a0", + "posPre": "\u00a4", "posSuf": "" } ] diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-hk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-hk.js index 83afa08c..cc19c70f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-hk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-hk.js @@ -21,8 +21,8 @@ $provide.value("$locale", { "\u516c\u5143" ], "ERAS": [ - "BC", - "AD" + "\u516c\u5143\u524d", + "\u516c\u5143" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "d/M/yy ah:mm", - "shortDate": "d/M/yy", + "short": "d/M/y ah:mm", + "shortDate": "d/M/y", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-mo.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-mo.js index 9e7dff0e..8664ba0f 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-mo.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hant-mo.js @@ -21,8 +21,8 @@ $provide.value("$locale", { "\u516c\u5143" ], "ERAS": [ - "BC", - "AD" + "\u516c\u5143\u524d", + "\u516c\u5143" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "d/M/yy ah:mm", - "shortDate": "d/M/yy", + "short": "d/M/y ah:mm", + "shortDate": "d/M/y", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hk.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hk.js index c6c3620b..fc772436 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hk.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh-hk.js @@ -21,8 +21,8 @@ $provide.value("$locale", { "\u516c\u5143" ], "ERAS": [ - "BC", - "AD" + "\u516c\u5143\u524d", + "\u516c\u5143" ], "FIRSTDAYOFWEEK": 6, "MONTH": [ @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "d/M/yy ah:mm", - "shortDate": "d/M/yy", + "short": "d/M/y ah:mm", + "shortDate": "d/M/y", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh.js index 41f05a89..73348804 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zh.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zh.js @@ -85,8 +85,8 @@ $provide.value("$locale", { "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", "mediumDate": "y\u5e74M\u6708d\u65e5", "mediumTime": "ah:mm:ss", - "short": "yy/M/d ah:mm", - "shortDate": "yy/M/d", + "short": "y/M/d ah:mm", + "shortDate": "y/M/d", "shortTime": "ah:mm" }, "NUMBER_FORMATS": { @@ -111,9 +111,9 @@ $provide.value("$locale", { "maxFrac": 2, "minFrac": 2, "minInt": 1, - "negPre": "-\u00a4\u00a0", + "negPre": "-\u00a4", "negSuf": "", - "posPre": "\u00a4\u00a0", + "posPre": "\u00a4", "posSuf": "" } ] diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zu-za.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zu-za.js index e11f8d46..29398232 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zu-za.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zu-za.js @@ -4,17 +4,17 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "Ekuseni", - "Ntambama" + "AM", + "PM" ], "DAY": [ - "Sonto", - "Msombuluko", - "Lwesibili", - "Lwesithathu", - "Lwesine", - "Lwesihlanu", - "Mgqibelo" + "ISonto", + "UMsombuluko", + "ULwesibili", + "ULwesithathu", + "ULwesine", + "ULwesihlanu", + "UMgqibelo" ], "ERANAMES": [ "BC", @@ -26,10 +26,10 @@ $provide.value("$locale", { ], "FIRSTDAYOFWEEK": 6, "MONTH": [ - "Januwari", + "UMasingana", "Februwari", "Mashi", - "Apreli", + "Ephreli", "Meyi", "Juni", "Julayi", @@ -52,7 +52,7 @@ $provide.value("$locale", { "Jan", "Feb", "Mas", - "Apr", + "Eph", "Mey", "Jun", "Jul", @@ -66,7 +66,7 @@ $provide.value("$locale", { "Januwari", "Februwari", "Mashi", - "Apreli", + "Ephreli", "Meyi", "Juni", "Julayi", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, MMMM d, y", "longDate": "MMMM d, y", - "medium": "MMM d, y h:mm:ss a", + "medium": "MMM d, y HH:mm:ss", "mediumDate": "MMM d, y", - "mediumTime": "h:mm:ss a", - "short": "M/d/yy h:mm a", + "mediumTime": "HH:mm:ss", + "short": "M/d/yy HH:mm", "shortDate": "M/d/yy", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "R", diff --git a/public/app/vendor/node_modules/angular-i18n/angular-locale_zu.js b/public/app/vendor/node_modules/angular-i18n/angular-locale_zu.js index 50372f67..3d802906 100644 --- a/public/app/vendor/node_modules/angular-i18n/angular-locale_zu.js +++ b/public/app/vendor/node_modules/angular-i18n/angular-locale_zu.js @@ -4,17 +4,17 @@ var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: " $provide.value("$locale", { "DATETIME_FORMATS": { "AMPMS": [ - "Ekuseni", - "Ntambama" + "AM", + "PM" ], "DAY": [ - "Sonto", - "Msombuluko", - "Lwesibili", - "Lwesithathu", - "Lwesine", - "Lwesihlanu", - "Mgqibelo" + "ISonto", + "UMsombuluko", + "ULwesibili", + "ULwesithathu", + "ULwesine", + "ULwesihlanu", + "UMgqibelo" ], "ERANAMES": [ "BC", @@ -26,10 +26,10 @@ $provide.value("$locale", { ], "FIRSTDAYOFWEEK": 6, "MONTH": [ - "Januwari", + "UMasingana", "Februwari", "Mashi", - "Apreli", + "Ephreli", "Meyi", "Juni", "Julayi", @@ -52,7 +52,7 @@ $provide.value("$locale", { "Jan", "Feb", "Mas", - "Apr", + "Eph", "Mey", "Jun", "Jul", @@ -66,7 +66,7 @@ $provide.value("$locale", { "Januwari", "Februwari", "Mashi", - "Apreli", + "Ephreli", "Meyi", "Juni", "Julayi", @@ -82,12 +82,12 @@ $provide.value("$locale", { ], "fullDate": "EEEE, MMMM d, y", "longDate": "MMMM d, y", - "medium": "MMM d, y h:mm:ss a", + "medium": "MMM d, y HH:mm:ss", "mediumDate": "MMM d, y", - "mediumTime": "h:mm:ss a", - "short": "M/d/yy h:mm a", + "mediumTime": "HH:mm:ss", + "short": "M/d/yy HH:mm", "shortDate": "M/d/yy", - "shortTime": "h:mm a" + "shortTime": "HH:mm" }, "NUMBER_FORMATS": { "CURRENCY_SYM": "R", diff --git a/public/app/vendor/node_modules/angular-i18n/bower.json b/public/app/vendor/node_modules/angular-i18n/bower.json index c35f88e8..cc7a732b 100644 --- a/public/app/vendor/node_modules/angular-i18n/bower.json +++ b/public/app/vendor/node_modules/angular-i18n/bower.json @@ -1,6 +1,6 @@ { "name": "angular-i18n", - "version": "1.5.8", + "version": "1.6.6", "license": "MIT", "ignore": [ "**/.*", diff --git a/public/app/vendor/node_modules/angular-i18n/package.json b/public/app/vendor/node_modules/angular-i18n/package.json index 090cb7ae..97b0b2a9 100644 --- a/public/app/vendor/node_modules/angular-i18n/package.json +++ b/public/app/vendor/node_modules/angular-i18n/package.json @@ -1,30 +1,67 @@ { - "name": "angular-i18n", - "version": "1.5.8", - "description": "AngularJS module for internationalization", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/angular/angular.js.git" - }, - "keywords": [ - "angular", - "framework", - "browser", - "internationalization", - "i18n", - "client-side" + "_args": [ + [ + { + "raw": "angular-i18n@1.6.6", + "scope": null, + "escapedName": "angular-i18n", + "name": "angular-i18n", + "rawSpec": "1.6.6", + "spec": "1.6.6", + "type": "version" + }, + "/home/cycojesus/projets/ledgerrb/public/app/vendor" + ] ], + "_from": "angular-i18n@1.6.6", + "_id": "angular-i18n@1.6.6", + "_inCache": true, + "_location": "/angular-i18n", + "_nodeVersion": "6.11.2", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/angular-i18n-1.6.6.tgz_1503067208830_0.9677761516068131" + }, + "_npmUser": { + "name": "angularcore", + "email": "angular-core+npm@google.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "angular-i18n@1.6.6", + "scope": null, + "escapedName": "angular-i18n", + "name": "angular-i18n", + "rawSpec": "1.6.6", + "spec": "1.6.6", + "type": "version" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/angular-i18n/-/angular-i18n-1.6.6.tgz", + "_shasum": "f21cbf9161a449be4b7140d8b153f6ca9b087d24", + "_shrinkwrap": null, + "_spec": "angular-i18n@1.6.6", + "_where": "/home/cycojesus/projets/ledgerrb/public/app/vendor", "author": { "name": "Angular Core Team", "email": "angular-core+npm@google.com" }, - "license": "MIT", "bugs": { "url": "https://github.com/angular/angular.js/issues" }, + "dependencies": {}, + "description": "AngularJS module for internationalization", + "devDependencies": {}, + "directories": {}, + "dist": { + "shasum": "f21cbf9161a449be4b7140d8b153f6ca9b087d24", + "tarball": "https://registry.npmjs.org/angular-i18n/-/angular-i18n-1.6.6.tgz" + }, + "gitHead": "108d22d48f500d14a4986bc955c31e1f494f7275", "homepage": "http://angularjs.org", "jspm": { "shim": { @@ -35,20 +72,15 @@ } } }, - "gitHead": "2aeae5770c2372712ce575c1d39c582e792d06bf", - "_id": "angular-i18n@1.5.8", - "_shasum": "ad4133a6c283f7e46a14b272e8a4aabc9331d41e", - "_from": "angular-i18n@latest", - "_npmVersion": "2.15.8", - "_nodeVersion": "4.4.7", - "_npmUser": { - "name": "angularcore", - "email": "angular-core+npm@google.com" - }, - "dist": { - "shasum": "ad4133a6c283f7e46a14b272e8a4aabc9331d41e", - "tarball": "https://registry.npmjs.org/angular-i18n/-/angular-i18n-1.5.8.tgz" - }, + "keywords": [ + "angular", + "framework", + "browser", + "internationalization", + "i18n", + "client-side" + ], + "license": "MIT", "maintainers": [ { "name": "angularcore", @@ -59,11 +91,15 @@ "email": "pete@bacondarwin.com" } ], - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/angular-i18n-1.5.8.tgz_1469201433089_0.902725521242246" + "name": "angular-i18n", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/angular/angular.js.git" }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/angular-i18n/-/angular-i18n-1.5.8.tgz", - "readme": "ERROR: No README data found!" + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.6.6" } diff --git a/public/app/vendor/node_modules/angular-loader/angular-loader.js b/public/app/vendor/node_modules/angular-loader/angular-loader.js index b0052203..7ea2e501 100644 --- a/public/app/vendor/node_modules/angular-loader/angular-loader.js +++ b/public/app/vendor/node_modules/angular-loader/angular-loader.js @@ -1,17 +1,51 @@ /** - * @license AngularJS v1.5.8 - * (c) 2010-2016 Google, Inc. http://angularjs.org + * @license AngularJS v1.6.6 + * (c) 2010-2017 Google, Inc. http://angularjs.org * License: MIT */ (function() {'use strict'; - function isFunction(value) {return typeof value === 'function';}; + // NOTE: + // These functions are copied here from `src/Angular.js`, because they are needed inside the + // `angular-loader.js` closure and need to be available before the main `angular.js` script has + // been loaded. + function isFunction(value) {return typeof value === 'function';} + function isDefined(value) {return typeof value !== 'undefined';} + function isNumber(value) {return typeof value === 'number';} + function isObject(value) {return value !== null && typeof value === 'object';} + function isScope(obj) {return obj && obj.$evalAsync && obj.$watch;} + function isUndefined(value) {return typeof value === 'undefined';} + function isWindow(obj) {return obj && obj.window === obj;} + function sliceArgs(args, startIndex) {return Array.prototype.slice.call(args, startIndex || 0);} + function toJsonReplacer(key, value) { + var val = value; -/* global toDebugString: true */ + if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') { + val = undefined; + } else if (isWindow(value)) { + val = '$WINDOW'; + } else if (value && window.document === value) { + val = '$DOCUMENT'; + } else if (isScope(value)) { + val = '$SCOPE'; + } -function serializeObject(obj) { + return val; + } + +/* exported toDebugString */ + +function serializeObject(obj, maxDepth) { var seen = []; + // There is no direct way to stringify object until reaching a specific depth + // and a very deep object can cause a performance issue, so we copy the object + // based on this specific depth and then stringify it. + if (isValidObjectMaxDepth(maxDepth)) { + // This file is also included in `angular-loader`, so `copy()` might not always be available in + // the closure. Therefore, it is lazily retrieved as `angular.copy()` when needed. + obj = angular.copy(obj, null, maxDepth); + } return JSON.stringify(obj, function(key, val) { val = toJsonReplacer(key, val); if (isObject(val)) { @@ -24,17 +58,67 @@ function serializeObject(obj) { }); } -function toDebugString(obj) { +function toDebugString(obj, maxDepth) { if (typeof obj === 'function') { return obj.toString().replace(/ \{[\s\S]*$/, ''); } else if (isUndefined(obj)) { return 'undefined'; } else if (typeof obj !== 'string') { - return serializeObject(obj); + return serializeObject(obj, maxDepth); } return obj; } +/* exported + minErrConfig, + errorHandlingConfig, + isValidObjectMaxDepth +*/ + +var minErrConfig = { + objectMaxDepth: 5 +}; + +/** + * @ngdoc function + * @name angular.errorHandlingConfig + * @module ng + * @kind function + * + * @description + * Configure several aspects of error handling in AngularJS if used as a setter or return the + * current configuration if used as a getter. The following options are supported: + * + * - **objectMaxDepth**: The maximum depth to which objects are traversed when stringified for error messages. + * + * Omitted or undefined options will leave the corresponding configuration values unchanged. + * + * @param {Object=} config - The configuration object. May only contain the options that need to be + * updated. Supported keys: + * + * * `objectMaxDepth` **{Number}** - The max depth for stringifying objects. Setting to a + * non-positive or non-numeric value, removes the max depth limit. + * Default: 5 + */ +function errorHandlingConfig(config) { + if (isObject(config)) { + if (isDefined(config.objectMaxDepth)) { + minErrConfig.objectMaxDepth = isValidObjectMaxDepth(config.objectMaxDepth) ? config.objectMaxDepth : NaN; + } + } else { + return minErrConfig; + } +} + +/** + * @private + * @param {Number} maxDepth + * @return {boolean} + */ +function isValidObjectMaxDepth(maxDepth) { + return isNumber(maxDepth) && maxDepth > 0; +} + /** * @description * @@ -68,31 +152,29 @@ function toDebugString(obj) { function minErr(module, ErrorConstructor) { ErrorConstructor = ErrorConstructor || Error; return function() { - var SKIP_INDEXES = 2; - - var templateArgs = arguments, - code = templateArgs[0], + var code = arguments[0], + template = arguments[1], message = '[' + (module ? module + ':' : '') + code + '] ', - template = templateArgs[1], + templateArgs = sliceArgs(arguments, 2).map(function(arg) { + return toDebugString(arg, minErrConfig.objectMaxDepth); + }), paramPrefix, i; message += template.replace(/\{\d+\}/g, function(match) { - var index = +match.slice(1, -1), - shiftedIndex = index + SKIP_INDEXES; + var index = +match.slice(1, -1); - if (shiftedIndex < templateArgs.length) { - return toDebugString(templateArgs[shiftedIndex]); + if (index < templateArgs.length) { + return templateArgs[index]; } return match; }); - message += '\nhttp://errors.angularjs.org/1.5.8/' + + message += '\nhttp://errors.angularjs.org/1.6.6/' + (module ? module + '/' : '') + code; - for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { - message += paramPrefix + 'p' + (i - SKIP_INDEXES) + '=' + - encodeURIComponent(toDebugString(templateArgs[i])); + for (i = 0, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { + message += paramPrefix + 'p' + i + '=' + encodeURIComponent(templateArgs[i]); } return new ErrorConstructor(message); @@ -178,6 +260,9 @@ function setupModuleLoader(window) { * @returns {angular.Module} new module with the {@link angular.Module} api. */ return function module(name, requires, configFn) { + + var info = {}; + var assertNotHasOwnProperty = function(name, context) { if (name === 'hasOwnProperty') { throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context); @@ -190,9 +275,9 @@ function setupModuleLoader(window) { } return ensure(modules, name, function() { if (!requires) { - throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " + - "the module name or forgot to load it. If registering a module ensure that you " + - "specify the dependencies as the second argument.", name); + throw $injectorMinErr('nomod', 'Module \'{0}\' is not available! You either misspelled ' + + 'the module name or forgot to load it. If registering a module ensure that you ' + + 'specify the dependencies as the second argument.', name); } /** @type {!Array.>} */ @@ -213,6 +298,45 @@ function setupModuleLoader(window) { _configBlocks: configBlocks, _runBlocks: runBlocks, + /** + * @ngdoc method + * @name angular.Module#info + * @module ng + * + * @param {Object=} info Information about the module + * @returns {Object|Module} The current info object for this module if called as a getter, + * or `this` if called as a setter. + * + * @description + * Read and write custom information about this module. + * For example you could put the version of the module in here. + * + * ```js + * angular.module('myModule', []).info({ version: '1.0.0' }); + * ``` + * + * The version could then be read back out by accessing the module elsewhere: + * + * ``` + * var version = angular.module('myModule').info().version; + * ``` + * + * You can also retrieve this information during runtime via the + * {@link $injector#modules `$injector.modules`} property: + * + * ```js + * var version = $injector.modules['myModule'].info().version; + * ``` + */ + info: function(value) { + if (isDefined(value)) { + if (!isObject(value)) throw ngMinErr('aobj', 'Argument \'{0}\' must be an object', 'value'); + info = value; + return this; + } + return info; + }, + /** * @ngdoc property * @name angular.Module#requires @@ -302,7 +426,7 @@ function setupModuleLoader(window) { * @description * See {@link auto.$provide#decorator $provide.decorator()}. */ - decorator: invokeLaterAndSetModuleName('$provide', 'decorator'), + decorator: invokeLaterAndSetModuleName('$provide', 'decorator', configBlocks), /** * @ngdoc method @@ -448,10 +572,11 @@ function setupModuleLoader(window) { * @param {string} method * @returns {angular.Module} */ - function invokeLaterAndSetModuleName(provider, method) { + function invokeLaterAndSetModuleName(provider, method, queue) { + if (!queue) queue = invokeQueue; return function(recipeName, factoryFunction) { if (factoryFunction && isFunction(factoryFunction)) factoryFunction.$$moduleName = name; - invokeQueue.push([provider, method, arguments]); + queue.push([provider, method, arguments]); return moduleInstance; }; } diff --git a/public/app/vendor/node_modules/angular-loader/angular-loader.min.js b/public/app/vendor/node_modules/angular-loader/angular-loader.min.js index b5efbce3..fef9c561 100644 --- a/public/app/vendor/node_modules/angular-loader/angular-loader.min.js +++ b/public/app/vendor/node_modules/angular-loader/angular-loader.min.js @@ -1,10 +1,10 @@ /* - AngularJS v1.5.8 - (c) 2010-2016 Google, Inc. http://angularjs.org + AngularJS v1.6.6 + (c) 2010-2017 Google, Inc. http://angularjs.org License: MIT */ -(function(){'use strict';function d(b){return function(){var a=arguments[0],e;e="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.5.8/"+(b?b+"/":"")+a;for(a=1;a +## [1.1.5](https://github.com/angular/material/compare/v1.1.4...v1.1.5) (2017-09-06) + + +### Bug Fixes + +* **autocomplete:** allow clear button even if directive is disabled ([#10603](https://github.com/angular/material/issues/10603)) ([2602e7b](https://github.com/angular/material/commit/2602e7b)) +* **calendar:** conform to CSP. ([#10519](https://github.com/angular/material/issues/10519)) ([e1345ae](https://github.com/angular/material/commit/e1345ae)), closes [#10389](https://github.com/angular/material/issues/10389) +* **demo:** fix the disable ink bar checkbox ([#10423](https://github.com/angular/material/issues/10423)) ([f8deb0e](https://github.com/angular/material/commit/f8deb0e)) +* **dialog:** add check that scrollmask is present ([#10708](https://github.com/angular/material/issues/10708)) ([590b684](https://github.com/angular/material/commit/590b684)) +* **dialog:** generate `aria-label` with dialog title (if exists) when `.ariaLabel()` is not specified ([#10735](https://github.com/angular/material/issues/10735)) ([2247248](https://github.com/angular/material/commit/2247248)), closes [#10582](https://github.com/angular/material/issues/10582) +* **gesture:** unable to move text cursor and tap away on mobile ([#10821](https://github.com/angular/material/issues/10821)) ([baa869a](https://github.com/angular/material/commit/baa869a)), closes [#10301](https://github.com/angular/material/issues/10301) [#5365](https://github.com/angular/material/issues/5365) +* **gestures:** fix the swipe and scrolling issues on touch devices ([#10455](https://github.com/angular/material/issues/10455)) ([17f09dc](https://github.com/angular/material/commit/17f09dc)), closes [#10187](https://github.com/angular/material/issues/10187) [#10145](https://github.com/angular/material/issues/10145) +* **input:** correct initial animation state of messages ([#10246](https://github.com/angular/material/issues/10246)) ([0151b4b](https://github.com/angular/material/commit/0151b4b)), closes [#6767](https://github.com/angular/material/issues/6767) [#9543](https://github.com/angular/material/issues/9543) [#9723](https://github.com/angular/material/issues/9723) [#10240](https://github.com/angular/material/issues/10240) +* **input:** fix placeholder text being read twice by screen readers ([#10524](https://github.com/angular/material/issues/10524)) ([71cd3e9](https://github.com/angular/material/commit/71cd3e9)) +* **list:** add `rel` to copied attributes for `md-list-item` buttons [#10351](https://github.com/angular/material/issues/10351) ([#10352](https://github.com/angular/material/issues/10352)) ([241bbc4](https://github.com/angular/material/commit/241bbc4)) +* **menu:** prevent menu from being larger than the viewport ([#10729](https://github.com/angular/material/issues/10729)) ([f823c83](https://github.com/angular/material/commit/f823c83)) +* **panel:** correctly reverse x-position in RTL ([#10710](https://github.com/angular/material/issues/10710)) ([d3d0c5d](https://github.com/angular/material/commit/d3d0c5d)), closes [#10536](https://github.com/angular/material/issues/10536) +* **panel:** fix propagateContainerEvents ([#10497](https://github.com/angular/material/issues/10497)) ([281504f](https://github.com/angular/material/commit/281504f)), closes [#10495](https://github.com/angular/material/issues/10495) +* **progress-linear-theme:** add md-primary support to progress-linear buffer mode ([#10563](https://github.com/angular/material/issues/10563)) ([9430a7c](https://github.com/angular/material/commit/9430a7c)) +* **select:** accessibility fixes allowing screen readers (VoiceOver) to ([#10760](https://github.com/angular/material/issues/10760)) ([28d4bf2](https://github.com/angular/material/commit/28d4bf2)) +* **select:** unable to reopen if element was destroyed while closing ([#10556](https://github.com/angular/material/issues/10556)) ([93c2917](https://github.com/angular/material/commit/93c2917)), closes [#10453](https://github.com/angular/material/issues/10453) +* **tabs:** accessibility and keyboard interaction fixes ([#10706](https://github.com/angular/material/issues/10706)) ([072f832](https://github.com/angular/material/commit/072f832)), closes [#10075](https://github.com/angular/material/issues/10075) +* **tabs:** add proper RTL support. ([#9301](https://github.com/angular/material/issues/9301)) ([338ca27](https://github.com/angular/material/commit/338ca27)), closes [#9292](https://github.com/angular/material/issues/9292) +* **tabs:** allow right and left arrows to cycle through tabs ([#10786](https://github.com/angular/material/issues/10786)) ([bf6e567](https://github.com/angular/material/commit/bf6e567)) +* **tabs:** hide md-tab-content elements entirely when inactive. ([#10776](https://github.com/angular/material/issues/10776)) ([c886286](https://github.com/angular/material/commit/c886286)) +* **util:** scrollTop set on proper scroll target ([#10549](https://github.com/angular/material/issues/10549)) ([c1b715f](https://github.com/angular/material/commit/c1b715f)), closes [#10272](https://github.com/angular/material/issues/10272) [#10432](https://github.com/angular/material/issues/10432) +* **virtual-repeater:** add role="presentation" to structural divs to fix screen reader interactions ([#10812](https://github.com/angular/material/issues/10812)) ([72f930b](https://github.com/angular/material/commit/72f930b)) +* **virtualRepeat:** fix datepicker scroll to wrong current date ([#10537](https://github.com/angular/material/issues/10537)) ([4e579dd](https://github.com/angular/material/commit/4e579dd)) + + +### Features + +* **gesture:** allow to change maxClickDistance through setMaxClickDistance ([#10498](https://github.com/angular/material/issues/10498)) ([29ef510](https://github.com/angular/material/commit/29ef510)), closes [#10492](https://github.com/angular/material/issues/10492) +* **prompt:** implement "required" flag for prompt dialogs ([#10626](https://github.com/angular/material/issues/10626)) ([2015ae8](https://github.com/angular/material/commit/2015ae8)), closes [#10135](https://github.com/angular/material/issues/10135) +* **$mdCompiler:** respect preAssignBindingsEnabled state ([#10726](https://github.com/angular/material/issues/10726)) ([fa997b9](https://github.com/angular/material/commit/fa997b9)), closes [#10016](https://github.com/angular/material/issues/10016) + + +---- + +###### $mdCompiler + + +The `$mdCompiler` is able to respect the AngularJS `preAssignBindingsEnabled` state when using AngularJS 1.5.10 or higher. + +To enable/disable whether Material-specific (dialogs/toasts) controllers respect the AngularJS `$compile.preAssignBindingsEnabled` flag, call the AngularJS Material method: `$mdCompilerProvider.respectPreAssignBindingsEnabled(true/false)`. + +This AngularJS Material *flag* doesn't affect directives/components created via regular AngularJS methods which constitute most Material & user-created components. + +Only dynamic construction of elements such as Dialogs, Toast, BottomSheet, etc. may be affected. Invoking `$mdCompilerProvider.respectPreAssignBindingsEnabled(true)` will make **bindings** in Material custom components like `$mdDialog` or `$mdToast` only available in controller constructors. + +* By default `respectPreAssignBindingsEnabled === false` +* With AngularJS 1.6 or newer, `respectPreAssignBindingsEnabled === true` as the default. +* With AngularJS >=1.5.10 <1.6.0, developers can use `$compilerProvider.preAssignBindingsEnabled(false)` to enforce this. + +The `$mdCompiler` now also understands the the `$onInit` lifecycle hooks in controllers. +> Note that no other AngularJS 1.5+ lifecycle hooks are supported currently. + + +```js +// Using the default value `preAssignBindingsEnabled == false` + +$mdDialog.show({ + locals: { + myVar: true + }, + controller: MyController, + bindToController: true +} + +function MyController() { + // No locals from Angular Material are set yet. e.g myVar is undefined. +} + +MyController.prototype.$onInit = function() { + // Bindings are now set in the $onInit lifecycle hook. +} +``` + + + +## [AngularJS Material 1.1.4](https://github.com/angular/material/compare/v1.1.3...v1.1.4) (2017-04-20) + + +### Bug Fixes + +* **autocomplete:** incorrect evaluation of available space in viewport ([#9999](https://github.com/angular/material/issues/9999)) ([9f198c9](https://github.com/angular/material/commit/9f198c9)) +* **checkbox:** click handling when ngCheckbox is set ([#10468](https://github.com/angular/material/issues/10468)) ([#10472](https://github.com/angular/material/issues/10472)) ([69a0d8b](https://github.com/angular/material/commit/69a0d8b)) +* **chips:** failing unit tests against Angular 1.3 ([#10224](https://github.com/angular/material/issues/10224)) ([1095899](https://github.com/angular/material/commit/1095899)) +* **core:** eliminates many (but not all) redundant rules in layout CSS ([#10509](https://github.com/angular/material/issues/10509)) ([90b64fe](https://github.com/angular/material/commit/90b64fe)) +* **gridList:** RTL Layout ([#2996](https://github.com/angular/material/issues/2996)) ([#10178](https://github.com/angular/material/issues/10178)) ([8ab7dd9](https://github.com/angular/material/commit/8ab7dd9)) +* **icon:** fix aria roles and attributes ([#10024](https://github.com/angular/material/issues/10024)) ([f0facb2](https://github.com/angular/material/commit/f0facb2)), closes [#9629](https://github.com/angular/material/issues/9629) +* **layout:** trim attribute values before use ([#10462](https://github.com/angular/material/issues/10462)) ([fa02e4e](https://github.com/angular/material/commit/fa02e4e)), closes [#10426](https://github.com/angular/material/issues/10426) +* **mdGesture:** fix form submit via enter/go button on iOS ([#3990](https://github.com/angular/material/issues/3990)) ([#10189](https://github.com/angular/material/issues/10189)) ([eecc541](https://github.com/angular/material/commit/eecc541)) +* **mdSelect:** fix theme change dynamically ([#10152](https://github.com/angular/material/issues/10152)) ([ed10a6e](https://github.com/angular/material/commit/ed10a6e)), closes [#9894](https://github.com/angular/material/issues/9894) +* **mdTooltip:** Tooltip parent aria label override ([#10464](https://github.com/angular/material/issues/10464)) ([6c209b9](https://github.com/angular/material/commit/6c209b9)), closes [#10242](https://github.com/angular/material/issues/10242) +* **panel:** use class instead of style attribute ([#10321](https://github.com/angular/material/issues/10321)) ([976f557](https://github.com/angular/material/commit/976f557)), closes [#10085](https://github.com/angular/material/issues/10085) +* **select:** allow non-english characters for keyboard selection. ([#8893](https://github.com/angular/material/issues/8893)) ([89538d6](https://github.com/angular/material/commit/89538d6)), closes [#7730](https://github.com/angular/material/issues/7730) +* **tabs:** fix long tab content not scrolling ([#10586](https://github.com/angular/material/issues/10586)) ([562b1c9](https://github.com/angular/material/commit/562b1c9)) +* **tooltip:** resolve expressions against correct scope ([#10596](https://github.com/angular/material/issues/10596)) ([3d87453](https://github.com/angular/material/commit/3d87453)) +* **tooltip:** use different attribute to track setting of aria-label ([#10600](https://github.com/angular/material/issues/10600)) ([471c225](https://github.com/angular/material/commit/471c225)) +* **virtualRepeat:** DOM manipulation may alter scroll ([#10177](https://github.com/angular/material/issues/10177)) ([25aeb0d](https://github.com/angular/material/commit/25aeb0d)), closes [#10144](https://github.com/angular/material/issues/10144) + + +### Features + +* **datepicker:** allow date strings as the source for ng-model ([#9554](https://github.com/angular/material/issues/9554)) ([e7de21d](https://github.com/angular/material/commit/e7de21d)), closes [#6253](https://github.com/angular/material/issues/6253) [#9535](https://github.com/angular/material/issues/9535) +* **navBar:** Add missing styling for md-primary and md-accent ([#10204](https://github.com/angular/material/issues/10204)) ([2cd5018](https://github.com/angular/material/commit/2cd5018)), closes [#8827](https://github.com/angular/material/issues/8827) + + + + +## [Angular Material 1.1.3](https://github.com/angular/material/compare/v1.1.2...v1.1.3) (2017-01-31) + +### Bug Fixes + +* **gestures:** slider and swipe touch ([#10314](https://github.com/angular/material/issues/10314)) ([b2562cf](https://github.com/angular/material/commit/b2562cf)), closes [#10294](https://github.com/angular/material/issues/10294) [#10187](https://github.com/angular/material/issues/10187) [#10145](https://github.com/angular/material/issues/10145) +* **select:** don't override initial model value ([#10273](https://github.com/angular/material/issues/10273)) ([2240114](https://github.com/angular/material/commit/2240114)) + + +## [Angular Material 1.1.2](https://github.com/angular/material/compare/g3_v0_x...v1.1.2) (2017-01-30) + +### Features + +* **autocomplete:** add md-autocomplete-snap="width" ([#7750](https://github.com/angular/material/issues/7750)) ([1e45c44](https://github.com/angular/material/commit/1e45c44)) +* **autocomplete:** add md-dropdown-position option ([#9774](https://github.com/angular/material/issues/9774)) ([1ed298b](https://github.com/angular/material/commit/1ed298b)), closes [#9769](https://github.com/angular/material/issues/9769) +* **autocomplete:** allow developers to specify amount of dropdown items. ([#9307](https://github.com/angular/material/issues/9307)) ([b114302](https://github.com/angular/material/commit/b114302)), closes [#9306](https://github.com/angular/material/issues/9306) [#8751](https://github.com/angular/material/issues/8751) +* **autocomplete:** option to toggle the clear button ([#9892](https://github.com/angular/material/issues/9892)) ([70cecda](https://github.com/angular/material/commit/70cecda)), closes [#4841](https://github.com/angular/material/issues/4841) [#2727](https://github.com/angular/material/issues/2727) +* **autocomplete:** pass md-input-max/min-length to the input with non-floating label ([#9964](https://github.com/angular/material/issues/9964)) ([388a340](https://github.com/angular/material/commit/388a340)) +* **autocomplete:** support ng-trim on the underlaying input ([#9496](https://github.com/angular/material/issues/9496)) ([0032184](https://github.com/angular/material/commit/0032184)), closes [#4492](https://github.com/angular/material/issues/4492) +* **button:** add md-dense support ([#9313](https://github.com/angular/material/issues/9313)) ([25dd787](https://github.com/angular/material/commit/25dd787)) +* **checkbox/switch:** add support for animating ng-messages ([#9473](https://github.com/angular/material/issues/9473)) ([4006f53](https://github.com/angular/material/commit/4006f53)), closes [#9430](https://github.com/angular/material/issues/9430) +* **compiler:** pass $element to controller instantiation ([#9516](https://github.com/angular/material/issues/9516)) ([be038d1](https://github.com/angular/material/commit/be038d1)), closes [#9507](https://github.com/angular/material/issues/9507) +* **compiler:** support for content elements ([#9551](https://github.com/angular/material/issues/9551)) ([dfe1a00](https://github.com/angular/material/commit/dfe1a00)) +* **datepicker:** allow the date locale to be overwritten on a per element basis ([#9749](https://github.com/angular/material/issues/9749)) ([a090079](https://github.com/angular/material/commit/a090079)), closes [#9270](https://github.com/angular/material/issues/9270) +* **dialog:** extended theme inheritance of dialogs ([#9762](https://github.com/angular/material/issues/9762)) ([b7ae33e](https://github.com/angular/material/commit/b7ae33e)) +* **interaction:** added service to detect last interaction ([#7965](https://github.com/angular/material/issues/7965)) ([24370e7](https://github.com/angular/material/commit/24370e7)), closes [#5563](https://github.com/angular/material/issues/5563) [#5434](https://github.com/angular/material/issues/5434) [#5583](https://github.com/angular/material/issues/5583) +* **interimElement:** properly handle multiple interims. ([#9053](https://github.com/angular/material/issues/9053)) ([421fed4](https://github.com/angular/material/commit/421fed4)), closes [#8624](https://github.com/angular/material/issues/8624) [#8630](https://github.com/angular/material/issues/8630) +* **list:** add class to disable proxy elements. ([#9470](https://github.com/angular/material/issues/9470)) ([ad82012](https://github.com/angular/material/commit/ad82012)), closes [#9423](https://github.com/angular/material/issues/9423) +* **md-nav-item:** support for `ui-sref-opts` on `md-nav-item` ([#9782](https://github.com/angular/material/issues/9782)) ([af041da](https://github.com/angular/material/commit/af041da)), closes [#9481](https://github.com/angular/material/issues/9481) +* **menu:** expose close method on element scope; deprecate $mdOpenMenu ([#9193](https://github.com/angular/material/issues/9193)) ([1e4ba35](https://github.com/angular/material/commit/1e4ba35)), closes [#8446](https://github.com/angular/material/issues/8446) +* **navBar:** option to disable ink bar ([#9866](https://github.com/angular/material/issues/9866)) ([97cbe69](https://github.com/angular/material/commit/97cbe69)), closes [#9862](https://github.com/angular/material/issues/9862) +* **panel:** add contentElement option ([#9829](https://github.com/angular/material/issues/9829)) ([3034237](https://github.com/angular/material/commit/3034237)), closes [#9757](https://github.com/angular/material/issues/9757) +* **panel:** add hook for close success. ([#9819](https://github.com/angular/material/issues/9819)) ([db90283](https://github.com/angular/material/commit/db90283)) +* **panel:** add interceptors API and onClose hook ([#9574](https://github.com/angular/material/issues/9574)) ([96e5409](https://github.com/angular/material/commit/96e5409)), closes [#9557](https://github.com/angular/material/issues/9557) +* **panel:** add the ability to update the animation of an existing panel ([#9895](https://github.com/angular/material/issues/9895)) ([a6f0de7](https://github.com/angular/material/commit/a6f0de7)) +* **panel:** allow panels to be part of multiple groups. ([#9830](https://github.com/angular/material/issues/9830)) ([80e87b5](https://github.com/angular/material/commit/80e87b5)), closes [#9565](https://github.com/angular/material/issues/9565) +* **panel:** allow passing in a function to the offset methods ([#9615](https://github.com/angular/material/issues/9615)) ([0896ba3](https://github.com/angular/material/commit/0896ba3)), closes [#9608](https://github.com/angular/material/issues/9608) +* **panel:** configurable animation duration ([#9570](https://github.com/angular/material/issues/9570)) ([bee04f3](https://github.com/angular/material/commit/bee04f3)), closes [#9177](https://github.com/angular/material/issues/9177) +* **panel:** panel grouping ([#9538](https://github.com/angular/material/issues/9538)) ([62df3c8](https://github.com/angular/material/commit/62df3c8)), closes [#8971](https://github.com/angular/material/issues/8971) +* **panel:** panel provider ([#10215](https://github.com/angular/material/issues/10215)) ([a169f6f](https://github.com/angular/material/commit/a169f6f)), closes [#10006](https://github.com/angular/material/issues/10006) [#10162](https://github.com/angular/material/issues/10162) +* **switch:** add attribute to invert ([#8205](https://github.com/angular/material/issues/8205)) ([ca06402](https://github.com/angular/material/commit/ca06402)), closes [#7889](https://github.com/angular/material/issues/7889) +* **themes:** register theme on the fly ([#9475](https://github.com/angular/material/issues/9475)) ([7090a1f](https://github.com/angular/material/commit/7090a1f)), closes [#2965](https://github.com/angular/material/issues/2965) +* **toolbar:** add CSS rules for checkbox support ([#9799](https://github.com/angular/material/issues/9799)) ([038f3ed](https://github.com/angular/material/commit/038f3ed)), closes [#9500](https://github.com/angular/material/issues/9500) +* **tooltip:** tooltip uses MdPanel API ([#9742](https://github.com/angular/material/issues/9742)) ([6d06188](https://github.com/angular/material/commit/6d06188)), closes [#9563](https://github.com/angular/material/issues/9563) + +### Bug Fixes + +* **autocomplete:** fix messages not appearing. ([#9909](https://github.com/angular/material/issues/9909)) ([ce5f7c2](https://github.com/angular/material/commit/ce5f7c2)), closes [#9468](https://github.com/angular/material/issues/9468) +* **autocomplete:** fix TypeError in autocomplete. ([#10227](https://github.com/angular/material/issues/10227)) ([f8fd076](https://github.com/angular/material/commit/f8fd076)) +* **autocomplete:** two specs leak the scroll mask element ([#9568](https://github.com/angular/material/issues/9568)) ([a95d76d](https://github.com/angular/material/commit/a95d76d)) +* **autocomplete:** use global stylesheet for demo ([#9930](https://github.com/angular/material/issues/9930)) ([e807a3b](https://github.com/angular/material/commit/e807a3b)) +* **build:** fix errors on angular 1.3 ([#9663](https://github.com/angular/material/issues/9663)) ([0ce8a57](https://github.com/angular/material/commit/0ce8a57)) +* **build:** prevent closure from stripping $inject annotations ([#9765](https://github.com/angular/material/issues/9765)) ([dbc52d0](https://github.com/angular/material/commit/dbc52d0)), closes [#9758](https://github.com/angular/material/issues/9758) +* **button:** only apply focus effect for keyboard interaction. ([#9826](https://github.com/angular/material/issues/9826)) ([34823ac](https://github.com/angular/material/commit/34823ac)), closes [#8749](https://github.com/angular/material/issues/8749) +* **calendar:** boundKeyHandler preventDefault on other input elements ([#9746](https://github.com/angular/material/issues/9746)) ([b903153](https://github.com/angular/material/commit/b903153)) +* **card:** fix alignment with avatar icons in Safari ([#9801](https://github.com/angular/material/issues/9801)) ([ec318e7](https://github.com/angular/material/commit/ec318e7)), closes [#9147](https://github.com/angular/material/issues/9147) +* **checkbox:** properly show focus effect ([#9827](https://github.com/angular/material/issues/9827)) ([002207c](https://github.com/angular/material/commit/002207c)) +* **chips:** add basic accessibility support. ([#9650](https://github.com/angular/material/issues/9650)) ([f18cb2b](https://github.com/angular/material/commit/f18cb2b)), closes [#9391](https://github.com/angular/material/issues/9391) [#9556](https://github.com/angular/material/issues/9556) [#8897](https://github.com/angular/material/issues/8897) [#8867](https://github.com/angular/material/issues/8867) [#9649](https://github.com/angular/material/issues/9649) +* **chips:** add-on-blur with autocomplete ([#9949](https://github.com/angular/material/issues/9949)) ([72264af](https://github.com/angular/material/commit/72264af)), closes [#9582](https://github.com/angular/material/issues/9582) +* **chips:** no longer throw an error when returning focus to input. ([#9528](https://github.com/angular/material/issues/9528)) ([a3b3e7b](https://github.com/angular/material/commit/a3b3e7b)), closes [#9520](https://github.com/angular/material/issues/9520) +* **chips:** support md-min-length on md-contact-chips. ([#9215](https://github.com/angular/material/issues/9215)) ([455c679](https://github.com/angular/material/commit/455c679)), closes [#2423](https://github.com/angular/material/issues/2423) +* **chips:** use empty chip buffer if not a string ([#9885](https://github.com/angular/material/issues/9885)) ([d774b76](https://github.com/angular/material/commit/d774b76)), closes [#9867](https://github.com/angular/material/issues/9867) +* **colors:** failing unit tests against Edge ([#9876](https://github.com/angular/material/issues/9876)) ([dfbc0f6](https://github.com/angular/material/commit/dfbc0f6)) +* **constant:** remove dependency on $sniffer ([#9875](https://github.com/angular/material/issues/9875)) ([c1eceaf](https://github.com/angular/material/commit/c1eceaf)) +* **datepicker:** add aria-owns and aria-expanded support ([#9733](https://github.com/angular/material/issues/9733)) ([13fba2c](https://github.com/angular/material/commit/13fba2c)), closes [#9727](https://github.com/angular/material/issues/9727) +* **datepicker:** ensure that all month/year elements have the expected height ([#9893](https://github.com/angular/material/issues/9893)) ([b3b8fab](https://github.com/angular/material/commit/b3b8fab)), closes [#9863](https://github.com/angular/material/issues/9863) +* **datepicker:** error message alignment in md-input-container ([#9504](https://github.com/angular/material/issues/9504)) ([0592dfa](https://github.com/angular/material/commit/0592dfa)), closes [#9342](https://github.com/angular/material/issues/9342) +* **datepicker:** pass in the timezone when formatting the date ([#9837](https://github.com/angular/material/issues/9837)) ([22f9faf](https://github.com/angular/material/commit/22f9faf)), closes [#9725](https://github.com/angular/material/issues/9725) +* **datepicker:** reference error and calendar not being read out by nvda ([#9891](https://github.com/angular/material/issues/9891)) ([694e561](https://github.com/angular/material/commit/694e561)) +* **datepicker:** remove dependency on $mdGesture ([#9803](https://github.com/angular/material/issues/9803)) ([72b4f10](https://github.com/angular/material/commit/72b4f10)), closes [#9793](https://github.com/angular/material/issues/9793) +* **datepicker:** remove negative margin if triangle icon is disabled ([#9853](https://github.com/angular/material/issues/9853)) ([e1a5146](https://github.com/angular/material/commit/e1a5146)), closes [#9850](https://github.com/angular/material/issues/9850) +* **datepicker:** updateOn not working with non-bubbling events ([#9632](https://github.com/angular/material/issues/9632)) ([b5c412c](https://github.com/angular/material/commit/b5c412c)), closes [#9577](https://github.com/angular/material/issues/9577) +* **datepicker, select:** arrow button consistency ([#9807](https://github.com/angular/material/issues/9807)) ([b0df030](https://github.com/angular/material/commit/b0df030)) +* **dialog:** only restore focus with keyboard interaction ([#9923](https://github.com/angular/material/issues/9923)) ([c851204](https://github.com/angular/material/commit/c851204)), closes [#7963](https://github.com/angular/material/issues/7963) +* **dialog:** re-add md-actions deprecation class. ([#10318](https://github.com/angular/material/issues/10318)) ([e96293a](https://github.com/angular/material/commit/e96293a)) +* **docs:** fix broken links in theming docs ([fd88814](https://github.com/angular/material/commit/fd88814)), closes [#10203](https://github.com/angular/material/issues/10203) +* **docs:** prevent tabbing over hidden content; better animation handling ([#9773](https://github.com/angular/material/issues/9773)) ([da6baac](https://github.com/angular/material/commit/da6baac)), closes [#8896](https://github.com/angular/material/issues/8896) +* **docs:** re-add accidentally removed css ([#9808](https://github.com/angular/material/issues/9808)) ([b14fa93](https://github.com/angular/material/commit/b14fa93)) +* **docs, dialog, interim, panel:** compatibility with latest angular snapshot ([#9787](https://github.com/angular/material/issues/9787)) ([4fb1767](https://github.com/angular/material/commit/4fb1767)) +* **icon:** codepen demo issue ([#9780](https://github.com/angular/material/issues/9780)) ([f03c513](https://github.com/angular/material/commit/f03c513)), closes [#9561](https://github.com/angular/material/issues/9561) +* **input:** increase placeholder contrast on focus ([#9804](https://github.com/angular/material/issues/9804)) ([974acd3](https://github.com/angular/material/commit/974acd3)), closes [#8903](https://github.com/angular/material/issues/8903) +* **input:** md-maxlength not properly updates on model changes. ([#8351](https://github.com/angular/material/issues/8351)) ([bf5c036](https://github.com/angular/material/commit/bf5c036)), closes [#1870](https://github.com/angular/material/issues/1870) +* **interim:** do not immediately splice interim. ([#9670](https://github.com/angular/material/issues/9670)) ([ebc8ace](https://github.com/angular/material/commit/ebc8ace)) +* **interimElement:** added missing scope dispose to fix memory leak ([#9710](https://github.com/angular/material/issues/9710)) ([eac3bfb](https://github.com/angular/material/commit/eac3bfb)) +* **layout:** fix use of flex-basis in layout modes ([#9572](https://github.com/angular/material/issues/9572)) ([c6fb5a5](https://github.com/angular/material/commit/c6fb5a5)), closes [#5345](https://github.com/angular/material/issues/5345) +* **list:** empty aria-label attributes for list-items with interpolation ([#10218](https://github.com/angular/material/issues/10218)) ([3556d57](https://github.com/angular/material/commit/3556d57)) +* **list:** expect aria-label with respect to aria-hidden ([#9943](https://github.com/angular/material/issues/9943)) ([2c367f7](https://github.com/angular/material/commit/2c367f7)), closes [#9933](https://github.com/angular/material/issues/9933) +* **menu:** avoid runtime errors when menu-content isn't set. ([#10198](https://github.com/angular/material/issues/10198)) ([0b65e08](https://github.com/angular/material/commit/0b65e08)), closes [#9709](https://github.com/angular/material/issues/9709) +* **menu:** focus first non disabled item ([#9228](https://github.com/angular/material/issues/9228)) ([1f32ccb](https://github.com/angular/material/commit/1f32ccb)), closes [#9165](https://github.com/angular/material/issues/9165) +* **menu:** menu content should inherit theme ([#10217](https://github.com/angular/material/issues/10217)) ([dd2c8a9](https://github.com/angular/material/commit/dd2c8a9)) +* **menu-bar:** nested menus not closing when clicking on the toolbar ([#9602](https://github.com/angular/material/issues/9602)) ([e0463c0](https://github.com/angular/material/commit/e0463c0)), closes [#9599](https://github.com/angular/material/issues/9599) +* **menu-bar:** do not use flex for buttons ([#10027](https://github.com/angular/material/issues/10027)) ([471b850](https://github.com/angular/material/commit/471b850)), closes [#9771](https://github.com/angular/material/issues/9771) +* **menu-bar:** test leaking scroll mask element ([#9569](https://github.com/angular/material/issues/9569)) ([c5b5386](https://github.com/angular/material/commit/c5b5386)) +* **nav-bar:** null check tabs when updating nav-bar ([#9071](https://github.com/angular/material/issues/9071)) ([b38d928](https://github.com/angular/material/commit/b38d928)) +* **nav-bar:** tabs not being read out by screen readers ([#9925](https://github.com/angular/material/issues/9925)) ([454b974](https://github.com/angular/material/commit/454b974)), closes [#9383](https://github.com/angular/material/issues/9383) +* **nav-bar:** automatically add aria-label for navBarItem ([#10219](https://github.com/angular/material/issues/10219)) ([b7b1d01](https://github.com/angular/material/commit/b7b1d01)), closes [#10110](https://github.com/angular/material/issues/10110) +* **panel:** allow clickOutsideToClose to work with propagateContainerEvents ([#9886](https://github.com/angular/material/issues/9886)) ([61bd95e](https://github.com/angular/material/commit/61bd95e)), closes [#9388](https://github.com/angular/material/issues/9388) +* **panel:** don't bind scroll event if scrolling is disabled ([#9947](https://github.com/angular/material/issues/9947)) ([088d2e6](https://github.com/angular/material/commit/088d2e6)) +* **panel:** element not being removed when scope is destroyed ([#9567](https://github.com/angular/material/issues/9567)) ([d208ac5](https://github.com/angular/material/commit/d208ac5)), closes [#8683](https://github.com/angular/material/issues/8683) +* **panel:** make the actual position available in the offset methods ([#9732](https://github.com/angular/material/issues/9732)) ([6a0d592](https://github.com/angular/material/commit/6a0d592)) +* **panel:** panel and tooltip theming ([#10031](https://github.com/angular/material/issues/10031)) ([b8357dc](https://github.com/angular/material/commit/b8357dc)), closes [#10030](https://github.com/angular/material/issues/10030) +* **panel:** panel not being constrained to viewport on repeat openings ([#9944](https://github.com/angular/material/issues/9944)) ([47e4c1b](https://github.com/angular/material/commit/47e4c1b)), closes [#9942](https://github.com/angular/material/issues/9942) +* **panel:** take offsets into account when checking if element is on screen ([#9662](https://github.com/angular/material/issues/9662)) ([761493d](https://github.com/angular/material/commit/761493d)), closes [#9628](https://github.com/angular/material/issues/9628) +* **panel:** use prefixed transform property ([#9721](https://github.com/angular/material/issues/9721)) ([7706162](https://github.com/angular/material/commit/7706162)) +* **progress-circular:** path not being re-rendered when diameter changes ([#9846](https://github.com/angular/material/issues/9846)) ([d6d3546](https://github.com/angular/material/commit/d6d3546)), closes [#9841](https://github.com/angular/material/issues/9841) +* **progress-circular:** fix arc bleeding through container ([#10108](https://github.com/angular/material/issues/10108)) ([491d139](https://github.com/angular/material/commit/491d139)), closes [#10107](https://github.com/angular/material/issues/10107) +* **progress-circular:** update animation to spec ([#10017](https://github.com/angular/material/issues/10017)) ([cf38b29](https://github.com/angular/material/commit/cf38b29)), closes [#9879](https://github.com/angular/material/issues/9879) +* **radio-group:** wrong aria-checked value on load when used with ng-value ([#9790](https://github.com/angular/material/issues/9790)) ([2bbf401](https://github.com/angular/material/commit/2bbf401)), closes [#9400](https://github.com/angular/material/issues/9400) +* **select:** block xss on md-select-label ([#10023](https://github.com/angular/material/issues/10023)) ([f7ecb4f](https://github.com/angular/material/commit/f7ecb4f)) +* **select:** Fix duplicates in label. ([#9695](https://github.com/angular/material/issues/9695)) ([d553919](https://github.com/angular/material/commit/d553919)), closes [#9442](https://github.com/angular/material/issues/9442) +* **select:** unable to switch between falsy options ([#9945](https://github.com/angular/material/issues/9945)) ([54a1d0d](https://github.com/angular/material/commit/54a1d0d)), closes [#9533](https://github.com/angular/material/issues/9533) +* **select/datepicker:** fix dropdown icon colors. ([#10226](https://github.com/angular/material/issues/10226)) ([bb90ce9](https://github.com/angular/material/commit/bb90ce9)) +* **sidenav:** allow for data bindings in md-component-id ([#9255](https://github.com/angular/material/issues/9255)) ([5cdceeb](https://github.com/angular/material/commit/5cdceeb)), closes [#9052](https://github.com/angular/material/issues/9052) +* **sidenav:** allow more time before triggering a resize of the children ([#9809](https://github.com/angular/material/issues/9809)) ([79d272d](https://github.com/angular/material/commit/79d272d)), closes [#9745](https://github.com/angular/material/issues/9745) +* **sidenav:** correct animation from closed to locked open ([#9833](https://github.com/angular/material/issues/9833)) ([bd605c0](https://github.com/angular/material/commit/bd605c0)), closes [#9425](https://github.com/angular/material/issues/9425) +* **sidenav:** notify child components when the element is opened ([#9512](https://github.com/angular/material/issues/9512)) ([989f81e](https://github.com/angular/material/commit/989f81e)), closes [#7309](https://github.com/angular/material/issues/7309) +* **subheader:** add accessibility support ([#9817](https://github.com/angular/material/issues/9817)) ([1d77c92](https://github.com/angular/material/commit/1d77c92)), closes [#9392](https://github.com/angular/material/issues/9392) +* **switch:** invalid container margin in RTL ([#9586](https://github.com/angular/material/issues/9586)) ([b0d9921](https://github.com/angular/material/commit/b0d9921)) +* **tabs:** allow md-tab-content > div to shrink ([#10290](https://github.com/angular/material/issues/10290)) ([2c9a5cc](https://github.com/angular/material/commit/2c9a5cc)) +* **tabs:** don't set aria-controls when there is no content; better empty tab handling ([#9763](https://github.com/angular/material/issues/9763)) ([c93fdad](https://github.com/angular/material/commit/c93fdad)), closes [#9108](https://github.com/angular/material/issues/9108) +* **tabs:** dummy tabs should not have acccessibilty roles ([#9452](https://github.com/angular/material/issues/9452)) ([9e0c30e](https://github.com/angular/material/commit/9e0c30e)), closes [#9450](https://github.com/angular/material/issues/9450) +* **tabs:** icon color isn't correct when the tab item is not active ([#9620](https://github.com/angular/material/issues/9620)) ([e80d0d2](https://github.com/angular/material/commit/e80d0d2)), closes [#9536](https://github.com/angular/material/issues/9536) +* **tabs:** improve tab button focus styling logic ([#9916](https://github.com/angular/material/issues/9916)) ([166fb79](https://github.com/angular/material/commit/166fb79)), closes [#9039](https://github.com/angular/material/issues/9039) +* **tabs:** properly blank activedescendant attr when no tabs exist ([#9907](https://github.com/angular/material/issues/9907)) ([348f6c0](https://github.com/angular/material/commit/348f6c0)), closes [#9279](https://github.com/angular/material/issues/9279) +* **tabs:** remove manually pagination sizing algorithm ([#10136](https://github.com/angular/material/issues/10136)) ([5b799e2](https://github.com/angular/material/commit/5b799e2)), closes [#9429](https://github.com/angular/material/issues/9429) +* **tabs:** support flexible content layout ([#9451](https://github.com/angular/material/issues/9451)) ([d89a682](https://github.com/angular/material/commit/d89a682)), closes [#9206](https://github.com/angular/material/issues/9206) [#9704](https://github.com/angular/material/issues/9704) [#9779](https://github.com/angular/material/issues/9779) +* **theming:** match preceding selectors as well ([#9484](https://github.com/angular/material/issues/9484)) ([efb7031](https://github.com/angular/material/commit/efb7031)), closes [#9480](https://github.com/angular/material/issues/9480) +* **toolbar:** title text should allow ellipsis. ([#9229](https://github.com/angular/material/issues/9229)) ([284d422](https://github.com/angular/material/commit/284d422)), closes [#9026](https://github.com/angular/material/issues/9026) +* **tooltip:** tooltip role ([#10052](https://github.com/angular/material/issues/10052)) ([7563b47](https://github.com/angular/material/commit/7563b47)), closes [#10045](https://github.com/angular/material/issues/10045) +* **tooltip:** always resolve expressions against the correct scope ([#10284](https://github.com/angular/material/issues/10284)) ([685b902](https://github.com/angular/material/commit/685b902)) +* **tooltip:** AngularJS 1.3.20 test failures. ([#10115](https://github.com/angular/material/issues/10115)) ([d8263f2](https://github.com/angular/material/commit/d8263f2)), closes [#10114](https://github.com/angular/material/issues/10114) +* **tooltip:** prevent xss in tooltip content ([#10190](https://github.com/angular/material/issues/10190)) ([8801ef8](https://github.com/angular/material/commit/8801ef8)) +* **tooltip:** properly interpolate tooltip text to prevent possible XSS ([#10159](https://github.com/angular/material/issues/10159)) ([0b72ab9](https://github.com/angular/material/commit/0b72ab9)) +* **util:** body overflow-x breaking disableScrollAround ([#9864](https://github.com/angular/material/issues/9864)) ([4468126](https://github.com/angular/material/commit/4468126)), closes [#9860](https://github.com/angular/material/issues/9860) +* **util:** check for definition of window.performance.now before using in mdUtil ([#9664](https://github.com/angular/material/issues/9664)) ([1b9245a](https://github.com/angular/material/commit/1b9245a)) +* **util:** disableScrollAround should not remove disabled scroll mask ([#9547](https://github.com/angular/material/issues/9547)) ([bbb9ec5](https://github.com/angular/material/commit/bbb9ec5)) +* **util:** getClosest not working on elements with lowercase nodeName ([#9510](https://github.com/angular/material/issues/9510)) ([9936185](https://github.com/angular/material/commit/9936185)), closes [#9509](https://github.com/angular/material/issues/9509) +* **util:** properly determine viewport top offset ([#9458](https://github.com/angular/material/issues/9458)) ([fc7e9b3](https://github.com/angular/material/commit/fc7e9b3)), closes [#9370](https://github.com/angular/material/issues/9370) +* **variables:** rem function should use global $font-size variable ([#9497](https://github.com/angular/material/issues/9497)) ([1f14cc4](https://github.com/angular/material/commit/1f14cc4)), closes [#9486](https://github.com/angular/material/issues/9486) + +### Performance Improvements + +* **chips,navbar,tooltip:** avoid extra DOM lookups ([#9527](https://github.com/angular/material/issues/9527)) ([a1e68d5](https://github.com/angular/material/commit/a1e68d5)) +* **navbar:** reduces amount of watchers and buttons per item ([#9818](https://github.com/angular/material/issues/9818)) ([a5b8943](https://github.com/angular/material/commit/a5b8943)) +* **tooltip:** reduce amount of event listeners on the window ([#9514](https://github.com/angular/material/issues/9514)) ([dc6b10c](https://github.com/angular/material/commit/dc6b10c)) + +### update + +* **autocomplete:** md-require-match only turn invalid if search text is provided ([#9119](https://github.com/angular/material/issues/9119)) ([399016d](https://github.com/angular/material/commit/399016d)), closes [#9072](https://github.com/angular/material/issues/9072) + + +### BREAKING CHANGES + +* autocomplete: The autocomplete validator `md-require-match` no longer matches if the search text is empty + + + +## [Angular Material 1.1.1](https://github.com/angular/material/compare/v1.1.0...v1.1.1) (2016-09-01) + +We continue to maintain our momentum with Angular Material. Today we published a patch release for Angular Material; a patch that contains more than 60 improvements and fixes. + +-- + +* Add improvements to Themes registrations +* Add improvements to Docs to discuss differences between **TabBar** vs **NavBar** +* Add improve **SideNav** to specify disableScroll target when open +* Add feature **BrowserColor** to enable browser header coloring with Material Design Colors +* Add blur or focus features to **Chips** and **Autocomplete** + +-- + +* Revert a Layout change for `layout="column"` +* Fix animations for **Input** messages, **Autocomplete**, **Dialog** +* Fix **Card** images inside `md-card-title-media` to use flexbox CSS +* Fix **AutoComplete**, **Input**, **Menubar**, **Select**, and theming +* Fix **Datepicker**, **Tooltip** colors, **Navbar** theming, **Virtual repeat** with scrolling + + +-- + +### Features + +* **autocomplete:** forward ngBlur and ngFocus attributes ([#9233](https://github.com/angular/material/issues/9233)) ([a3755d0](https://github.com/angular/material/commit/a3755d0)) +* **browser-color:** enable browser header coloring ([#9192](https://github.com/angular/material/issues/9192)) ([57f2afd](https://github.com/angular/material/commit/57f2afd)), closes [#8062](https://github.com/angular/material/issues/8062) +* **chips:** md-add-on-blur functionality ([#9095](https://github.com/angular/material/issues/9095)) ([bbc6c07](https://github.com/angular/material/commit/bbc6c07)), closes [#3364](https://github.com/angular/material/issues/3364) +* **datepicker:** add timezone support ([#9410](https://github.com/angular/material/issues/9410)) ([14fa477](https://github.com/angular/material/commit/14fa477)), closes [#8448](https://github.com/angular/material/issues/8448) [#8936](https://github.com/angular/material/issues/8936) +* **datepicker:** configurable start/end dates, consistency improvements ([#9309](https://github.com/angular/material/issues/9309)) ([522d428](https://github.com/angular/material/commit/522d428)), closes [#9269](https://github.com/angular/material/issues/9269) +* **mdPanel:** Wrapper and Panel elements referenced in the MdPanelRef ([#9231](https://github.com/angular/material/issues/9231)) ([87c4b01](https://github.com/angular/material/commit/87c4b01)), closes [#9109](https://github.com/angular/material/issues/9109) +* **panel:** Configuration ID for tracking ([#9379](https://github.com/angular/material/issues/9379)) ([d230aec](https://github.com/angular/material/commit/d230aec)), closes [#9356](https://github.com/angular/material/issues/9356) [#9357](https://github.com/angular/material/issues/9357) +* **sidenav:** configurable scroll prevent target ([#9338](https://github.com/angular/material/issues/9338)) ([218c3ec](https://github.com/angular/material/commit/218c3ec)), closes [#8634](https://github.com/angular/material/issues/8634) +* **themes:** register theme on the fly ([#9413](https://github.com/angular/material/issues/9413)) ([0d2386c](https://github.com/angular/material/commit/0d2386c)), closes [#2965](https://github.com/angular/material/issues/2965) + + +### Bug Fixes + +* **autocomplete:** don't use $mdUtils.nextTick in handleHiddenChange ([#9319](https://github.com/angular/material/issues/9319)) ([8f8ad78](https://github.com/angular/material/commit/8f8ad78)), closes [#9318](https://github.com/angular/material/issues/9318) +* **autocomplete:** properly run animation for dialog in demo. ([#9437](https://github.com/angular/material/issues/9437)) ([69607e0](https://github.com/angular/material/commit/69607e0)) +* **autocomplete:** properly show dropdown on focus when minlength is met. ([#9291](https://github.com/angular/material/issues/9291)) ([e65ffc8](https://github.com/angular/material/commit/e65ffc8)), closes [#9283](https://github.com/angular/material/issues/9283) [#9288](https://github.com/angular/material/issues/9288) [#9289](https://github.com/angular/material/issues/9289) +* **autocomplete:** remove autofocus ambiguity. ([#9438](https://github.com/angular/material/issues/9438)) ([00a4c05](https://github.com/angular/material/commit/00a4c05)) +* **build:** properly filter core module files with updated gulp-filter ([#9399](https://github.com/angular/material/issues/9399)) ([0cd2a59](https://github.com/angular/material/commit/0cd2a59)) +* **card:** limit img size when using md-card-title-media ([#9446](https://github.com/angular/material/issues/9446)) ([d086e2b](https://github.com/angular/material/commit/d086e2b)), closes [#9355](https://github.com/angular/material/issues/9355) +* **checkbox:** not being marked as checked with ng-checked on load ([#9424](https://github.com/angular/material/issues/9424)) ([904b455](https://github.com/angular/material/commit/904b455)), closes [#9349](https://github.com/angular/material/issues/9349) +* **compiler:** remove manual controllerAs logic ([#9462](https://github.com/angular/material/issues/9462)) ([18afebe](https://github.com/angular/material/commit/18afebe)) +* **datepicker:** arrow direction in rtl ([#9384](https://github.com/angular/material/issues/9384)) ([f6da4d3](https://github.com/angular/material/commit/f6da4d3)) +* **datepicker:** forward aria-label to generated input ([#9364](https://github.com/angular/material/issues/9364)) ([165d4e7](https://github.com/angular/material/commit/165d4e7)), closes [#9340](https://github.com/angular/material/issues/9340) +* **datepicker:** forward tabindex to generated input ([#9325](https://github.com/angular/material/issues/9325)) ([6cfb542](https://github.com/angular/material/commit/6cfb542)), closes [#8147](https://github.com/angular/material/issues/8147) +* **datepicker:** improved overlay positioning ([#9432](https://github.com/angular/material/issues/9432)) ([d0a7765](https://github.com/angular/material/commit/d0a7765)) +* **datepicker:** jumping forward if min date is in the same month as model ([#9305](https://github.com/angular/material/issues/9305)) ([412bc2c](https://github.com/angular/material/commit/412bc2c)), closes [#9284](https://github.com/angular/material/issues/9284) +* **datepicker:** keyboard navigation not working if the user scrolls too much ([#9302](https://github.com/angular/material/issues/9302)) ([30f6a74](https://github.com/angular/material/commit/30f6a74)), closes [#9294](https://github.com/angular/material/issues/9294) +* **datepicker, menu, slider:** remove duplicate properties ([#9335](https://github.com/angular/material/issues/9335)) ([1c098a6](https://github.com/angular/material/commit/1c098a6)) +* **demos:** update core-icons svg in assets cache to latest changes. ([#9418](https://github.com/angular/material/issues/9418)) ([7e21118](https://github.com/angular/material/commit/7e21118)) +* **dialog:** add extra classes to identify buttons ([#9463](https://github.com/angular/material/issues/9463)) ([b11441c](https://github.com/angular/material/commit/b11441c)) +* **dialog:** do not compile an empty element when using a content element ([#9303](https://github.com/angular/material/issues/9303)) ([7c4b434](https://github.com/angular/material/commit/7c4b434)) +* **dialog:** focus dialog element when no actions are set ([#9272](https://github.com/angular/material/issues/9272)) ([bcfe00a](https://github.com/angular/material/commit/bcfe00a)), closes [#9271](https://github.com/angular/material/issues/9271) +* **dialog:** remove transition classes after hide ([#9299](https://github.com/angular/material/issues/9299)) ([f170133](https://github.com/angular/material/commit/f170133)), closes [#9276](https://github.com/angular/material/issues/9276) +* **input:** Ensure animated messages disappear. ([#9466](https://github.com/angular/material/issues/9466)) ([4e302c2](https://github.com/angular/material/commit/4e302c2)), closes [#9454](https://github.com/angular/material/issues/9454) +* **layout:** Revert overzealous IE11 flexbox fix. ([#9412](https://github.com/angular/material/issues/9412)) ([660826b](https://github.com/angular/material/commit/660826b)), closes [#9354](https://github.com/angular/material/issues/9354) +* **menu-bar:** unable to close menu when clicking on toolbar ([#9428](https://github.com/angular/material/issues/9428)) ([6dcecd5](https://github.com/angular/material/commit/6dcecd5)), closes [#8965](https://github.com/angular/material/issues/8965) +* **menu-bar:** use checked icon from $$mdSvgRegistry ([#9417](https://github.com/angular/material/issues/9417)) ([04124d8](https://github.com/angular/material/commit/04124d8)), closes [#9407](https://github.com/angular/material/issues/9407) +* **navbar:** add theming support ([#9210](https://github.com/angular/material/issues/9210)) ([4cfd4a1](https://github.com/angular/material/commit/4cfd4a1)), closes [#9137](https://github.com/angular/material/issues/9137) +* **panel:** Element reference error ([#9375](https://github.com/angular/material/issues/9375)) ([6383b52](https://github.com/angular/material/commit/6383b52)), closes [#9374](https://github.com/angular/material/issues/9374) +* **prefixer:** do not throw an exception if element is undefined ([#9345](https://github.com/angular/material/issues/9345)) ([d07240b](https://github.com/angular/material/commit/d07240b)) +* undo change to unknown symbol for prod build ([#9393](https://github.com/angular/material/issues/9393)) ([bd4034d](https://github.com/angular/material/commit/bd4034d)) +* **progressCircular:** better support for older ios versions ([#9254](https://github.com/angular/material/issues/9254)) ([215fae4](https://github.com/angular/material/commit/215fae4)), closes [#9253](https://github.com/angular/material/issues/9253) +* **select:** Ensure `md-no-asterisk` attribute works. ([#9347](https://github.com/angular/material/issues/9347)) ([f265a0e](https://github.com/angular/material/commit/f265a0e)), closes [#9339](https://github.com/angular/material/issues/9339) +* **tabs:** ie10 MutationObserver issue ([#9397](https://github.com/angular/material/issues/9397)) ([bd70022](https://github.com/angular/material/commit/bd70022)) +* **tabs:** scroll blocks in pagination (related to [#5439](https://github.com/angular/material/issues/5439)) ([#9457](https://github.com/angular/material/issues/9457)) ([b26c01c](https://github.com/angular/material/commit/b26c01c)) +* **textarea:** resize handle position occasionally wrong ([#9155](https://github.com/angular/material/issues/9155)) ([3fc1004](https://github.com/angular/material/commit/3fc1004)), closes [#9151](https://github.com/angular/material/issues/9151) +* **theming:** fix read-only .configuration() ([#9389](https://github.com/angular/material/issues/9389)) ([b328882](https://github.com/angular/material/commit/b328882)) +* **virtual-repeat:** not re-rendering when switching to a smaller list ([#9363](https://github.com/angular/material/issues/9363)) ([fce551d](https://github.com/angular/material/commit/fce551d)), closes [#9315](https://github.com/angular/material/issues/9315) + + +#### Contributors + +Thanks to the great contributors who helped with this v1.1.1 patch release: + +[akaij](https://github.com/akaij) |[bradrich](https://github.com/bradrich) |[clshortfuse](https://github.com/clshortfuse) |[crisbeto](https://github.com/crisbeto) |[DevVersion](https://github.com/DevVersion) |[EladBezalel](https://github.com/EladBezalel) | +:---: |:---: |:---: |:---: |:---: |:---: | +[akaij](https://github.com/akaij) |[bradrich](https://github.com/bradrich) |[clshortfuse](https://github.com/clshortfuse) |[crisbeto](https://github.com/crisbeto) |[DevVersion](https://github.com/DevVersion) |[EladBezalel](https://github.com/EladBezalel) | + +[enne30](https://github.com/enne30) |[hansl](https://github.com/hansl) |[j3ski](https://github.com/j3ski) |[jelbourn](https://github.com/jelbourn) |[leibale](https://github.com/leibale) |[norkunas](https://github.com/norkunas) | +:---: |:---: |:---: |:---: |:---: |:---: | +[enne30](https://github.com/enne30) |[hansl](https://github.com/hansl) |[j3ski](https://github.com/j3ski) |[jelbourn](https://github.com/jelbourn) |[leibale](https://github.com/leibale) |[norkunas](https://github.com/norkunas) | + +[ThomasBurleson](https://github.com/ThomasBurleson) |[topherfangio](https://github.com/topherfangio) | +:---: |:---: | +[ThomasBurleson](https://github.com/ThomasBurleson) |[topherfangio](https://github.com/topherfangio) | + + + + + +## 1.1.0 (2016-08-14) + +BREAKING CHANGE + +The ``'s, `` component now acts more like +the default `
' + - - // This pane will be detached from here and re-attached to the document body. - '
' + - '
' + - '
' + - '
' + - '
' + - '' + - '' + - '
' + - '
', - require: ['ngModel', 'mdDatepicker', '?^mdInputContainer'], - scope: { - minDate: '=mdMinDate', - maxDate: '=mdMaxDate', - placeholder: '@mdPlaceholder', - dateFilter: '=mdDateFilter' - }, - controller: DatePickerCtrl, - controllerAs: 'ctrl', - bindToController: true, - link: function(scope, element, attr, controllers) { - var ngModelCtrl = controllers[0]; - var mdDatePickerCtrl = controllers[1]; - - var mdInputContainer = controllers[2]; - if (mdInputContainer) { - throw Error('md-datepicker should not be placed inside md-input-container.'); - } - - mdDatePickerCtrl.configureNgModel(ngModelCtrl); - } - }; - } - datePickerDirective.$inject = ["$$mdSvgRegistry"]; - - /** Additional offset for the input's `size` attribute, which is updated based on its content. */ - var EXTRA_INPUT_SIZE = 3; - - /** Class applied to the container if the date is invalid. */ - var INVALID_CLASS = 'md-datepicker-invalid'; - - /** Default time in ms to debounce input event by. */ - var DEFAULT_DEBOUNCE_INTERVAL = 500; - - /** - * Height of the calendar pane used to check if the pane is going outside the boundary of - * the viewport. See calendar.scss for how $md-calendar-height is computed; an extra 20px is - * also added to space the pane away from the exact edge of the screen. - * - * This is computed statically now, but can be changed to be measured if the circumstances - * of calendar sizing are changed. - */ - var CALENDAR_PANE_HEIGHT = 368; - - /** - * Width of the calendar pane used to check if the pane is going outside the boundary of - * the viewport. See calendar.scss for how $md-calendar-width is computed; an extra 20px is - * also added to space the pane away from the exact edge of the screen. - * - * This is computed statically now, but can be changed to be measured if the circumstances - * of calendar sizing are changed. - */ - var CALENDAR_PANE_WIDTH = 360; - - /** - * Controller for md-datepicker. - * - * @ngInject @constructor - */ - function DatePickerCtrl($scope, $element, $attrs, $compile, $timeout, $window, - $mdConstant, $mdTheming, $mdUtil, $mdDateLocale, $$mdDateUtil, $$rAF) { - /** @final */ - this.$compile = $compile; - - /** @final */ - this.$timeout = $timeout; - - /** @final */ - this.$window = $window; - - /** @final */ - this.dateLocale = $mdDateLocale; - - /** @final */ - this.dateUtil = $$mdDateUtil; - - /** @final */ - this.$mdConstant = $mdConstant; - - /* @final */ - this.$mdUtil = $mdUtil; - - /** @final */ - this.$$rAF = $$rAF; - - /** - * The root document element. This is used for attaching a top-level click handler to - * close the calendar panel when a click outside said panel occurs. We use `documentElement` - * instead of body because, when scrolling is disabled, some browsers consider the body element - * to be completely off the screen and propagate events directly to the html element. - * @type {!angular.JQLite} - */ - this.documentElement = angular.element(document.documentElement); - - /** @type {!angular.NgModelController} */ - this.ngModelCtrl = null; - - /** @type {HTMLInputElement} */ - this.inputElement = $element[0].querySelector('input'); - - /** @final {!angular.JQLite} */ - this.ngInputElement = angular.element(this.inputElement); - - /** @type {HTMLElement} */ - this.inputContainer = $element[0].querySelector('.md-datepicker-input-container'); - - /** @type {HTMLElement} Floating calendar pane. */ - this.calendarPane = $element[0].querySelector('.md-datepicker-calendar-pane'); - - /** @type {HTMLElement} Calendar icon button. */ - this.calendarButton = $element[0].querySelector('.md-datepicker-button'); - - /** - * Element covering everything but the input in the top of the floating calendar pane. - * @type {HTMLElement} - */ - this.inputMask = $element[0].querySelector('.md-datepicker-input-mask-opaque'); - - /** @final {!angular.JQLite} */ - this.$element = $element; - - /** @final {!angular.Attributes} */ - this.$attrs = $attrs; - - /** @final {!angular.Scope} */ - this.$scope = $scope; - - /** @type {Date} */ - this.date = null; - - /** @type {boolean} */ - this.isFocused = false; - - /** @type {boolean} */ - this.isDisabled; - this.setDisabled($element[0].disabled || angular.isString($attrs.disabled)); - - /** @type {boolean} Whether the date-picker's calendar pane is open. */ - this.isCalendarOpen = false; - - /** @type {boolean} Whether the calendar should open when the input is focused. */ - this.openOnFocus = $attrs.hasOwnProperty('mdOpenOnFocus'); - - /** - * Element from which the calendar pane was opened. Keep track of this so that we can return - * focus to it when the pane is closed. - * @type {HTMLElement} - */ - this.calendarPaneOpenedFrom = null; - - this.calendarPane.id = 'md-date-pane' + $mdUtil.nextUid(); - - $mdTheming($element); - - /** Pre-bound click handler is saved so that the event listener can be removed. */ - this.bodyClickHandler = angular.bind(this, this.handleBodyClick); - - /** Pre-bound resize handler so that the event listener can be removed. */ - this.windowResizeHandler = $mdUtil.debounce(angular.bind(this, this.closeCalendarPane), 100); - - // Unless the user specifies so, the datepicker should not be a tab stop. - // This is necessary because ngAria might add a tabindex to anything with an ng-model - // (based on whether or not the user has turned that particular feature on/off). - if (!$attrs.tabindex) { - $element.attr('tabindex', '-1'); - } - - this.installPropertyInterceptors(); - this.attachChangeListeners(); - this.attachInteractionListeners(); - - var self = this; - $scope.$on('$destroy', function() { - self.detachCalendarPane(); - }); - } - DatePickerCtrl.$inject = ["$scope", "$element", "$attrs", "$compile", "$timeout", "$window", "$mdConstant", "$mdTheming", "$mdUtil", "$mdDateLocale", "$$mdDateUtil", "$$rAF"]; - - /** - * Sets up the controller's reference to ngModelController. - * @param {!angular.NgModelController} ngModelCtrl - */ - DatePickerCtrl.prototype.configureNgModel = function(ngModelCtrl) { - this.ngModelCtrl = ngModelCtrl; - - var self = this; - ngModelCtrl.$render = function() { - var value = self.ngModelCtrl.$viewValue; - - if (value && !(value instanceof Date)) { - throw Error('The ng-model for md-datepicker must be a Date instance. ' + - 'Currently the model is a: ' + (typeof value)); - } - - self.date = value; - self.inputElement.value = self.dateLocale.formatDate(value); - self.resizeInputElement(); - self.updateErrorState(); - }; - }; - - /** - * Attach event listeners for both the text input and the md-calendar. - * Events are used instead of ng-model so that updates don't infinitely update the other - * on a change. This should also be more performant than using a $watch. - */ - DatePickerCtrl.prototype.attachChangeListeners = function() { - var self = this; - - self.$scope.$on('md-calendar-change', function(event, date) { - self.ngModelCtrl.$setViewValue(date); - self.date = date; - self.inputElement.value = self.dateLocale.formatDate(date); - self.closeCalendarPane(); - self.resizeInputElement(); - self.updateErrorState(); - }); - - self.ngInputElement.on('input', angular.bind(self, self.resizeInputElement)); - // TODO(chenmike): Add ability for users to specify this interval. - self.ngInputElement.on('input', self.$mdUtil.debounce(self.handleInputEvent, - DEFAULT_DEBOUNCE_INTERVAL, self)); - }; - - /** Attach event listeners for user interaction. */ - DatePickerCtrl.prototype.attachInteractionListeners = function() { - var self = this; - var $scope = this.$scope; - var keyCodes = this.$mdConstant.KEY_CODE; - - // Add event listener through angular so that we can triggerHandler in unit tests. - self.ngInputElement.on('keydown', function(event) { - if (event.altKey && event.keyCode == keyCodes.DOWN_ARROW) { - self.openCalendarPane(event); - $scope.$digest(); - } - }); - - if (self.openOnFocus) { - self.ngInputElement.on('focus', angular.bind(self, self.openCalendarPane)); - } - - $scope.$on('md-calendar-close', function() { - self.closeCalendarPane(); - }); - }; - - /** - * Capture properties set to the date-picker and imperitively handle internal changes. - * This is done to avoid setting up additional $watches. - */ - DatePickerCtrl.prototype.installPropertyInterceptors = function() { - var self = this; - - if (this.$attrs.ngDisabled) { - // The expression is to be evaluated against the directive element's scope and not - // the directive's isolate scope. - var scope = this.$scope.$parent; - - if (scope) { - scope.$watch(this.$attrs.ngDisabled, function(isDisabled) { - self.setDisabled(isDisabled); - }); - } - } - - Object.defineProperty(this, 'placeholder', { - get: function() { return self.inputElement.placeholder; }, - set: function(value) { self.inputElement.placeholder = value || ''; } - }); - }; - - /** - * Sets whether the date-picker is disabled. - * @param {boolean} isDisabled - */ - DatePickerCtrl.prototype.setDisabled = function(isDisabled) { - this.isDisabled = isDisabled; - this.inputElement.disabled = isDisabled; - this.calendarButton.disabled = isDisabled; - }; - - /** - * Sets the custom ngModel.$error flags to be consumed by ngMessages. Flags are: - * - mindate: whether the selected date is before the minimum date. - * - maxdate: whether the selected flag is after the maximum date. - * - filtered: whether the selected date is allowed by the custom filtering function. - * - valid: whether the entered text input is a valid date - * - * The 'required' flag is handled automatically by ngModel. - * - * @param {Date=} opt_date Date to check. If not given, defaults to the datepicker's model value. - */ - DatePickerCtrl.prototype.updateErrorState = function(opt_date) { - var date = opt_date || this.date; - - // Clear any existing errors to get rid of anything that's no longer relevant. - this.clearErrorState(); - - if (this.dateUtil.isValidDate(date)) { - // Force all dates to midnight in order to ignore the time portion. - date = this.dateUtil.createDateAtMidnight(date); - - if (this.dateUtil.isValidDate(this.minDate)) { - var minDate = this.dateUtil.createDateAtMidnight(this.minDate); - this.ngModelCtrl.$setValidity('mindate', date >= minDate); - } - - if (this.dateUtil.isValidDate(this.maxDate)) { - var maxDate = this.dateUtil.createDateAtMidnight(this.maxDate); - this.ngModelCtrl.$setValidity('maxdate', date <= maxDate); - } - - if (angular.isFunction(this.dateFilter)) { - this.ngModelCtrl.$setValidity('filtered', this.dateFilter(date)); - } - } else { - // The date is seen as "not a valid date" if there is *something* set - // (i.e.., not null or undefined), but that something isn't a valid date. - this.ngModelCtrl.$setValidity('valid', date == null); - } - - // TODO(jelbourn): Change this to classList.toggle when we stop using PhantomJS in unit tests - // because it doesn't conform to the DOMTokenList spec. - // See https://github.com/ariya/phantomjs/issues/12782. - if (!this.ngModelCtrl.$valid) { - this.inputContainer.classList.add(INVALID_CLASS); - } - }; - - /** Clears any error flags set by `updateErrorState`. */ - DatePickerCtrl.prototype.clearErrorState = function() { - this.inputContainer.classList.remove(INVALID_CLASS); - ['mindate', 'maxdate', 'filtered', 'valid'].forEach(function(field) { - this.ngModelCtrl.$setValidity(field, true); - }, this); - }; - - /** Resizes the input element based on the size of its content. */ - DatePickerCtrl.prototype.resizeInputElement = function() { - this.inputElement.size = this.inputElement.value.length + EXTRA_INPUT_SIZE; - }; - - /** - * Sets the model value if the user input is a valid date. - * Adds an invalid class to the input element if not. - */ - DatePickerCtrl.prototype.handleInputEvent = function() { - var inputString = this.inputElement.value; - var parsedDate = inputString ? this.dateLocale.parseDate(inputString) : null; - this.dateUtil.setDateTimeToMidnight(parsedDate); - - // An input string is valid if it is either empty (representing no date) - // or if it parses to a valid date that the user is allowed to select. - var isValidInput = inputString == '' || ( - this.dateUtil.isValidDate(parsedDate) && - this.dateLocale.isDateComplete(inputString) && - this.isDateEnabled(parsedDate) - ); - - // The datepicker's model is only updated when there is a valid input. - if (isValidInput) { - this.ngModelCtrl.$setViewValue(parsedDate); - this.date = parsedDate; - } - - this.updateErrorState(parsedDate); - }; - - /** - * Check whether date is in range and enabled - * @param {Date=} opt_date - * @return {boolean} Whether the date is enabled. - */ - DatePickerCtrl.prototype.isDateEnabled = function(opt_date) { - return this.dateUtil.isDateWithinRange(opt_date, this.minDate, this.maxDate) && - (!angular.isFunction(this.dateFilter) || this.dateFilter(opt_date)); - }; - - /** Position and attach the floating calendar to the document. */ - DatePickerCtrl.prototype.attachCalendarPane = function() { - var calendarPane = this.calendarPane; - var body = document.body; - - calendarPane.style.transform = ''; - this.$element.addClass('md-datepicker-open'); - angular.element(body).addClass('md-datepicker-is-showing'); - - var elementRect = this.inputContainer.getBoundingClientRect(); - var bodyRect = body.getBoundingClientRect(); - - // Check to see if the calendar pane would go off the screen. If so, adjust position - // accordingly to keep it within the viewport. - var paneTop = elementRect.top - bodyRect.top; - var paneLeft = elementRect.left - bodyRect.left; - - // If ng-material has disabled body scrolling (for example, if a dialog is open), - // then it's possible that the already-scrolled body has a negative top/left. In this case, - // we want to treat the "real" top as (0 - bodyRect.top). In a normal scrolling situation, - // though, the top of the viewport should just be the body's scroll position. - var viewportTop = (bodyRect.top < 0 && document.body.scrollTop == 0) ? - -bodyRect.top : - document.body.scrollTop; - - var viewportLeft = (bodyRect.left < 0 && document.body.scrollLeft == 0) ? - -bodyRect.left : - document.body.scrollLeft; - - var viewportBottom = viewportTop + this.$window.innerHeight; - var viewportRight = viewportLeft + this.$window.innerWidth; - - // If the right edge of the pane would be off the screen and shifting it left by the - // difference would not go past the left edge of the screen. If the calendar pane is too - // big to fit on the screen at all, move it to the left of the screen and scale the entire - // element down to fit. - if (paneLeft + CALENDAR_PANE_WIDTH > viewportRight) { - if (viewportRight - CALENDAR_PANE_WIDTH > 0) { - paneLeft = viewportRight - CALENDAR_PANE_WIDTH; - } else { - paneLeft = viewportLeft; - var scale = this.$window.innerWidth / CALENDAR_PANE_WIDTH; - calendarPane.style.transform = 'scale(' + scale + ')'; - } - - calendarPane.classList.add('md-datepicker-pos-adjusted'); - } - - // If the bottom edge of the pane would be off the screen and shifting it up by the - // difference would not go past the top edge of the screen. - if (paneTop + CALENDAR_PANE_HEIGHT > viewportBottom && - viewportBottom - CALENDAR_PANE_HEIGHT > viewportTop) { - paneTop = viewportBottom - CALENDAR_PANE_HEIGHT; - calendarPane.classList.add('md-datepicker-pos-adjusted'); - } - - calendarPane.style.left = paneLeft + 'px'; - calendarPane.style.top = paneTop + 'px'; - document.body.appendChild(calendarPane); - - // The top of the calendar pane is a transparent box that shows the text input underneath. - // Since the pane is floating, though, the page underneath the pane *adjacent* to the input is - // also shown unless we cover it up. The inputMask does this by filling up the remaining space - // based on the width of the input. - this.inputMask.style.left = elementRect.width + 'px'; - - // Add CSS class after one frame to trigger open animation. - this.$$rAF(function() { - calendarPane.classList.add('md-pane-open'); - }); - }; - - /** Detach the floating calendar pane from the document. */ - DatePickerCtrl.prototype.detachCalendarPane = function() { - this.$element.removeClass('md-datepicker-open'); - angular.element(document.body).removeClass('md-datepicker-is-showing'); - this.calendarPane.classList.remove('md-pane-open'); - this.calendarPane.classList.remove('md-datepicker-pos-adjusted'); - - if (this.isCalendarOpen) { - this.$mdUtil.enableScrolling(); - } - - if (this.calendarPane.parentNode) { - // Use native DOM removal because we do not want any of the angular state of this element - // to be disposed. - this.calendarPane.parentNode.removeChild(this.calendarPane); - } - }; - - /** - * Open the floating calendar pane. - * @param {Event} event - */ - DatePickerCtrl.prototype.openCalendarPane = function(event) { - if (!this.isCalendarOpen && !this.isDisabled) { - this.isCalendarOpen = true; - this.calendarPaneOpenedFrom = event.target; - - // Because the calendar pane is attached directly to the body, it is possible that the - // rest of the component (input, etc) is in a different scrolling container, such as - // an md-content. This means that, if the container is scrolled, the pane would remain - // stationary. To remedy this, we disable scrolling while the calendar pane is open, which - // also matches the native behavior for things like `', + ' placeholder="{{::dialog.placeholder}}" ng-required="dialog.required">', ' ', ' ', ' ', ' ', + ' ng-click="dialog.abort()" class="md-primary md-cancel-button">', ' {{ dialog.cancel }}', ' ', - ' ', + ' ', ' {{ dialog.ok }}', ' ', ' ', '' ].join('').replace(/\s\s+/g, ''), - controller: function mdDialogCtrl() { - var isPrompt = this.$type == 'prompt'; - - if (isPrompt && this.initialValue) { - this.result = this.initialValue; - } - - this.hide = function() { - $mdDialog.hide(isPrompt ? this.result : true); - }; - this.abort = function() { - $mdDialog.cancel(); - }; - this.keypress = function($event) { - if ($event.keyCode === $mdConstant.KEY_CODE.ENTER) { - $mdDialog.hide(this.result) - } - } - }, + controller: MdDialogController, controllerAs: 'dialog', bindToController: true, - theme: $mdTheming.defaultTheme() + }; + } + + /** + * Controller for the md-dialog interim elements + * @ngInject + */ + function MdDialogController($mdDialog, $mdConstant) { + // For compatibility with AngularJS 1.6+, we should always use the $onInit hook in + // interimElements. The $mdCompiler simulates the $onInit hook for all versions. + this.$onInit = function() { + var isPrompt = this.$type == 'prompt'; + + if (isPrompt && this.initialValue) { + this.result = this.initialValue; + } + + this.hide = function() { + $mdDialog.hide(isPrompt ? this.result : true); + }; + this.abort = function() { + $mdDialog.cancel(); + }; + this.keypress = function($event) { + if ($event.keyCode === $mdConstant.KEY_CODE.ENTER) { + $mdDialog.hide(this.result); + } + }; }; } /* @ngInject */ - function dialogDefaultOptions($mdDialog, $mdAria, $mdUtil, $mdConstant, $animate, $document, $window, $rootElement, $log, $injector) { + function dialogDefaultOptions($mdDialog, $mdAria, $mdUtil, $mdConstant, $animate, $document, $window, $rootElement, + $log, $injector, $mdTheming, $interpolate, $mdInteraction) { + return { hasBackdrop: true, isolateScope: true, + onCompiling: beforeCompile, onShow: onShow, onShowing: beforeShow, onRemove: onRemove, clickOutsideToClose: false, escapeToClose: true, targetEvent: null, - contentElement: null, closeTo: null, openFrom: null, focusOnOpen: true, @@ -11035,7 +10319,10 @@ function MdDialogProvider($$interimElementProvider) { // an element outside of the container, and the focus trap won't work probably.. // Also the tabindex is needed for the `escapeToClose` functionality, because // the keyDown event can't be triggered when the focus is outside of the container. - return '
' + validatedTemplate(template) + '
'; + var startSymbol = $interpolate.startSymbol(); + var endSymbol = $interpolate.endSymbol(); + var theme = startSymbol + (options.themeWatch ? '' : '::') + 'theme' + endSymbol; + return '
' + validatedTemplate(template) + '
'; /** * The specified template should contain a wrapper element.... @@ -11050,19 +10337,33 @@ function MdDialogProvider($$interimElementProvider) { } }; + function beforeCompile(options) { + // Automatically apply the theme, if the user didn't specify a theme explicitly. + // Those option changes need to be done, before the compilation has started, because otherwise + // the option changes will be not available in the $mdCompilers locales. + options.defaultTheme = $mdTheming.defaultTheme(); + + detectTheming(options); + } + function beforeShow(scope, element, options, controller) { + if (controller) { - controller.mdHtmlContent = controller.htmlContent || options.htmlContent || ''; - controller.mdTextContent = controller.textContent || options.textContent || + var mdHtmlContent = controller.htmlContent || options.htmlContent || ''; + var mdTextContent = controller.textContent || options.textContent || controller.content || options.content || ''; - if (controller.mdHtmlContent && !$injector.has('$sanitize')) { + if (mdHtmlContent && !$injector.has('$sanitize')) { throw Error('The ngSanitize module must be loaded in order to use htmlContent.'); } - if (controller.mdHtmlContent && controller.mdTextContent) { + if (mdHtmlContent && mdTextContent) { throw Error('md-dialog cannot have both `htmlContent` and `textContent`'); } + + // Only assign the content if nothing throws, otherwise it'll still be compiled. + controller.mdHtmlContent = mdHtmlContent; + controller.mdTextContent = mdTextContent; } } @@ -11070,36 +10371,22 @@ function MdDialogProvider($$interimElementProvider) { function onShow(scope, element, options, controller) { angular.element($document[0].body).addClass('md-dialog-is-showing'); - if (options.contentElement) { - var contentEl = options.contentElement; + var dialogElement = element.find('md-dialog'); - if (angular.isString(contentEl)) { - contentEl = document.querySelector(contentEl); - options.elementInsertionSibling = contentEl.nextElementSibling; - options.elementInsertionParent = contentEl.parentNode; - } else { - contentEl = contentEl[0] || contentEl; - // When the element is not visible in the DOM, then we can treat is as same - // as a normal dialog would do. Removing it at close etc. - // --- - // When the element is visible in the DOM, then we restore it at close of the dialog. - if (document.contains(contentEl)) { - options.elementInsertionSibling = contentEl.nextElementSibling; - options.elementInsertionParent = contentEl.parentNode; - } - } - - options.elementInsertionEntry = contentEl; - element = angular.element(contentEl); + // Once a dialog has `ng-cloak` applied on his template the dialog animation will not work properly. + // This is a very common problem, so we have to notify the developer about this. + if (dialogElement.hasClass('ng-cloak')) { + var message = '$mdDialog: using `` will affect the dialog opening animations.'; + $log.warn( message, element[0] ); } captureParentAndFromToElements(options); - configureAria(element.find('md-dialog'), options); + configureAria(dialogElement, options); showBackdrop(scope, element, options); + activateListeners(element, options); return dialogPopIn(element, options) .then(function() { - activateListeners(element, options); lockScreenReader(element, options); warnDeprecatedActions(); focusOnOpen(); @@ -11120,7 +10407,7 @@ function MdDialogProvider($$interimElementProvider) { */ function focusOnOpen() { if (options.focusOnOpen) { - var target = $mdUtil.findFocusTarget(element) || findCloseButton(); + var target = $mdUtil.findFocusTarget(element) || findCloseButton() || dialogElement; target.focus(); } @@ -11131,12 +10418,7 @@ function MdDialogProvider($$interimElementProvider) { * If we find no actions at all, log a warning to the console. */ function findCloseButton() { - var closeButton = element[0].querySelector('.dialog-close'); - if (!closeButton) { - var actionButtons = element[0].querySelectorAll('.md-actions button, md-dialog-actions button'); - closeButton = actionButtons[actionButtons.length - 1]; - } - return angular.element(closeButton); + return element[0].querySelector('.dialog-close, md-dialog-actions button:last-child'); } } } @@ -11170,42 +10452,58 @@ function MdDialogProvider($$interimElementProvider) { return dialogPopOut(element, options); } - function removeContentElement() { - if (!options.contentElement) return; - - options.reverseContainerStretch(); - - if (!options.elementInsertionParent) { - // When the contentElement has no parent, then it's a virtual DOM element, which should - // be removed at close, as same as normal templates inside of a dialog. - options.elementInsertionEntry.parentNode.removeChild(options.elementInsertionEntry); - } else if (!options.elementInsertionSibling) { - // When the contentElement doesn't have any sibling, then it can be simply appended to the - // parent, because it plays no role, which index it had before. - options.elementInsertionParent.appendChild(options.elementInsertionEntry); - } else { - // When the contentElement has a sibling, which marks the previous position of the contentElement - // in the DOM, we insert it correctly before the sibling, to have the same index as before. - options.elementInsertionParent.insertBefore(options.elementInsertionEntry, options.elementInsertionSibling); - } - } - /** * Detach the element */ function detachAndClean() { angular.element($document[0].body).removeClass('md-dialog-is-showing'); - // Only remove the element, if it's not provided through the contentElement option. - if (!options.contentElement) { - element.remove(); - } else { - removeContentElement(); + + // Reverse the container stretch if using a content element. + if (options.contentElement) { + options.reverseContainerStretch(); } - if (!options.$destroy) options.origin.focus(); + // Exposed cleanup function from the $mdCompiler. + options.cleanupElement(); + + // Restores the focus to the origin element if the last interaction upon opening was a keyboard. + if (!options.$destroy && options.originInteraction === 'keyboard') { + options.origin.focus(); + } } } + function detectTheming(options) { + // Once the user specifies a targetEvent, we will automatically try to find the correct + // nested theme. + var targetEl; + if (options.targetEvent && options.targetEvent.target) { + targetEl = angular.element(options.targetEvent.target); + } + + var themeCtrl = targetEl && targetEl.controller('mdTheme'); + + if (!themeCtrl) { + return; + } + + options.themeWatch = themeCtrl.$shouldWatch; + + var theme = options.theme || themeCtrl.$mdTheme; + + if (theme) { + options.scope.theme = theme; + } + + var unwatch = themeCtrl.registerChanges(function (newTheme) { + options.scope.theme = newTheme; + + if (!options.themeWatch) { + unwatch(); + } + }); + } + /** * Capture originator/trigger/from/to element information (if available) * and the parent container for the dialog; defaults to the $rootElement @@ -11223,9 +10521,11 @@ function MdDialogProvider($$interimElementProvider) { options.openFrom = getBoundingClientRect(getDomElement(options.openFrom)); if ( options.targetEvent ) { - options.origin = getBoundingClientRect(options.targetEvent.target, options.origin); + options.origin = getBoundingClientRect(options.targetEvent.target, options.origin); + options.originInteraction = $mdInteraction.getLastInteractionType(); } + /** * Identify the bounding RECT for the target element * @@ -11368,7 +10668,7 @@ function MdDialogProvider($$interimElementProvider) { } if (options.hasBackdrop) { - options.backdrop = $mdUtil.createBackdrop(scope, "_md-dialog-backdrop md-opaque"); + options.backdrop = $mdUtil.createBackdrop(scope, "md-dialog-backdrop md-opaque"); $animate.enter(options.backdrop, options.parent); } @@ -11381,13 +10681,14 @@ function MdDialogProvider($$interimElementProvider) { else $animate.leave(options.backdrop); } + if (options.disableParentScroll) { - options.restoreScroll(); + options.restoreScroll && options.restoreScroll(); delete options.restoreScroll; } options.hideBackdrop = null; - } + }; } /** @@ -11421,16 +10722,22 @@ function MdDialogProvider($$interimElementProvider) { } else { $mdAria.expectAsync(element, 'aria-label', function() { - var words = dialogContent.text().split(/\s+/); - if (words.length > 3) words = words.slice(0, 3).concat('...'); - return words.join(' '); + // If dialog title is specified, set aria-label with it + // See https://github.com/angular/material/issues/10582 + if (options.title) { + return options.title; + } else { + var words = dialogContent.text().split(/\s+/); + if (words.length > 3) words = words.slice(0, 3).concat('...'); + return words.join(' '); + } }); } // Set up elements before and after the dialog content to capture focus and // redirect back into the dialog. topFocusTrap = document.createElement('div'); - topFocusTrap.classList.add('_md-dialog-focus-trap'); + topFocusTrap.classList.add('md-dialog-focus-trap'); topFocusTrap.tabIndex = 0; bottomFocusTrap = topFocusTrap.cloneNode(false); @@ -11480,7 +10787,9 @@ function MdDialogProvider($$interimElementProvider) { for (var i = 0; i < children.length; i++) { // skip over child if it is an ascendant of the dialog // or a script or style tag - if (element !== children[i] && !isNodeOneOf(children[i], ['SCRIPT', 'STYLE'])) { + if (element !== children[i] && + !isNodeOneOf(children[i], ['SCRIPT', 'STYLE']) && + !children[i].hasAttribute('aria-live')) { children[i].setAttribute('aria-hidden', isHidden); } } @@ -11503,8 +10812,11 @@ function MdDialogProvider($$interimElementProvider) { height: container.css('height') }; + // If the body is fixed, determine the distance to the viewport in relative from the parent. + var parentTop = Math.abs(options.parent[0].getBoundingClientRect().top); + container.css({ - top: (isFixed ? $mdUtil.scrollTop(options.parent) : 0) + 'px', + top: (isFixed ? parentTop : 0) + 'px', height: height ? height + 'px' : '100%' }); @@ -11527,24 +10839,23 @@ function MdDialogProvider($$interimElementProvider) { var dialogEl = container.find('md-dialog'); var animator = $mdUtil.dom.animator; var buildTranslateToOrigin = animator.calculateZoomToOrigin; - var translateOptions = {transitionInClass: '_md-transition-in', transitionOutClass: '_md-transition-out'}; + var translateOptions = {transitionInClass: 'md-transition-in', transitionOutClass: 'md-transition-out'}; var from = animator.toTransformCss(buildTranslateToOrigin(dialogEl, options.openFrom || options.origin)); var to = animator.toTransformCss(""); // defaults to center display (or parent or $rootElement) - if (options.fullscreen) { - dialogEl.addClass('md-dialog-fullscreen'); - } + dialogEl.toggleClass('md-dialog-fullscreen', !!options.fullscreen); return animator .translate3d(dialogEl, from, to, translateOptions) .then(function(animateReversal) { + // Build a reversal translate function synced to this translation... options.reverseAnimate = function() { delete options.reverseAnimate; if (options.closeTo) { // Using the opposite classes to create a close animation to the closeTo element - translateOptions = {transitionInClass: '_md-transition-out', transitionOutClass: '_md-transition-in'}; + translateOptions = {transitionInClass: 'md-transition-out', transitionOutClass: 'md-transition-in'}; from = to; to = animator.toTransformCss(buildTranslateToOrigin(dialogEl, options.closeTo)); @@ -11562,13 +10873,20 @@ function MdDialogProvider($$interimElementProvider) { }; - // Builds a function, which clears the animations / transforms of the dialog element. - // Required for contentElements, which should not have the the animation styling after - // the dialog is closed. + // Function to revert the generated animation styles on the dialog element. + // Useful when using a contentElement instead of a template. options.clearAnimate = function() { delete options.clearAnimate; - return animator - .translate3d(dialogEl, to, animator.toTransformCss(''), {}); + + // Remove the transition classes, added from $animateCSS, since those can't be removed + // by reversely running the animator. + dialogEl.removeClass([ + translateOptions.transitionOutClass, + translateOptions.transitionInClass + ].join(' ')); + + // Run the animation reversely to remove the previous added animation styles. + return animator.translate3d(dialogEl, to, animator.toTransformCss(''), {}); }; return true; @@ -11599,7 +10917,6 @@ function MdDialogProvider($$interimElementProvider) { } } -MdDialogProvider.$inject = ["$$interimElementProvider"]; })(); (function(){ @@ -11610,6 +10927,7 @@ MdDialogProvider.$inject = ["$$interimElementProvider"]; * @name material.components.divider * @description Divider module! */ +MdDividerDirective.$inject = ["$mdTheming"]; angular.module('material.components.divider', [ 'material.core' ]) @@ -11639,7 +10957,6 @@ function MdDividerDirective($mdTheming) { link: $mdTheming }; } -MdDividerDirective.$inject = ["$mdTheming"]; })(); (function(){ @@ -11652,6 +10969,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; * @ngdoc module * @name material.components.fabActions */ + MdFabActionsDirective.$inject = ["$mdUtil"]; angular .module('material.components.fabActions', ['material.core']) .directive('mdFabActions', MdFabActionsDirective); @@ -11690,9 +11008,8 @@ MdDividerDirective.$inject = ["$mdTheming"]; children.wrap('
'); } } - } + }; } - MdFabActionsDirective.$inject = ["$mdUtil"]; })(); @@ -11703,11 +11020,13 @@ MdDividerDirective.$inject = ["$mdTheming"]; (function() { 'use strict'; + MdFabController.$inject = ["$scope", "$element", "$animate", "$mdUtil", "$mdConstant", "$timeout"]; angular.module('material.components.fabShared', ['material.core']) .controller('MdFabController', MdFabController); function MdFabController($scope, $element, $animate, $mdUtil, $mdConstant, $timeout) { var vm = this; + var initialAnimationAttempts = 0; // NOTE: We use async eval(s) below to avoid conflicts with any existing digest loops @@ -11728,12 +11047,23 @@ MdDividerDirective.$inject = ["$mdTheming"]; $scope.$evalAsync("vm.isOpen = !vm.isOpen"); }; - setupDefaults(); - setupListeners(); - setupWatchers(); + /* + * AngularJS Lifecycle hook for newer AngularJS versions. + * Bindings are not guaranteed to have been assigned in the controller, but they are in the $onInit hook. + */ + vm.$onInit = function() { + setupDefaults(); + setupListeners(); + setupWatchers(); - var initialAnimationAttempts = 0; - fireInitialAnimations(); + fireInitialAnimations(); + }; + + // For AngularJS 1.4 and older, where there are no lifecycle hooks but bindings are pre-assigned, + // manually call the $onInit hook. + if (angular.version.major === 1 && angular.version.minor <= 4) { + this.$onInit(); + } function setupDefaults() { // Set the default direction to 'down' if none is specified @@ -11746,7 +11076,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; resetActionIndex(); // Add an animations waiting class so we know not to run - $element.addClass('_md-animations-waiting'); + $element.addClass('md-animations-waiting'); } function setupListeners() { @@ -11846,7 +11176,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; // Fire our animation $animate.addClass($element, '_md-animations-ready').then(function() { // Remove the waiting class - $element.removeClass('_md-animations-waiting'); + $element.removeClass('md-animations-waiting'); }); } @@ -11995,7 +11325,6 @@ MdDividerDirective.$inject = ["$mdTheming"]; return $element.find('md-fab-actions'); } } - MdFabController.$inject = ["$scope", "$element", "$animate", "$mdUtil", "$mdConstant", "$timeout"]; })(); })(); @@ -12010,6 +11339,8 @@ MdDividerDirective.$inject = ["$mdTheming"]; * * @type {number} */ + MdFabSpeedDialFlingAnimation.$inject = ["$timeout"]; + MdFabSpeedDialScaleAnimation.$inject = ["$timeout"]; var cssAnimationDuration = 300; /** @@ -12021,7 +11352,6 @@ MdDividerDirective.$inject = ["$mdTheming"]; .module('material.components.fabSpeedDial', [ 'material.core', 'material.components.fabShared', - 'material.components.fabTrigger', 'material.components.fabActions' ]) @@ -12081,16 +11411,16 @@ MdDividerDirective.$inject = ["$mdTheming"]; * * * - * + * * * * * - * + * * * * - * + * * * * @@ -12127,7 +11457,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; function runAnimation(element) { // Don't run if we are still waiting and we are not ready - if (element.hasClass('_md-animations-waiting') && !element.hasClass('_md-animations-ready')) { + if (element.hasClass('md-animations-waiting') && !element.hasClass('_md-animations-ready')) { return; } @@ -12210,9 +11540,8 @@ MdDividerDirective.$inject = ["$mdTheming"]; runAnimation(element); delayDone(done); } - } + }; } - MdFabSpeedDialFlingAnimation.$inject = ["$timeout"]; function MdFabSpeedDialScaleAnimation($timeout) { function delayDone(done) { $timeout(done, cssAnimationDuration, false); } @@ -12254,9 +11583,8 @@ MdDividerDirective.$inject = ["$mdTheming"]; runAnimation(element); delayDone(done); } - } + }; } - MdFabSpeedDialScaleAnimation.$inject = ["$timeout"]; })(); })(); @@ -12275,7 +11603,6 @@ MdDividerDirective.$inject = ["$mdTheming"]; .module('material.components.fabToolbar', [ 'material.core', 'material.components.fabShared', - 'material.components.fabTrigger', 'material.components.fabActions' ]) @@ -12297,7 +11624,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; * * @description * - * The `` directive is used present a toolbar of elements (usually ``s) + * The `` directive is used to present a toolbar of elements (usually ``s) * for quick access to common actions when a floating action button is activated (via click or * keyboard navigation). * @@ -12316,17 +11643,17 @@ MdDividerDirective.$inject = ["$mdTheming"]; * * * - * + * * * * * * - * + * * * * - * + * * * * @@ -12341,8 +11668,8 @@ MdDividerDirective.$inject = ["$mdTheming"]; return { restrict: 'E', transclude: true, - template: '
' + - '
' + + template: '
' + + '
' + '
', scope: { @@ -12363,7 +11690,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; // Prepend the background element to the trigger's button element.find('md-fab-trigger').find('button') - .prepend('
'); + .prepend('
'); } } @@ -12379,7 +11706,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; var ctrl = element.controller('mdFabToolbar'); // Grab the relevant child elements - var backgroundElement = el.querySelector('._md-fab-toolbar-background'); + var backgroundElement = el.querySelector('.md-fab-toolbar-background'); var triggerElement = el.querySelector('md-fab-trigger button'); var toolbarElement = el.querySelector('md-toolbar'); var iconElement = el.querySelector('md-fab-trigger button md-icon'); @@ -12458,7 +11785,7 @@ MdDividerDirective.$inject = ["$mdTheming"]; runAnimation(element, className, done); done(); } - } + }; } })(); @@ -12466,42 +11793,13 @@ MdDividerDirective.$inject = ["$mdTheming"]; (function(){ "use strict"; -(function() { - 'use strict'; - - /** - * @ngdoc module - * @name material.components.fabTrigger - */ - angular - .module('material.components.fabTrigger', ['material.core']) - .directive('mdFabTrigger', MdFabTriggerDirective); - - /** - * @ngdoc directive - * @name mdFabTrigger - * @module material.components.fabSpeedDial - * - * @restrict E - * - * @description - * The `` directive is used inside of a `` or - * `` directive to mark an element (or elements) as the trigger and setup the - * proper event listeners. - * - * @usage - * See the `` or `` directives for example usage. - */ - function MdFabTriggerDirective() { - // TODO: Remove this completely? - return { - restrict: 'E', - - require: ['^?mdFabSpeedDial', '^?mdFabToolbar'] - }; - } -})(); - +/** + * @ngdoc module + * @name material.components.icon + * @description + * Icon + */ +angular.module('material.components.icon', ['material.core']); })(); (function(){ @@ -12511,6 +11809,10 @@ MdDividerDirective.$inject = ["$mdTheming"]; * @ngdoc module * @name material.components.gridList */ +GridListController.$inject = ["$mdUtil"]; +GridLayoutFactory.$inject = ["$mdUtil"]; +GridListDirective.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia"]; +GridTileDirective.$inject = ["$mdMedia"]; angular.module('material.components.gridList', ['material.core']) .directive('mdGridList', GridListDirective) .directive('mdGridTile', GridTileDirective) @@ -12779,8 +12081,17 @@ function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia) { // The width and horizontal position of each tile is always calculated the same way, but the // height and vertical position depends on the rowMode. - var style = { - left: POSITION({ unit: hUnit, offset: position.col, gutter: gutter }), + var ltr = document.dir != 'rtl' && document.body.dir != 'rtl'; + var style = ltr ? { + left: POSITION({ unit: hUnit, offset: position.col, gutter: gutter }), + width: DIMENSION({ unit: hUnit, span: spans.col, gutter: gutter }), + // resets + paddingTop: '', + marginTop: '', + top: '', + height: '' + } : { + right: POSITION({ unit: hUnit, offset: position.col, gutter: gutter }), width: DIMENSION({ unit: hUnit, span: spans.col, gutter: gutter }), // resets paddingTop: '', @@ -12928,7 +12239,6 @@ function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia) { } } } -GridListDirective.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia"]; /* @ngInject */ function GridListController($mdUtil) { @@ -12937,7 +12247,6 @@ function GridListController($mdUtil) { this.$timeout_ = $mdUtil.nextTick; this.layoutDelegate = angular.noop; } -GridListController.$inject = ["$mdUtil"]; GridListController.prototype = { invalidateTiles: function() { @@ -13160,7 +12469,6 @@ function GridLayoutFactory($mdUtil) { } } } -GridLayoutFactory.$inject = ["$mdUtil"]; /** * @ngdoc directive @@ -13262,7 +12570,6 @@ function GridTileDirective($mdMedia) { } } } -GridTileDirective.$inject = ["$mdMedia"]; function GridTileCaptionDirective() { @@ -13276,376 +12583,20 @@ function GridTileCaptionDirective() { (function(){ "use strict"; -/** - * @ngdoc module - * @name material.components.icon - * @description - * Icon - */ -angular.module('material.components.icon', ['material.core']); - -})(); -(function(){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.list - * @description - * List module - */ -angular.module('material.components.list', [ - 'material.core' -]) - .controller('MdListController', MdListController) - .directive('mdList', mdListDirective) - .directive('mdListItem', mdListItemDirective); - -/** - * @ngdoc directive - * @name mdList - * @module material.components.list - * - * @restrict E - * - * @description - * The `` directive is a list container for 1..n `` tags. - * - * @usage - * - * - * - * - *
- *

{{item.title}}

- *

{{item.description}}

- *
- *
- *
- *
- */ - -function mdListDirective($mdTheming) { - return { - restrict: 'E', - compile: function(tEl) { - tEl[0].setAttribute('role', 'list'); - return $mdTheming; - } - }; -} -mdListDirective.$inject = ["$mdTheming"]; -/** - * @ngdoc directive - * @name mdListItem - * @module material.components.list - * - * @restrict E - * - * @description - * The `` directive is a container intended for row items in a `` container. - * The `md-2-line` and `md-3-line` classes can be added to a `` - * to increase the height with 22px and 40px respectively. - * - * ## CSS - * `.md-avatar` - class for image avatars - * - * `.md-avatar-icon` - class for icon avatars - * - * `.md-offset` - on content without an avatar - * - * @usage - * - * - * - * - * Item content in list - * - * - * - * Item content in list - * - * - * - * - * _**Note:** We automatically apply special styling when the inner contents are wrapped inside - * of a `` tag. This styling is automatically ignored for `class="md-secondary"` buttons - * and you can include a class of `class="md-exclude"` if you need to use a non-secondary button - * that is inside the list, but does not wrap the contents._ - */ -function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) { - var proxiedTypes = ['md-checkbox', 'md-switch']; - return { - restrict: 'E', - controller: 'MdListController', - compile: function(tEl, tAttrs) { - - // Check for proxy controls (no ng-click on parent, and a control inside) - var secondaryItems = tEl[0].querySelectorAll('.md-secondary'); - var hasProxiedElement; - var proxyElement; - var itemContainer = tEl; - - tEl[0].setAttribute('role', 'listitem'); - - if (tAttrs.ngClick || tAttrs.ngDblclick || tAttrs.ngHref || tAttrs.href || tAttrs.uiSref || tAttrs.ngAttrUiSref) { - wrapIn('button'); - } else { - for (var i = 0, type; type = proxiedTypes[i]; ++i) { - if (proxyElement = tEl[0].querySelector(type)) { - hasProxiedElement = true; - break; - } - } - if (hasProxiedElement) { - wrapIn('div'); - } else if (!tEl[0].querySelector('md-button:not(.md-secondary):not(.md-exclude)')) { - tEl.addClass('_md-no-proxy'); - } - } - wrapSecondaryItems(); - setupToggleAria(); - - - function setupToggleAria() { - var toggleTypes = ['md-switch', 'md-checkbox']; - var toggle; - - for (var i = 0, toggleType; toggleType = toggleTypes[i]; ++i) { - if (toggle = tEl.find(toggleType)[0]) { - if (!toggle.hasAttribute('aria-label')) { - var p = tEl.find('p')[0]; - if (!p) return; - toggle.setAttribute('aria-label', 'Toggle ' + p.textContent); - } - } - } - } - - function wrapIn(type) { - if (type == 'div') { - itemContainer = angular.element('
'); - itemContainer.append(tEl.contents()); - tEl.addClass('_md-proxy-focus'); - } else { - // Element which holds the default list-item content. - itemContainer = angular.element( - '
'+ - '
'+ - '
' - ); - - // Button which shows ripple and executes primary action. - var buttonWrap = angular.element( - '' - ); - - buttonWrap[0].setAttribute('aria-label', tEl[0].textContent); - copyAttributes(tEl[0], buttonWrap[0]); - - // Append the button wrap before our list-item content, because it will overlay in relative. - itemContainer.prepend(buttonWrap); - itemContainer.children().eq(1).append(tEl.contents()); - - tEl.addClass('_md-button-wrap'); - } - - tEl[0].setAttribute('tabindex', '-1'); - tEl.append(itemContainer); - } - - function wrapSecondaryItems() { - var secondaryItemsWrapper = angular.element('
'); - - angular.forEach(secondaryItems, function(secondaryItem) { - wrapSecondaryItem(secondaryItem, secondaryItemsWrapper); - }); - - itemContainer.append(secondaryItemsWrapper); - } - - function wrapSecondaryItem(secondaryItem, container) { - if (secondaryItem && !isButton(secondaryItem) && secondaryItem.hasAttribute('ng-click')) { - $mdAria.expect(secondaryItem, 'aria-label'); - var buttonWrapper = angular.element(''); - copyAttributes(secondaryItem, buttonWrapper[0]); - secondaryItem.setAttribute('tabindex', '-1'); - buttonWrapper.append(secondaryItem); - secondaryItem = buttonWrapper[0]; - } - - if (secondaryItem && (!hasClickEvent(secondaryItem) || (!tAttrs.ngClick && isProxiedElement(secondaryItem)))) { - // In this case we remove the secondary class, so we can identify it later, when we searching for the - // proxy items. - angular.element(secondaryItem).removeClass('md-secondary'); - } - - tEl.addClass('md-with-secondary'); - container.append(secondaryItem); - } - - function copyAttributes(item, wrapper) { - var copiedAttrs = $mdUtil.prefixer([ - 'ng-if', 'ng-click', 'ng-dblclick', 'aria-label', 'ng-disabled', 'ui-sref', - 'href', 'ng-href', 'target', 'ng-attr-ui-sref', 'ui-sref-opts' - ]); - - angular.forEach(copiedAttrs, function(attr) { - if (item.hasAttribute(attr)) { - wrapper.setAttribute(attr, item.getAttribute(attr)); - item.removeAttribute(attr); - } - }); - } - - function isProxiedElement(el) { - return proxiedTypes.indexOf(el.nodeName.toLowerCase()) != -1; - } - - function isButton(el) { - var nodeName = el.nodeName.toUpperCase(); - - return nodeName == "MD-BUTTON" || nodeName == "BUTTON"; - } - - function hasClickEvent (element) { - var attr = element.attributes; - for (var i = 0; i < attr.length; i++) { - if (tAttrs.$normalize(attr[i].name) === 'ngClick') return true; - } - return false; - } - - return postLink; - - function postLink($scope, $element, $attr, ctrl) { - $element.addClass('_md'); // private md component indicator for styling - - var proxies = [], - firstElement = $element[0].firstElementChild, - isButtonWrap = $element.hasClass('_md-button-wrap'), - clickChild = isButtonWrap ? firstElement.firstElementChild : firstElement, - hasClick = clickChild && hasClickEvent(clickChild); - - computeProxies(); - computeClickable(); - - if ($element.hasClass('_md-proxy-focus') && proxies.length) { - angular.forEach(proxies, function(proxy) { - proxy = angular.element(proxy); - - $scope.mouseActive = false; - proxy.on('mousedown', function() { - $scope.mouseActive = true; - $timeout(function(){ - $scope.mouseActive = false; - }, 100); - }) - .on('focus', function() { - if ($scope.mouseActive === false) { $element.addClass('md-focused'); } - proxy.on('blur', function proxyOnBlur() { - $element.removeClass('md-focused'); - proxy.off('blur', proxyOnBlur); - }); - }); - }); - } - - - function computeProxies() { - if (firstElement && firstElement.children && !hasClick) { - - angular.forEach(proxiedTypes, function(type) { - - // All elements which are not capable for being used a proxy have the .md-secondary class - // applied. These items had been sorted out in the secondary wrap function. - angular.forEach(firstElement.querySelectorAll(type + ':not(.md-secondary)'), function(child) { - proxies.push(child); - }); - }); - - } - } - function computeClickable() { - if (proxies.length == 1 || hasClick) { - $element.addClass('md-clickable'); - - if (!hasClick) { - ctrl.attachRipple($scope, angular.element($element[0].querySelector('._md-no-style'))); - } - } - } - - var clickChildKeypressListener = function(e) { - if (e.target.nodeName != 'INPUT' && e.target.nodeName != 'TEXTAREA' && !e.target.isContentEditable) { - var keyCode = e.which || e.keyCode; - if (keyCode == $mdConstant.KEY_CODE.SPACE) { - if (clickChild) { - clickChild.click(); - e.preventDefault(); - e.stopPropagation(); - } - } - } - }; - - if (!hasClick && !proxies.length) { - clickChild && clickChild.addEventListener('keypress', clickChildKeypressListener); - } - - $element.off('click'); - $element.off('keypress'); - - if (proxies.length == 1 && clickChild) { - $element.children().eq(0).on('click', function(e) { - var parentButton = $mdUtil.getClosest(e.target, 'BUTTON'); - if (!parentButton && clickChild.contains(e.target)) { - angular.forEach(proxies, function(proxy) { - if (e.target !== proxy && !proxy.contains(e.target)) { - angular.element(proxy).triggerHandler('click'); - } - }); - } - }); - } - - $scope.$on('$destroy', function () { - clickChild && clickChild.removeEventListener('keypress', clickChildKeypressListener); - }); - } - } - }; -} -mdListItemDirective.$inject = ["$mdAria", "$mdConstant", "$mdUtil", "$timeout"]; - -/* - * @private - * @ngdoc controller - * @name MdListController - * @module material.components.list - * - */ -function MdListController($scope, $element, $mdListInkRipple) { - var ctrl = this; - ctrl.attachRipple = attachRipple; - - function attachRipple (scope, element) { - var options = {}; - $mdListInkRipple.attach(scope, element, options); - } -} -MdListController.$inject = ["$scope", "$element", "$mdListInkRipple"]; - -})(); -(function(){ -"use strict"; - /** * @ngdoc module * @name material.components.input */ - -angular.module('material.components.input', [ +mdInputContainerDirective.$inject = ["$mdTheming", "$parse"]; +inputTextareaDirective.$inject = ["$mdUtil", "$window", "$mdAria", "$timeout", "$mdGesture"]; +mdMaxlengthDirective.$inject = ["$animate", "$mdUtil"]; +placeholderDirective.$inject = ["$compile"]; +ngMessageDirective.$inject = ["$mdUtil"]; +mdSelectOnFocusDirective.$inject = ["$timeout"]; +mdInputInvalidMessagesAnimation.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil", "$log"]; +ngMessagesAnimation.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil", "$log"]; +ngMessageAnimation.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil", "$log"]; +var inputModule = angular.module('material.components.input', [ 'material.core' ]) .directive('mdInputContainer', mdInputContainerDirective) @@ -13663,6 +12614,25 @@ angular.module('material.components.input', [ .animation('.md-input-messages-animation', ngMessagesAnimation) .animation('.md-input-message-animation', ngMessageAnimation); +// If we are running inside of tests; expose some extra services so that we can test them +if (window._mdMocksIncluded) { + inputModule.service('$$mdInput', function() { + return { + // special accessor to internals... useful for testing + messages: { + show : showInputMessages, + hide : hideInputMessages, + getElement : getMessagesElement + } + } + }) + + // Register a service for each animation so that we can easily inject them into unit tests + .service('mdInputInvalidAnimation', mdInputInvalidMessagesAnimation) + .service('mdInputMessagesAnimation', ngMessagesAnimation) + .service('mdInputMessageAnimation', ngMessageAnimation); +} + /** * @ngdoc directive * @name mdInputContainer @@ -13681,6 +12651,10 @@ angular.module('material.components.input', [ * Exception: Hidden inputs (``) are ignored and will not throw an error, so * you may combine these with other inputs. * + * Note: When using `ngMessages` with your input element, make sure the message and container elements + * are *block* elements, otherwise animations applied to the messages will not look as intended. Either use a `div` and + * apply the `ng-message` and `ng-messages` classes respectively, or use the `md-block` class on your element. + * * @param md-is-error {expression=} When the given expression evaluates to true, the input container * will go into error state. Defaults to erroring if the input has been touched and is invalid. * @param md-no-float {boolean=} When present, `placeholder` attributes on the input will not be converted to floating @@ -13712,6 +12686,7 @@ angular.module('material.components.input', [ */ function mdInputContainerDirective($mdTheming, $parse) { + ContainerCtrl.$inject = ["$scope", "$element", "$attrs", "$animate"]; var INPUT_TAGS = ['INPUT', 'TEXTAREA', 'SELECT', 'MD-SELECT']; var LEFT_SELECTORS = INPUT_TAGS.reduce(function(selectors, isel) { @@ -13722,22 +12697,23 @@ function mdInputContainerDirective($mdTheming, $parse) { return selectors.concat([isel + ' ~ md-icon', isel + ' ~ .md-icon']); }, []).join(","); - ContainerCtrl.$inject = ["$scope", "$element", "$attrs", "$animate"]; return { restrict: 'E', - link: postLink, + compile: compile, controller: ContainerCtrl }; - function postLink(scope, element) { - $mdTheming(element); - + function compile(tElement) { // Check for both a left & right icon - var leftIcon = element[0].querySelector(LEFT_SELECTORS); - var rightIcon = element[0].querySelector(RIGHT_SELECTORS); + var leftIcon = tElement[0].querySelector(LEFT_SELECTORS); + var rightIcon = tElement[0].querySelector(RIGHT_SELECTORS); - if (leftIcon) { element.addClass('md-icon-left'); } - if (rightIcon) { element.addClass('md-icon-right'); } + if (leftIcon) { tElement.addClass('md-icon-left'); } + if (rightIcon) { tElement.addClass('md-icon-right'); } + + return function postLink(scope, element) { + $mdTheming(element); + }; } function ContainerCtrl($scope, $element, $attrs, $animate) { @@ -13774,14 +12750,13 @@ function mdInputContainerDirective($mdTheming, $parse) { }); } } -mdInputContainerDirective.$inject = ["$mdTheming", "$parse"]; function labelDirective() { return { restrict: 'E', require: '^?mdInputContainer', link: function(scope, element, attr, containerCtrl) { - if (!containerCtrl || attr.mdNoFloat || element.hasClass('_md-container-ignore')) return; + if (!containerCtrl || attr.mdNoFloat || element.hasClass('md-container-ignore')) return; containerCtrl.label = element; scope.$on('$destroy', function() { @@ -13847,7 +12822,7 @@ function labelDirective() { * * * - *
+ *
*
This is required!
*
* @@ -13913,7 +12888,10 @@ function labelDirective() { * - If a `textarea` has the `rows` attribute, it will treat the `rows` as the minimum height and will * continue growing as the user types. For example a textarea with `rows="3"` will be 3 lines of text * high initially. If no rows are specified, the directive defaults to 1. - * - If you wan't a `textarea` to stop growing at a certain point, you can specify the `max-rows` attribute. + * - The textarea's height gets set on initialization, as well as while the user is typing. In certain situations + * (e.g. while animating) the directive might have been initialized, before the element got it's final height. In + * those cases, you can trigger a resize manually by broadcasting a `md-resize-textarea` event on the scope. + * - If you want a `textarea` to stop growing at a certain point, you can specify the `max-rows` attribute. * - The textarea's bottom border acts as a handle which users can drag, in order to resize the element vertically. * Once the user has resized a `textarea`, the autogrowing functionality becomes disabled. If you don't want a * `textarea` to be resizeable by the user, you can add the `md-no-resize` attribute. @@ -13922,7 +12900,7 @@ function labelDirective() { function inputTextareaDirective($mdUtil, $window, $mdAria, $timeout, $mdGesture) { return { restrict: 'E', - require: ['^?mdInputContainer', '?ngModel'], + require: ['^?mdInputContainer', '?ngModel', '?^form'], link: postLink }; @@ -13931,6 +12909,7 @@ function inputTextareaDirective($mdUtil, $window, $mdAria, $timeout, $mdGesture) var containerCtrl = ctrls[0]; var hasNgModel = !!ctrls[1]; var ngModelCtrl = ctrls[1] || $mdUtil.fakeNgModel(); + var parentForm = ctrls[2]; var isReadonly = angular.isDefined(attr.readonly); var mdNoAsterisk = $mdUtil.parseAttributeBoolean(attr.mdNoAsterisk); var tagName = element[0].tagName.toLowerCase(); @@ -13941,7 +12920,11 @@ function inputTextareaDirective($mdUtil, $window, $mdAria, $timeout, $mdGesture) element.attr('aria-hidden', 'true'); return; } else if (containerCtrl.input) { - throw new Error(" can only have *one* ,
- * {{text}} + * {{text}} *
* * @@ -30565,7 +32277,7 @@ var ngSwitchDefaultDirective = ngDirective({ * This example shows how to use `NgTransclude` with fallback content, that * is displayed if no transcluded content is provided. * - * + * * * +