@grafit/era-dependencies 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +7 -0
  2. package/vendor/fonts/FontAwesome.otf +0 -0
  3. package/vendor/fonts/fontawesome-webfont.eot +0 -0
  4. package/vendor/fonts/fontawesome-webfont.svg +685 -0
  5. package/vendor/fonts/fontawesome-webfont.ttf +0 -0
  6. package/vendor/fonts/fontawesome-webfont.woff +0 -0
  7. package/vendor/fonts/fontawesome-webfont.woff2 +0 -0
  8. package/vendor/fonts/glyphicons-halflings-regular.eot +0 -0
  9. package/vendor/fonts/glyphicons-halflings-regular.svg +288 -0
  10. package/vendor/fonts/glyphicons-halflings-regular.ttf +0 -0
  11. package/vendor/fonts/glyphicons-halflings-regular.woff +0 -0
  12. package/vendor/fonts/glyphicons-halflings-regular.woff2 +0 -0
  13. package/vendor/scripts/angular/angular-cookies.js +322 -0
  14. package/vendor/scripts/angular/angular-file-upload.js +2087 -0
  15. package/vendor/scripts/angular/angular-filter.js +2287 -0
  16. package/vendor/scripts/angular/angular-locale_ru-ru.js +143 -0
  17. package/vendor/scripts/angular/angular-route.js +1069 -0
  18. package/vendor/scripts/angular/angular-sanitize.js +738 -0
  19. package/vendor/scripts/angular/angular-ui-router-0.2.18.js +4539 -0
  20. package/vendor/scripts/angular/angular.js +31768 -0
  21. package/vendor/scripts/angular/datetimepicker.js +578 -0
  22. package/vendor/scripts/angular/datetimepicker.templates.js +30 -0
  23. package/vendor/scripts/angular/mask.min.js +7 -0
  24. package/vendor/scripts/angular/ng-table.js +1518 -0
  25. package/vendor/scripts/angular/select.js +2356 -0
  26. package/vendor/scripts/angular/ui-bootstrap-tpls-2.1.3.js +7536 -0
  27. package/vendor/scripts/angular/uploader.js +3 -0
  28. package/vendor/scripts/bootbox.js +985 -0
  29. package/vendor/scripts/bootstrap.js +2377 -0
  30. package/vendor/scripts/es6-shim.js +3837 -0
  31. package/vendor/scripts/highchart/highcharts-more.src.js +3165 -0
  32. package/vendor/scripts/highchart/highstock.src.js +32008 -0
  33. package/vendor/scripts/highchart/modules/boost.src.js +2721 -0
  34. package/vendor/scripts/highchart/modules/exporting.src.js +951 -0
  35. package/vendor/scripts/jquery/jquery.js +11008 -0
  36. package/vendor/scripts/jquery.datetimepicker.full.js +2911 -0
  37. package/vendor/scripts/keycloak.js +2382 -0
  38. package/vendor/scripts/lodash.js +16733 -0
  39. package/vendor/scripts/moment-with-locales.js +12251 -0
  40. package/vendor/scripts/moment.js +4234 -0
  41. package/vendor/scripts/old/datepicker-ru.js +38 -0
  42. package/vendor/scripts/old/jquery-ui-1.11.1.js +16375 -0
  43. package/vendor/scripts/old/jquery.form.js +1278 -0
  44. package/vendor/scripts/perfect-scrollbar.js +1549 -0
  45. package/vendor/scripts/pickmeup/pickmeup-locales.js +11 -0
  46. package/vendor/scripts/pickmeup/pickmeup.js +1383 -0
  47. package/vendor/scripts/quill.js +9676 -0
  48. package/vendor/scripts/socket.io.min.js +3 -0
  49. package/vendor/scripts/textAngular/angular-spectrum-colorpicker.min.js +2 -0
  50. package/vendor/scripts/textAngular/spectrum.min.js +1 -0
  51. package/vendor/scripts/textAngular/textAngular-dropdownToggle.js +38 -0
  52. package/vendor/scripts/textAngular/textAngular-rangy.min.js +478 -0
  53. package/vendor/scripts/textAngular/textAngular-sanitize.min.js +322 -0
  54. package/vendor/scripts/textAngular/textAngular.min.js +1481 -0
  55. package/vendor/scripts/textAngular/textAngularSetup.js +1013 -0
  56. package/vendor/styles/bootstrap-theme.css +587 -0
  57. package/vendor/styles/bootstrap-theme.css.map +1 -0
  58. package/vendor/styles/bootstrap-theme.min.css +6 -0
  59. package/vendor/styles/bootstrap-theme.min.css.map +1 -0
  60. package/vendor/styles/bootstrap.css +6757 -0
  61. package/vendor/styles/bootstrap.css.map +1 -0
  62. package/vendor/styles/bootstrap.min.css +6 -0
  63. package/vendor/styles/bootstrap.min.css.map +1 -0
  64. package/vendor/styles/datetimepicker.css +115 -0
  65. package/vendor/styles/font-awesome.css +2199 -0
  66. package/vendor/styles/jquery.datetimepicker.min.css +1 -0
  67. package/vendor/styles/ng-table.css +136 -0
  68. package/vendor/styles/normalize.css +424 -0
  69. package/vendor/styles/perfect-scrollbar.css +165 -0
  70. package/vendor/styles/pickmeup.css +137 -0
  71. package/vendor/styles/spectrum.min.css +1 -0
  72. package/vendor/styles/textAngular.css +193 -0
@@ -0,0 +1,578 @@
1
+ /* globals define, jQuery, module, require, angular, moment */
2
+ /* jslint vars:true */
3
+
4
+ /**
5
+ * @license angular-bootstrap-datetimepicker
6
+ * Copyright 2016 Knight Rider Consulting, Inc. http://www.knightrider.com
7
+ * License: MIT
8
+ *
9
+ * @author Dale "Ducky" Lotts
10
+ * @since 2013-Jul-8
11
+ */
12
+
13
+ ;(function (root, factory) {
14
+ 'use strict'
15
+ /* istanbul ignore if */
16
+ if (typeof module !== 'undefined' && module.exports) {
17
+ var ng = typeof angular === 'undefined' ? require('angular') : angular
18
+ var mt = typeof moment === 'undefined' ? require('moment') : moment
19
+ factory(ng, mt)
20
+ module.exports = 'ui.bootstrap.datetimepicker'
21
+ /* istanbul ignore next */
22
+ } else if (typeof define === 'function' && /* istanbul ignore next */ define.amd) {
23
+ define(['angular', 'moment'], factory)
24
+ } else {
25
+ factory(root.angular, root.moment)
26
+ }
27
+ }(this, function (angular, moment) {
28
+ 'use strict'
29
+ angular.module('ui.bootstrap.datetimepicker', [])
30
+ .service('dateTimePickerConfig', DateTimePickerConfigProvider)
31
+ .service('dateTimePickerValidator', DateTimePickerValidatorService)
32
+ .directive('datetimepicker', DatetimepickerDirective)
33
+
34
+ DatetimepickerDirective.$inject = ['dateTimePickerConfig', 'dateTimePickerValidator']
35
+
36
+ function DatetimepickerDirective (defaultConfig, configurationValidator) {
37
+ var directiveDefinition = {
38
+ bindToController: false,
39
+ controller: DirectiveController,
40
+ controllerAs: 'dateTimePickerController',
41
+ replace: true,
42
+ require: 'ngModel',
43
+ restrict: 'E',
44
+ scope: {
45
+ beforeRender: '&',
46
+ onSetTime: '&'
47
+ },
48
+ templateUrl: 'templates/datetimepicker.html'
49
+ }
50
+
51
+ DirectiveController.$inject = ['$scope', '$element', '$attrs']
52
+
53
+ function DirectiveController ($scope, $element, $attrs) {
54
+ // Configuration
55
+ var ngModelController = $element.controller('ngModel')
56
+
57
+ var configuration = createConfiguration()
58
+ $scope.screenReader = configuration.screenReader
59
+
60
+ // Behavior
61
+ $scope.changeView = changeView
62
+ ngModelController.$render = $render
63
+
64
+ if (configuration.configureOn) {
65
+ $scope.$on(configuration.configureOn, function () {
66
+ configuration = createConfiguration()
67
+ $scope.screenReader = configuration.screenReader
68
+ ngModelController.$render()
69
+ })
70
+ }
71
+
72
+ if (configuration.renderOn) {
73
+ $scope.$on(configuration.renderOn, ngModelController.$render)
74
+ }
75
+
76
+ // Implementation
77
+
78
+ var viewToModelFactory = {
79
+ year: yearModelFactory,
80
+
81
+ month: monthModelFactory,
82
+
83
+ day: dayModelFactory,
84
+
85
+ hour: hourModelFactory,
86
+
87
+ minute: minuteModelFactory,
88
+
89
+ setTime: setTime
90
+ }
91
+
92
+ function changeView (viewName, dateObject, event) {
93
+ if (event) {
94
+ event.stopPropagation()
95
+ event.preventDefault()
96
+ }
97
+
98
+ if (viewName && (dateObject.utcDateValue > -Infinity) && dateObject.selectable && viewToModelFactory[viewName]) {
99
+ var result = viewToModelFactory[viewName](dateObject.utcDateValue)
100
+
101
+ var weekDates = []
102
+ if (result.weeks) {
103
+ for (var i = 0; i < result.weeks.length; i += 1) {
104
+ var week = result.weeks[i]
105
+ for (var j = 0; j < week.dates.length; j += 1) {
106
+ var weekDate = week.dates[j]
107
+ weekDates.push(weekDate)
108
+ }
109
+ }
110
+ }
111
+
112
+ $scope.beforeRender({
113
+ $view: result.currentView,
114
+ $dates: result.dates || weekDates,
115
+ $leftDate: result.leftDate,
116
+ $upDate: result.previousViewDate,
117
+ $rightDate: result.rightDate
118
+ })
119
+
120
+ $scope.data = result
121
+ }
122
+ }
123
+
124
+ function yearModelFactory (milliseconds) {
125
+ var selectedDate = moment.utc(milliseconds).startOf('year')
126
+ // View starts one year before the decade starts and ends one year after the decade ends
127
+ // i.e. passing in a date of 1/1/2013 will give a range of 2009 to 2020
128
+ // Truncate the last digit from the current year and subtract 1 to get the start of the decade
129
+ var startDecade = (parseInt(selectedDate.year() / 10, 10) * 10)
130
+ var startDate = moment.utc(startOfDecade(milliseconds)).subtract(1, 'year').startOf('year')
131
+
132
+ var yearFormat = 'YYYY'
133
+ var activeFormat = formatValue(ngModelController.$modelValue, yearFormat)
134
+ var currentFormat = moment().format(yearFormat)
135
+
136
+ var result = {
137
+ 'currentView': 'year',
138
+ 'nextView': configuration.minView === 'year' ? 'setTime' : 'month',
139
+ 'previousViewDate': new DateObject({
140
+ utcDateValue: null,
141
+ display: startDecade + '-' + (startDecade + 9)
142
+ }),
143
+ 'leftDate': new DateObject({utcDateValue: moment.utc(startDate).subtract(9, 'year').valueOf()}),
144
+ 'rightDate': new DateObject({utcDateValue: moment.utc(startDate).add(11, 'year').valueOf()}),
145
+ 'dates': []
146
+ }
147
+
148
+ for (var i = 0; i < 12; i += 1) {
149
+ var yearMoment = moment.utc(startDate).add(i, 'years')
150
+ var dateValue = {
151
+ 'active': yearMoment.format(yearFormat) === activeFormat,
152
+ 'current': yearMoment.format(yearFormat) === currentFormat,
153
+ 'display': yearMoment.format(yearFormat),
154
+ 'future': yearMoment.year() > startDecade + 9,
155
+ 'past': yearMoment.year() < startDecade,
156
+ 'utcDateValue': yearMoment.valueOf()
157
+ }
158
+
159
+ result.dates.push(new DateObject(dateValue))
160
+ }
161
+
162
+ return result
163
+ }
164
+
165
+ function monthModelFactory (milliseconds) {
166
+ var startDate = moment.utc(milliseconds).startOf('year')
167
+ var previousViewDate = startOfDecade(milliseconds)
168
+
169
+ var monthFormat = 'YYYY-MMM'
170
+ var activeFormat = formatValue(ngModelController.$modelValue, monthFormat)
171
+ var currentFormat = moment().format(monthFormat)
172
+
173
+ var result = {
174
+ 'previousView': 'year',
175
+ 'currentView': 'month',
176
+ 'nextView': configuration.minView === 'month' ? 'setTime' : 'day',
177
+ 'previousViewDate': new DateObject({
178
+ utcDateValue: previousViewDate.valueOf(),
179
+ display: startDate.format('YYYY')
180
+ }),
181
+ 'leftDate': new DateObject({utcDateValue: moment.utc(startDate).subtract(1, 'year').valueOf()}),
182
+ 'rightDate': new DateObject({utcDateValue: moment.utc(startDate).add(1, 'year').valueOf()}),
183
+ 'dates': []
184
+ }
185
+
186
+ for (var i = 0; i < 12; i += 1) {
187
+ var monthMoment = moment.utc(startDate).add(i, 'months')
188
+ var dateValue = {
189
+ 'active': monthMoment.format(monthFormat) === activeFormat,
190
+ 'current': monthMoment.format(monthFormat) === currentFormat,
191
+ 'display': monthMoment.format('MMM'),
192
+ 'utcDateValue': monthMoment.valueOf()
193
+ }
194
+
195
+ result.dates.push(new DateObject(dateValue))
196
+ }
197
+
198
+ return result
199
+ }
200
+
201
+ function dayModelFactory (milliseconds) {
202
+ var selectedDate = moment.utc(milliseconds)
203
+ var startOfMonth = moment.utc(selectedDate).startOf('month')
204
+ var previousViewDate = moment.utc(selectedDate).startOf('year')
205
+ var endOfMonth = moment.utc(selectedDate).endOf('month')
206
+
207
+ var startDate = moment.utc(startOfMonth).subtract(Math.abs(startOfMonth.weekday()), 'days')
208
+
209
+ var dayFormat = 'YYYY-MMM-DD'
210
+ var activeFormat = formatValue(ngModelController.$modelValue, dayFormat)
211
+ var currentFormat = moment().format(dayFormat)
212
+
213
+ var result = {
214
+ 'previousView': 'month',
215
+ 'currentView': 'day',
216
+ 'nextView': configuration.minView === 'day' ? 'setTime' : 'hour',
217
+ 'previousViewDate': new DateObject({
218
+ utcDateValue: previousViewDate.valueOf(),
219
+ display: startOfMonth.format('YYYY-MMM')
220
+ }),
221
+ 'leftDate': new DateObject({utcDateValue: moment.utc(startOfMonth).subtract(1, 'months').valueOf()}),
222
+ 'rightDate': new DateObject({utcDateValue: moment.utc(startOfMonth).add(1, 'months').valueOf()}),
223
+ 'dayNames': [],
224
+ 'weeks': []
225
+ }
226
+
227
+ for (var dayNumber = 0; dayNumber < 7; dayNumber += 1) {
228
+ result.dayNames.push(moment.utc().weekday(dayNumber).format('dd'))
229
+ }
230
+
231
+ for (var i = 0; i < 6; i += 1) {
232
+ var week = {dates: []}
233
+ for (var j = 0; j < 7; j += 1) {
234
+ var dayMoment = moment.utc(startDate).add((i * 7) + j, 'days')
235
+ var dateValue = {
236
+ 'active': dayMoment.format(dayFormat) === activeFormat,
237
+ 'current': dayMoment.format(dayFormat) === currentFormat,
238
+ 'display': dayMoment.format('D'),
239
+ 'future': dayMoment.isAfter(endOfMonth),
240
+ 'past': dayMoment.isBefore(startOfMonth),
241
+ 'utcDateValue': dayMoment.valueOf()
242
+ }
243
+ week.dates.push(new DateObject(dateValue))
244
+ }
245
+ result.weeks.push(week)
246
+ }
247
+
248
+ return result
249
+ }
250
+
251
+ function hourModelFactory (milliseconds) {
252
+ var selectedDate = moment.utc(milliseconds).startOf('day')
253
+ var previousViewDate = moment.utc(selectedDate).startOf('month')
254
+
255
+ var hourFormat = 'YYYY-MM-DD H'
256
+ var activeFormat = formatValue(ngModelController.$modelValue, hourFormat)
257
+ var currentFormat = moment().format(hourFormat)
258
+
259
+ var result = {
260
+ 'previousView': 'day',
261
+ 'currentView': 'hour',
262
+ 'nextView': configuration.minView === 'hour' ? 'setTime' : 'minute',
263
+ 'previousViewDate': new DateObject({
264
+ utcDateValue: previousViewDate.valueOf(),
265
+ display: selectedDate.format('ll')
266
+ }),
267
+ 'leftDate': new DateObject({utcDateValue: moment.utc(selectedDate).subtract(1, 'days').valueOf()}),
268
+ 'rightDate': new DateObject({utcDateValue: moment.utc(selectedDate).add(1, 'days').valueOf()}),
269
+ 'dates': []
270
+ }
271
+
272
+ for (var i = 0; i < 24; i += 1) {
273
+ var hourMoment = moment.utc(selectedDate).add(i, 'hours')
274
+ var dateValue = {
275
+ 'active': hourMoment.format(hourFormat) === activeFormat,
276
+ 'current': hourMoment.format(hourFormat) === currentFormat,
277
+ 'display': hourMoment.format('LT'),
278
+ 'utcDateValue': hourMoment.valueOf()
279
+ }
280
+
281
+ result.dates.push(new DateObject(dateValue))
282
+ }
283
+
284
+ return result
285
+ }
286
+
287
+ function minuteModelFactory (milliseconds) {
288
+ var selectedDate = moment.utc(milliseconds).startOf('hour')
289
+ var previousViewDate = moment.utc(selectedDate).startOf('day')
290
+
291
+ var minuteFormat = 'YYYY-MM-DD H:mm'
292
+ var activeFormat = formatValue(ngModelController.$modelValue, minuteFormat)
293
+ var currentFormat = moment().format(minuteFormat)
294
+
295
+ var result = {
296
+ 'previousView': 'hour',
297
+ 'currentView': 'minute',
298
+ 'nextView': 'setTime',
299
+ 'previousViewDate': new DateObject({
300
+ utcDateValue: previousViewDate.valueOf(),
301
+ display: selectedDate.format('lll')
302
+ }),
303
+ 'leftDate': new DateObject({utcDateValue: moment.utc(selectedDate).subtract(1, 'hours').valueOf()}),
304
+ 'rightDate': new DateObject({utcDateValue: moment.utc(selectedDate).add(1, 'hours').valueOf()}),
305
+ 'dates': []
306
+ }
307
+
308
+ var limit = 60 / configuration.minuteStep
309
+
310
+ for (var i = 0; i < limit; i += 1) {
311
+ var hourMoment = moment.utc(selectedDate).add(i * configuration.minuteStep, 'minute')
312
+ var dateValue = {
313
+ 'active': hourMoment.format(minuteFormat) === activeFormat,
314
+ 'current': hourMoment.format(minuteFormat) === currentFormat,
315
+ 'display': hourMoment.format('LT'),
316
+ 'utcDateValue': hourMoment.valueOf()
317
+ }
318
+
319
+ result.dates.push(new DateObject(dateValue))
320
+ }
321
+
322
+ return result
323
+ }
324
+
325
+ function setTime (milliseconds) {
326
+ var tempDate = new Date(milliseconds)
327
+ var newDate = new Date(tempDate.getUTCFullYear(), tempDate.getUTCMonth(), tempDate.getUTCDate(), tempDate.getUTCHours(), tempDate.getUTCMinutes(), tempDate.getUTCSeconds(), tempDate.getUTCMilliseconds())
328
+
329
+ switch (configuration.modelType) {
330
+ case 'Date':
331
+ // No additional work needed
332
+ break
333
+ case 'moment':
334
+ newDate = moment([tempDate.getUTCFullYear(), tempDate.getUTCMonth(), tempDate.getUTCDate(), tempDate.getUTCHours(), tempDate.getUTCMinutes(), tempDate.getUTCSeconds(), tempDate.getUTCMilliseconds()])
335
+ break
336
+ case 'milliseconds':
337
+ newDate = milliseconds
338
+ break
339
+ default: // It is assumed that the modelType is a formatting string.
340
+ newDate = moment([tempDate.getUTCFullYear(), tempDate.getUTCMonth(), tempDate.getUTCDate(), tempDate.getUTCHours(), tempDate.getUTCMinutes(), tempDate.getUTCSeconds(), tempDate.getUTCMilliseconds()]).format(configuration.modelType)
341
+ }
342
+
343
+ var oldDate = ngModelController.$modelValue
344
+ ngModelController.$setViewValue(newDate)
345
+
346
+ if (configuration.dropdownSelector) {
347
+ jQuery(configuration.dropdownSelector).dropdown('toggle')
348
+ }
349
+
350
+ $scope.onSetTime({newDate: newDate, oldDate: oldDate})
351
+
352
+ return viewToModelFactory[configuration.startView](milliseconds)
353
+ }
354
+
355
+ function $render () {
356
+ $scope.changeView(configuration.startView, new DateObject({utcDateValue: getUTCTime(ngModelController.$viewValue)}))
357
+ }
358
+
359
+ function startOfDecade (milliseconds) {
360
+ var startYear = (parseInt(moment.utc(milliseconds).year() / 10, 10) * 10)
361
+ return moment.utc(milliseconds).year(startYear).startOf('year')
362
+ }
363
+
364
+ function formatValue (timeValue, formatString) {
365
+ if (timeValue) {
366
+ return getMoment(timeValue).format(formatString)
367
+ } else {
368
+ return ''
369
+ }
370
+ }
371
+
372
+ /**
373
+ * Converts a time value into a moment.
374
+ *
375
+ * This function is now necessary because moment logs a warning when parsing a string without a format.
376
+ * @param modelValue
377
+ * a time value in any of the supported formats (Date, moment, milliseconds, and string)
378
+ * @returns {moment}
379
+ * representing the specified time value.
380
+ */
381
+
382
+ function getMoment (modelValue) {
383
+ return moment(modelValue, angular.isString(modelValue) ? configuration.parseFormat : undefined)
384
+ }
385
+
386
+ /**
387
+ * Converts a time value to UCT/GMT time.
388
+ * @param modelValue
389
+ * a time value in any of the supported formats (Date, moment, milliseconds, and string)
390
+ * @returns {number}
391
+ * number of milliseconds since 1/1/1970
392
+ */
393
+
394
+ function getUTCTime (modelValue) {
395
+ var tempDate = new Date()
396
+ if (modelValue) {
397
+ var tempMoment = getMoment(modelValue)
398
+ if (tempMoment.isValid()) {
399
+ tempDate = tempMoment.toDate()
400
+ } else {
401
+ throw new Error('Invalid date: ' + modelValue)
402
+ }
403
+ }
404
+ return tempDate.getTime() - (tempDate.getTimezoneOffset() * 60000)
405
+ }
406
+
407
+ function createConfiguration () {
408
+ var directiveConfig = {}
409
+
410
+ if ($attrs.datetimepickerConfig) {
411
+ directiveConfig = $scope.$parent.$eval($attrs.datetimepickerConfig)
412
+ }
413
+
414
+ var configuration = angular.extend({}, defaultConfig, directiveConfig)
415
+
416
+ configurationValidator.validate(configuration)
417
+
418
+ return configuration
419
+ }
420
+ }
421
+
422
+ function DateObject () {
423
+ var tempDate = new Date(arguments[0].utcDateValue)
424
+ var localOffset = tempDate.getTimezoneOffset() * 60000
425
+
426
+ this.utcDateValue = tempDate.getTime()
427
+ this.selectable = true
428
+
429
+ this.localDateValue = function localDateValue () {
430
+ return this.utcDateValue + localOffset
431
+ }
432
+
433
+ var validProperties = ['active', 'current', 'display', 'future', 'past', 'selectable', 'utcDateValue']
434
+
435
+ var constructorObject = arguments[0]
436
+
437
+ Object.keys(constructorObject).filter(function (key) {
438
+ return validProperties.indexOf(key) >= 0
439
+ }).forEach(function (key) {
440
+ this[key] = constructorObject[key]
441
+ }, this)
442
+ }
443
+
444
+ return directiveDefinition
445
+ }
446
+
447
+ function DateTimePickerConfigProvider () {
448
+ var defaultConfiguration = {
449
+ configureOn: null,
450
+ dropdownSelector: null,
451
+ minuteStep: 5,
452
+ minView: 'minute',
453
+ modelType: 'Date',
454
+ parseFormat: 'YYYY-MM-DDTHH:mm:ss.SSSZZ',
455
+ renderOn: null,
456
+ startView: 'day'
457
+ }
458
+
459
+ var defaultLocalization = {
460
+ 'bg': {previous: 'предишна', next: 'следваща'},
461
+ 'ca': {previous: 'anterior', next: 'següent'},
462
+ 'da': {previous: 'forrige', next: 'næste'},
463
+ 'de': {previous: 'vorige', next: 'weiter'},
464
+ 'en-au': {previous: 'previous', next: 'next'},
465
+ 'en-gb': {previous: 'previous', next: 'next'},
466
+ 'en': {previous: 'previous', next: 'next'},
467
+ 'es-us': {previous: 'atrás', next: 'siguiente'},
468
+ 'es': {previous: 'atrás', next: 'siguiente'},
469
+ 'fi': {previous: 'edellinen', next: 'seuraava'},
470
+ 'fr': {previous: 'précédent', next: 'suivant'},
471
+ 'hu': {previous: 'előző', next: 'következő'},
472
+ 'it': {previous: 'precedente', next: 'successivo'},
473
+ 'ja': {previous: '前へ', next: '次へ'},
474
+ 'ml': {previous: 'മുൻപുള്ളത്', next: 'അടുത്തത്'},
475
+ 'nl': {previous: 'vorige', next: 'volgende'},
476
+ 'pl': {previous: 'poprzednia', next: 'następna'},
477
+ 'pt-br': {previous: 'anteriores', next: 'próximos'},
478
+ 'pt': {previous: 'anterior', next: 'próximo'},
479
+ 'ro': {previous: 'anterior', next: 'următor'},
480
+ 'ru': {previous: 'предыдущая', next: 'следующая'},
481
+ 'sk': {previous: 'predošlá', next: 'ďalšia'},
482
+ 'sv': {previous: 'föregående', next: 'nästa'},
483
+ 'tr': {previous: 'önceki', next: 'sonraki'},
484
+ 'uk': {previous: 'назад', next: 'далі'},
485
+ 'zh-cn': {previous: '上一页', next: '下一页'},
486
+ 'zh-tw': {previous: '上一頁', next: '下一頁'}
487
+ }
488
+
489
+ var screenReader = defaultLocalization[moment.locale().toLowerCase()]
490
+
491
+ return angular.extend({}, defaultConfiguration, {screenReader: screenReader})
492
+ }
493
+
494
+ DateTimePickerValidatorService.$inject = ['$log']
495
+
496
+ function DateTimePickerValidatorService ($log) {
497
+ return {
498
+ validate: validator
499
+ }
500
+
501
+ function validator (configuration) {
502
+ var validOptions = [
503
+ 'configureOn',
504
+ 'dropdownSelector',
505
+ 'minuteStep',
506
+ 'minView',
507
+ 'modelType',
508
+ 'parseFormat',
509
+ 'renderOn',
510
+ 'startView',
511
+ 'screenReader'
512
+ ]
513
+
514
+ var invalidOptions = Object.keys(configuration).filter(function (key) {
515
+ return (validOptions.indexOf(key) < 0)
516
+ })
517
+
518
+ if (invalidOptions.length) {
519
+ throw new Error('Invalid options: ' + invalidOptions.join(', '))
520
+ }
521
+
522
+ // Order of the elements in the validViews array is significant.
523
+ var validViews = ['minute', 'hour', 'day', 'month', 'year']
524
+
525
+ if (validViews.indexOf(configuration.startView) < 0) {
526
+ throw new Error('invalid startView value: ' + configuration.startView)
527
+ }
528
+
529
+ if (validViews.indexOf(configuration.minView) < 0) {
530
+ throw new Error('invalid minView value: ' + configuration.minView)
531
+ }
532
+
533
+ if (validViews.indexOf(configuration.minView) > validViews.indexOf(configuration.startView)) {
534
+ throw new Error('startView must be greater than minView')
535
+ }
536
+
537
+ if (!angular.isNumber(configuration.minuteStep)) {
538
+ throw new Error('minuteStep must be numeric')
539
+ }
540
+ if (configuration.minuteStep <= 0 || configuration.minuteStep >= 60) {
541
+ throw new Error('minuteStep must be greater than zero and less than 60')
542
+ }
543
+ if (configuration.configureOn !== null && !angular.isString(configuration.configureOn)) {
544
+ throw new Error('configureOn must be a string')
545
+ }
546
+ if (configuration.configureOn !== null && configuration.configureOn.length < 1) {
547
+ throw new Error('configureOn must not be an empty string')
548
+ }
549
+ if (configuration.renderOn !== null && !angular.isString(configuration.renderOn)) {
550
+ throw new Error('renderOn must be a string')
551
+ }
552
+ if (configuration.renderOn !== null && configuration.renderOn.length < 1) {
553
+ throw new Error('renderOn must not be an empty string')
554
+ }
555
+ if (configuration.modelType !== null && !angular.isString(configuration.modelType)) {
556
+ throw new Error('modelType must be a string')
557
+ }
558
+ if (configuration.modelType !== null && configuration.modelType.length < 1) {
559
+ throw new Error('modelType must not be an empty string')
560
+ }
561
+ if (configuration.modelType !== 'Date' && configuration.modelType !== 'moment' && configuration.modelType !== 'milliseconds') {
562
+ // modelType contains string format, overriding parseFormat with modelType
563
+ configuration.parseFormat = configuration.modelType
564
+ }
565
+ if (configuration.dropdownSelector !== null && !angular.isString(configuration.dropdownSelector)) {
566
+ throw new Error('dropdownSelector must be a string')
567
+ }
568
+
569
+ /* istanbul ignore next */
570
+ if (configuration.dropdownSelector !== null && ((typeof jQuery === 'undefined') || (typeof jQuery().dropdown !== 'function'))) {
571
+ $log.error('Please DO NOT specify the dropdownSelector option unless you are using jQuery AND Bootstrap.js. ' +
572
+ 'Please include jQuery AND Bootstrap.js, or write code to close the dropdown in the on-set-time callback. \n\n' +
573
+ 'The dropdownSelector configuration option is being removed because it will not function properly.')
574
+ delete configuration.dropdownSelector
575
+ }
576
+ }
577
+ }
578
+ })); // eslint-disable-line semi
@@ -0,0 +1,30 @@
1
+ /* globals define, module, require, angular */
2
+
3
+ /**
4
+ * @license angular-bootstrap-datetimepicker
5
+ * Copyright 2016 Knight Rider Consulting, Inc. http://www.knightrider.com
6
+ * License: MIT
7
+ *
8
+ * @author Dale "Ducky" Lotts
9
+ * @since 2016-Jan-31
10
+ */
11
+
12
+ ;(function (root, factory) {
13
+ 'use strict'
14
+ /* istanbul ignore if */
15
+ if (typeof module !== 'undefined' && module.exports) {
16
+ var ng = typeof angular === 'undefined' ? require('angular') : angular
17
+ factory(ng)
18
+ module.exports = 'ui.bootstrap.datetimepicker.templates'
19
+ /* istanbul ignore next */
20
+ } else if (typeof define === 'function' && /* istanbul ignore next */ define.amd) {
21
+ define(['angular'], factory)
22
+ } else {
23
+ factory(root.angular, root.moment)
24
+ }
25
+ }(this, function (angular) {
26
+ 'use strict'
27
+ angular.module('ui.bootstrap.datetimepicker').run(['$templateCache', function ($templateCache) {
28
+ $templateCache.put('templates/datetimepicker.html', '<div class="datetimepicker table-responsive">\n <table class="table table-condensed {{ data.currentView }}-view">\n <thead>\n <tr>\n <th class="left" data-ng-click="changeView(data.currentView, data.leftDate, $event)" data-ng-show="data.leftDate.selectable"><i class="glyphicon glyphicon-arrow-left"><span class="sr-only">{{ screenReader.previous }}</span></i>\n </th>\n <th class="switch" colspan="5" data-ng-show="data.previousViewDate.selectable" data-ng-click="changeView(data.previousView, data.previousViewDate, $event)">{{ data.previousViewDate.display }}</th>\n <th class="right" data-ng-click="changeView(data.currentView, data.rightDate, $event)" data-ng-show="data.rightDate.selectable"><i class="glyphicon glyphicon-arrow-right"><span class="sr-only">{{ screenReader.next }}</span></i>\n </th>\n </tr>\n <tr>\n <th class="dow" data-ng-repeat="day in data.dayNames">{{ day }}</th>\n </tr>\n </thead>\n <tbody>\n <tr data-ng-if="data.currentView !== \'day\'">\n <td colspan="7">\n <span class="{{ data.currentView }}" data-ng-repeat="dateObject in data.dates" data-ng-class="{current: dateObject.current, active: dateObject.active, past: dateObject.past, future: dateObject.future, disabled: !dateObject.selectable}" data-ng-click="changeView(data.nextView, dateObject, $event)">{{ dateObject.display }}</span></td>\n </tr>\n <tr data-ng-if="data.currentView === \'day\'" data-ng-repeat="week in data.weeks">\n <td data-ng-repeat="dateObject in week.dates" data-ng-click="changeView(data.nextView, dateObject, $event)" class="day" data-ng-class="{current: dateObject.current, active: dateObject.active, past: dateObject.past, future: dateObject.future, disabled: !dateObject.selectable}">{{ dateObject.display }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n')
29
+ }])
30
+ })); // eslint-disable-line semi
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * angular-ui-mask
3
+ * https://github.com/angular-ui/ui-mask
4
+ * Version: 1.8.7 - 2016-07-26T15:59:07.992Z
5
+ * License: MIT
6
+ */
7
+ !function(){"use strict";angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{9:/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/},clearOnBlur:!0,clearOnBlurPlaceholder:!1,escChar:"\\",eventsToHandle:["input","keyup","click","focus"],addDefaultPlaceholder:!0,allowInvalidValue:!1}).provider("uiMask.Config",function(){var e={};this.maskDefinitions=function(n){return e.maskDefinitions=n},this.clearOnBlur=function(n){return e.clearOnBlur=n},this.clearOnBlurPlaceholder=function(n){return e.clearOnBlurPlaceholder=n},this.eventsToHandle=function(n){return e.eventsToHandle=n},this.addDefaultPlaceholder=function(n){return e.addDefaultPlaceholder=n},this.allowInvalidValue=function(n){return e.allowInvalidValue=n},this.$get=["uiMaskConfig",function(n){var t=n;for(var a in e)angular.isObject(e[a])&&!angular.isArray(e[a])?angular.extend(t[a],e[a]):t[a]=e[a];return t}]}).directive("uiMask",["uiMask.Config",function(e){function n(e){return e===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(e.type||e.href||~e.tabIndex)}return{priority:100,require:"ngModel",restrict:"A",compile:function(){var t=angular.copy(e);return function(e,a,i,r){function l(e){return angular.isDefined(e)?(w(e),K?(h(),d(),!0):f()):f()}function u(e){e&&(T=e,!K||0===a.val().length&&angular.isDefined(i.placeholder)||a.val(m(p(a.val()))))}function o(){return l(i.uiMask)}function c(e){return K?(j=p(e||""),R=g(j),r.$setValidity("mask",R),j.length&&(R||Q.allowInvalidValue)?m(j):void 0):e}function s(e){return K?(j=p(e||""),R=g(j),r.$viewValue=j.length?m(j):"",r.$setValidity("mask",R),R||Q.allowInvalidValue?J?r.$viewValue:j:void 0):e}function f(){return K=!1,v(),angular.isDefined(q)?a.attr("placeholder",q):a.removeAttr("placeholder"),angular.isDefined(W)?a.attr("maxlength",W):a.removeAttr("maxlength"),a.val(r.$modelValue),r.$viewValue=r.$modelValue,!1}function h(){j=F=p(r.$modelValue||""),H=_=m(j),R=g(j),i.maxlength&&a.attr("maxlength",2*S[S.length-1]),!q&&Q.addDefaultPlaceholder&&a.attr("placeholder",T);for(var e=r.$modelValue,n=r.$formatters.length;n--;)e=r.$formatters[n](e);r.$viewValue=e||"",r.$render()}function d(){Z||(a.bind("blur",y),a.bind("mousedown mouseup",V),a.bind("keydown",M),a.bind(Q.eventsToHandle.join(" "),O),Z=!0)}function v(){Z&&(a.unbind("blur",y),a.unbind("mousedown",V),a.unbind("mouseup",V),a.unbind("keydown",M),a.unbind("input",O),a.unbind("keyup",O),a.unbind("click",O),a.unbind("focus",O),Z=!1)}function g(e){return e.length?e.length>=I:!0}function p(e){var n,t,i="",r=a[0],l=A.slice(),u=L,o=u+C(r),c="";return e=e.toString(),n=0,t=e.length-T.length,angular.forEach(B,function(a){var i=a.position;i>=u&&o>i||(i>=u&&(i+=t),e.substring(i,i+a.value.length)===a.value&&(c+=e.slice(n,i),n=i+a.value.length))}),e=c+e.slice(n),angular.forEach(e.split(""),function(e){l.length&&l[0].test(e)&&(i+=e,l.shift())}),i}function m(e){var n="",t=S.slice();return angular.forEach(T.split(""),function(a,i){e.length&&i===t[0]?(n+=e.charAt(0)||"_",e=e.substr(1),t.shift()):n+=a}),n}function b(e){var n,t=angular.isDefined(i.uiMaskPlaceholder)?i.uiMaskPlaceholder:i.placeholder;return angular.isDefined(t)&&t[e]?t[e]:(n=angular.isDefined(i.uiMaskPlaceholderChar)&&i.uiMaskPlaceholderChar?i.uiMaskPlaceholderChar:"_","space"===n.toLowerCase()?" ":n[0])}function k(){var e,n,t=T.split("");S&&!isNaN(S[0])&&angular.forEach(S,function(e){t[e]="_"}),e=t.join(""),n=e.replace(/[_]+/g,"_").split("_"),n=n.filter(function(e){return""!==e});var a=0;return n.map(function(n){var t=e.indexOf(n,a);return a=t+1,{value:n,position:t}})}function w(e){var n=0;if(S=[],A=[],T="",angular.isString(e)){I=0;var t=!1,a=0,i=e.split(""),r=!1;angular.forEach(i,function(e,i){r?(r=!1,T+=e,n++):Q.escChar===e?r=!0:Q.maskDefinitions[e]?(S.push(n),T+=b(i-a),A.push(Q.maskDefinitions[e]),n++,t||I++,t=!1):"?"===e?(t=!0,a++):(T+=e,n++)})}S.push(S.slice().pop()+1),B=k(),K=S.length>1?!0:!1}function y(){if((Q.clearOnBlur||Q.clearOnBlurPlaceholder&&0===j.length&&i.placeholder)&&(L=0,N=0,R&&0!==j.length||(H="",a.val(""),e.$apply(function(){r.$pristine||r.$setViewValue("")}))),j!==U){var n=a.val(),t=""===j&&n&&angular.isDefined(i.uiMaskPlaceholderChar)&&"space"===i.uiMaskPlaceholderChar;t&&a.val(""),$(a[0]),t&&a.val(n)}U=j}function $(e){var n;if(angular.isFunction(window.Event)&&!e.fireEvent)try{n=new Event("change",{view:window,bubbles:!0,cancelable:!1})}catch(t){n=document.createEvent("HTMLEvents"),n.initEvent("change",!1,!0)}finally{e.dispatchEvent(n)}else"createEvent"in document?(n=document.createEvent("HTMLEvents"),n.initEvent("change",!1,!0),e.dispatchEvent(n)):e.fireEvent&&e.fireEvent("onchange")}function V(e){"mousedown"===e.type?a.bind("mouseout",E):a.unbind("mouseout",E)}function E(){N=C(this),a.unbind("mouseout",E)}function M(e){var n=8===e.which,t=P(this)-1||0,i=90===e.which&&e.ctrlKey;if(n){for(;t>=0;){if(D(t)){x(this,t+1);break}t--}z=-1===t}i&&(a.val(""),e.preventDefault())}function O(n){n=n||{};var t=n.which,i=n.type;if(16!==t&&91!==t){var l,u=a.val(),o=_,c=!1,s=p(u),f=F,h=P(this)||0,d=L||0,v=h-d,g=S[0],b=S[s.length]||S.slice().shift(),k=N||0,w=C(this)>0,y=k>0,$=u.length>o.length||k&&u.length>o.length-k,V=u.length<o.length||k&&u.length===o.length-k,E=t>=37&&40>=t&&n.shiftKey,M=37===t,O=8===t||"keyup"!==i&&V&&-1===v,A=46===t||"keyup"!==i&&V&&0===v&&!y,B=(M||O||"click"===i)&&h>g;if(N=C(this),!E&&(!w||"click"!==i&&"keyup"!==i&&"focus"!==i)){if(O&&z)return a.val(T),e.$apply(function(){r.$setViewValue("")}),void x(this,d);if("input"===i&&V&&!y&&s===f){for(;O&&h>g&&!D(h);)h--;for(;A&&b>h&&-1===S.indexOf(h);)h++;var I=S.indexOf(h);s=s.substring(0,I)+s.substring(I+1),s!==f&&(c=!0)}for(l=m(s),_=l,F=s,!c&&u.length>l.length&&(c=!0),a.val(l),c&&e.$apply(function(){r.$setViewValue(l)}),$&&g>=h&&(h=g+1),B&&h--,h=h>b?b:g>h?g:h;!D(h)&&h>g&&b>h;)h+=B?-1:1;(B&&b>h||$&&!D(d))&&h++,L=h,x(this,h)}}}function D(e){return S.indexOf(e)>-1}function P(e){if(!e)return 0;if(void 0!==e.selectionStart)return e.selectionStart;if(document.selection&&n(a[0])){e.focus();var t=document.selection.createRange();return t.moveStart("character",e.value?-e.value.length:0),t.text.length}return 0}function x(e,t){if(!e)return 0;if(0!==e.offsetWidth&&0!==e.offsetHeight)if(e.setSelectionRange)n(a[0])&&(e.focus(),e.setSelectionRange(t,t));else if(e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",t),i.moveStart("character",t),i.select()}}function C(e){return e?void 0!==e.selectionStart?e.selectionEnd-e.selectionStart:window.getSelection?window.getSelection().toString().length:document.selection?document.selection.createRange().text.length:0:0}var S,A,T,B,I,j,H,R,_,F,L,N,z,K=!1,Z=!1,q=i.placeholder,W=i.maxlength,G=r.$isEmpty;r.$isEmpty=function(e){return G(K?p(e||""):e)};var J=!1;i.$observe("modelViewValue",function(e){"true"===e&&(J=!0)}),i.$observe("allowInvalidValue",function(e){Q.allowInvalidValue=""===e?!0:!!e,c(r.$modelValue)});var Q={};i.uiOptions?(Q=e.$eval("["+i.uiOptions+"]"),Q=angular.isObject(Q[0])?function(e,n){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(void 0===n[t]?n[t]=angular.copy(e[t]):angular.isObject(n[t])&&!angular.isArray(n[t])&&(n[t]=angular.extend({},e[t],n[t])));return n}(t,Q[0]):t):Q=t,i.$observe("uiMask",l),angular.isDefined(i.uiMaskPlaceholder)?i.$observe("uiMaskPlaceholder",u):i.$observe("placeholder",u),angular.isDefined(i.uiMaskPlaceholderChar)&&i.$observe("uiMaskPlaceholderChar",o),r.$formatters.unshift(c),r.$parsers.unshift(s);var U=a.val();a.bind("mousedown mouseup",V),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){if(null===this)throw new TypeError;var n=Object(this),t=n.length>>>0;if(0===t)return-1;var a=0;if(arguments.length>1&&(a=Number(arguments[1]),a!==a?a=0:0!==a&&a!==1/0&&a!==-(1/0)&&(a=(a>0||-1)*Math.floor(Math.abs(a)))),a>=t)return-1;for(var i=a>=0?a:Math.max(t-Math.abs(a),0);t>i;i++)if(i in n&&n[i]===e)return i;return-1})}}}}])}();