Commit 343e2f74 by nabil el mahiri

nginx new conf

parent 9bdaeea2
Pipeline #520 passed with stages
in 8 minutes 53 seconds
{
"name": "angular-daterangepicker",
"version": "0.3.0",
"homepage": "https://github.com/fragaria/angular-daterangepicker",
"main": "js/angular-daterangepicker.js",
"authors": [
"Filip Vařecha <filip.varecha@fragaria.cz>",
"Tibor Kulčár <tibor.kulcar@fragaria.cz>",
"Lukáš Marek <lukas.marek@fragaria.cz>"
],
"description": "Angular.js wrapper for Dan Grosmann's bootstrap date range picker (https://github.com/dangrossman/bootstrap-daterangepicker).",
"license": "MIT",
"private": false,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "^1.3.20",
"bootstrap-daterangepicker": "^3.0.3"
},
"devDependencies": {
"angular-messages": "^1.3.20"
},
"_release": "0.3.0",
"_resolution": {
"type": "version",
"tag": "0.3.0",
"commit": "178fa5f450b8be592ce3825777fc69d1357c9f54"
},
"_source": "https://github.com/fragaria/angular-daterangepicker.git",
"_target": "^0.3.0",
"_originalSource": "angular-daterangepicker",
"_direct": true
}
\ No newline at end of file
# Contributors
Many thanks to following folks (ordered by date of contribution):
* [Ray Gerrard](https://github.com/raygerrard)
* [Will Wu](https://github.com/wubin1989)
* [Matt Traynham](https://github.com/mtraynham) (upgrade to Bootstrap Daterange picker 2.0)!
* [Wojciech Frącz](https://github.com/fracz)
* [Ondřej Plšek](https://github.com/ondrs)
* [Ryan Dale](https://github.com/RyanDale)
* [Steven](https://github.com/tcooc)
* [Moshe Bildner](https://github.com/mbildner)
* [klam](https://github.com/klam)
* [Marcelo Eduardo de Andrade Jr.](https://github.com/marcelinhov2)
* [Elmar](https://github.com/elm-)
* [Eric Byers](https://github.com/EricByers)
* [Chris Parton](https://github.com/chrisparton1991)
* [Dawid Dominiak](https://github.com/dawiddominiak)
* [Lior Chen](https://github.com/liorch88)
* [Hung Le](https://github.com/lexhung)
* [Adam Segal](https://github.com/phazei)
module.exports = (grunt) ->
require('load-grunt-tasks')(grunt)
# Project configuration.
grunt.initConfig
pkg: grunt.file.readJSON("package.json")
coffeelint:
options:
configFile: 'coffeelint.json'
source: ['coffee/angular-daterangepicker.coffee']
coffee:
compileJoined:
options:
join: true
files:
'js/angular-daterangepicker.js': ['coffee/angular-daterangepicker.coffee']
watch:
files: ['example.html', 'coffee/*.coffee']
tasks: ['default']
uglify:
options:
sourceMap: true
target:
files:
'js/angular-daterangepicker.min.js': ['js/angular-daterangepicker.js']
wiredep:
target:
src: [
'./example.html'
]
ngAnnotate:
options:
singleQuotes: true
daterangepicker:
files:
'js/angular-daterangepicker.js': ['js/angular-daterangepicker.js']
# Default task(s).
grunt.registerTask "default", ["coffeelint", "coffee"]
grunt.registerTask "develop", ["default", "watch"]
grunt.registerTask "dist", ["default", "ngAnnotate", "uglify"]
The MIT License (MIT)
Copyright (c) 2015 Fragaria, s.r.o.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
# Date Range Picker for Angular and Bootstrap
![Dependencies](https://david-dm.org/fragaria/angular-daterangepicker.png)
Angular.js directive for Dan Grossmans's [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker).
## Maintainer needed!
Hello, as you may noticed, we have troubles maintaining this repo. So if there is somebody willing to help merging PRs, testing and releasing, please contact me at lukas.marek(at)fragaria.cz.
Thank you!
[DEMO](http://fragaria.github.io/angular-daterangepicker/)
**Beware: Use [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker) v 3.0.3 and newer!**
![Date Range Picker screenshot](http://i.imgur.com/zDjBqiS.png)
## Installation via Bower
The easiest way to install the picker is:
```
bower install angular-daterangepicker --save
```
## Manual installation
This directive depends on [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker), [Bootstrap](http://getbootstrap.com), [Moment.js](http://momentjs.com/) and [jQuery](http://jquery.com/).
Download dependencies above and then use [minified](js/angular-daterangepicker.min.js) or [normal](angular-daterangepicker.js) version.
## Basic usage
Assuming that bower installation directory is `bower_components`. In case of other installation directory, please update paths accordingly.
```
<script src="bower_components/jquery/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/momentjs/moment.js"></script>
<script src="bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<script src="bower_components/angular-daterangepicker/js/angular-daterangepicker.js"></script>
<link rel="stylesheet" href="bower_components/bootstrap-daterangepicker/daterangepicker.css"/>
```
Declare dependency:
```
App = angular.module('app', ['daterangepicker']);
```
Prepare model in your controller. The model **must** have `startDate` and `endDate` attributes:
```
exampleApp.controller('TestCtrl', function ($scope) {
$scope.datePicker = { date: {startDate: null, endDate: null} };
}
```
Then in your HTML just add attribute `date-range-picker` to any input and bind it to model.
```
<div ng-controller="TestCtrl">
<input date-range-picker class="form-control date-picker" type="text" ng-model="datePicker.date" />
</div>
```
See `example.html` for working demo.
### Mind the dot!
Do not forget to add a dot (.) in your model object to avoid [issues with scope inheritance](https://github.com/angular/angular.js/wiki/Understanding-Scopes). E.g. use `$scope.datePicker.date` instead of `$scope.date`.
## Advanced usage
####**Extra Options**
These are options beyond those provided in daterangepicker.
`pickerClasses` : **string**
-- additional classesadded to picker dropdown element
`cancelOnOutsideClick` : **boolean** (default: true) <sup><sub>(only applicable when autoApply==false)</sub></sup>
If true, then clicking outside of the picker, after value has been changed on calendar,
will trigger clicking cancel rather than applying value to model.
If false, apply will be triggered.
`changeCallback` : **function(startDate, endDate, label)**
This will be called in the second $.daterangepicker callback parameter
####**Optional Attributes**
`picker` : **object**
-- object to assign dateRangePicker data object to
`options` : **object** (watched)
-- all dateRangePicker options
`clearable` : **boolean** (watched)
-- will change cancel button to clear and use `options.locale.clearLabel` for text
`min` & `max` : **moment** || *date string* (watched)
-- sets min/max date values for picker
`picker-classes` : **string**
-- additional classes added to picker dropdown element
## Example element
```
<input date-range-picker class="form-control date-picker" type="text"
ng-model="datePicker.date"
picker="datePicker.picker"
picker-classes="extra-class-names"
min="'2014-02-23'"
max="datePicker.maxDate"
options="datePicker.options"
options="{locale: {separator: ":"}}"
/>
```
## Example options
```
$scope.dateRangePicker = {
date: {startDate: moment().subtract(1, 'years'), endDate: moment().add(1, 'years')}
picker: null,
options: {
pickerClasses: 'custom-display', //angular-daterangepicker extra
buttonClasses: 'btn',
applyButtonClasses: 'btn-primary',
cancelButtonClasses: 'btn-danger',
locale: {
applyLabel: "Apply",
cancelLabel: 'Cancel',
customRangeLabel: 'Custom range',
separator: ' - ',
format: "YYYY-MM-DD", //will give you 2017-01-06
//format: "D-MMM-YY", //will give you 6-Jan-17
//format: "D-MMMM-YY", //will give you 6-January-17
},
ranges: {
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()]
},
eventHandlers: {
'apply.daterangepicker': function(event, picker) { console.log('applied'); }
}
}
};
```
## Events
Optionally, event handlers can be passed in through the `eventHandlers` attribute of `options`.
```
<input date-range-picker class="form-control date-picker" type="text" ng-model="date"
options="{eventHandlers: {'show.daterangepicker': function(ev, picker) { ... }}}"/>
```
All event handlers from the Bootstrap daterangepicker are supported. For reference, the complete list is below:
`show.daterangepicker`: Triggered when the picker is shown
`hide.daterangepicker`: Triggered when the picker is hidden
`showCalendar.daterangepicker`: Triggered when the calendar is shown
`hideCalendar.daterangepicker`: Triggered when the calendar is hidden
`apply.daterangepicker`: Triggered when the apply button is clicked
`cancel.daterangepicker`: Triggered when the cancel button is clicked
## Compatibility
Version > 0.3.0 requires [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker) 3.0.3 and newer.
Version > 0.2.0 requires [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker) 2.0.0 and newer.
Version > 0.1.1 requires [Bootstrap Datepicker](https://github.com/dangrossman/bootstrap-daterangepicker) 1.3.3 and newer.
## Changes of note
####0.3.0
`cancelOnOutsideClick` - enabled by default, was previously unhandled
## Links
See [original documentation](https://github.com/dangrossman/bootstrap-daterangepicker).
## Issues and Pull Requests
The PRs are more than welcome – thank you for those.
Please send me PRs only for `*.coffee` code. **Please, do not include Javascript and minified Javascript into PRs.**
Javascript and minified Javascript will be generated later with `grunt dist` command
just before the release.
[![Throughput Graph](https://graphs.waffle.io/fragaria/angular-daterangepicker/throughput.svg)](https://waffle.io/fragaria/angular-daterangepicker/metrics)
## Contributors
See [CONTRIBUTORS.md](https://github.com/fragaria/angular-daterangepicker/blob/master/CONTRIBUTORS.md) for all the great folks who contributed to this repo!
Thank you, guys!
{
"name": "angular-daterangepicker",
"version": "0.3.0",
"homepage": "https://github.com/fragaria/angular-daterangepicker",
"main": "js/angular-daterangepicker.js",
"authors": [
"Filip Vařecha <filip.varecha@fragaria.cz>",
"Tibor Kulčár <tibor.kulcar@fragaria.cz>",
"Lukáš Marek <lukas.marek@fragaria.cz>"
],
"description": "Angular.js wrapper for Dan Grosmann's bootstrap date range picker (https://github.com/dangrossman/bootstrap-daterangepicker).",
"license": "MIT",
"private": false,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "^1.3.20",
"bootstrap-daterangepicker": "^3.0.3"
},
"devDependencies": {
"angular-messages": "^1.3.20"
}
}
{
"arrow_spacing": {
"level": "ignore"
},
"braces_spacing": {
"level": "ignore",
"spaces": 0
},
"camel_case_classes": {
"level": "error"
},
"coffeescript_error": {
"level": "error"
},
"colon_assignment_spacing": {
"level": "ignore",
"spacing": {
"left": 0,
"right": 0
}
},
"cyclomatic_complexity": {
"value": 10,
"level": "ignore"
},
"duplicate_key": {
"level": "error"
},
"empty_constructor_needs_parens": {
"level": "ignore"
},
"ensure_comprehensions": {
"level": "warn"
},
"indentation": {
"value": 2,
"level": "error"
},
"line_endings": {
"level": "ignore",
"value": "unix"
},
"max_line_length": {
"value": 120,
"level": "error",
"limitComments": true
},
"missing_fat_arrows": {
"level": "ignore"
},
"newlines_after_classes": {
"value": 3,
"level": "ignore"
},
"no_backticks": {
"level": "error"
},
"no_debugger": {
"level": "warn"
},
"no_empty_functions": {
"level": "ignore"
},
"no_empty_param_list": {
"level": "ignore"
},
"no_implicit_braces": {
"level": "ignore",
"strict": true
},
"no_implicit_parens": {
"strict": true,
"level": "ignore"
},
"no_interpolation_in_single_quotes": {
"level": "ignore"
},
"no_plusplus": {
"level": "ignore"
},
"no_stand_alone_at": {
"level": "ignore"
},
"no_tabs": {
"level": "error"
},
"no_throwing_strings": {
"level": "error"
},
"no_trailing_semicolons": {
"level": "error"
},
"no_trailing_whitespace": {
"level": "error",
"allowed_in_comments": false,
"allowed_in_empty_lines": true
},
"no_unnecessary_double_quotes": {
"level": "ignore"
},
"no_unnecessary_fat_arrows": {
"level": "warn"
},
"non_empty_constructor_needs_parens": {
"level": "ignore"
},
"prefer_english_operator": {
"level": "ignore",
"doubleNotLevel": "ignore"
},
"space_operators": {
"level": "ignore"
},
"spacing_after_comma": {
"level": "ignore"
},
"transform_messes_up_line_numbers": {
"level": "warn"
}
}
require('./js/angular-daterangepicker.js');
module.exports = 'daterangepicker'
(function(){var a;a=angular.module("daterangepicker",[]),a.constant("dateRangePickerConfig",{cancelOnOutsideClick:!0,locale:{separator:" - ",format:"YYYY-MM-DD",clearLabel:"Clear"}}),a.directive("dateRangePicker",["$compile","$timeout","$parse","dateRangePickerConfig",function(a,b,c,d){return{require:"ngModel",restrict:"A",scope:{min:"=",max:"=",picker:"=?",model:"=ngModel",opts:"=options",clearable:"="},link:function(a,c,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t;return j=function(){var a,b;return b=angular.extend.apply(angular,Array.prototype.slice.call(arguments).map(function(a){return null!=a?a.locale:void 0}).filter(function(a){return!!a})),a=angular.extend.apply(angular,arguments),a.locale=b,a},r=$(c),r.attr("ng-trim","false"),e.ngTrim="false",p=!1,function(){var a,b;if(f.$options&&"function"==typeof f.$options.getOption?(b=f.$options.getOption("updateOn"),p=!!f.$options.getOption("allowInvalid")):(b=f.$options&&f.$options.updateOn||"",p=!(!f.$options||!f.$options.allowInvalid)),!b.includes("change"))return"function"==typeof f.$overrideModelOptions?(b+=" change",f.$overrideModelOptions({"*":"$inherit",updateOn:b})):(b+=" change",b.replace(/default/g," "),a=angular.copy(f.$options)||{},a.updateOn=b,a.updateOnDefault=!1,f.$options=a)}(),q=a.opts,t=j({},angular.copy(d),q),k=null,g=function(){if(k)return k.setStartDate(),k.setEndDate()},l=function(a){return function(b){if(b&&(!moment.isMoment(b)||b.isValid()))return b=moment(b),k?a(b):void 0}},n=l(function(a){return a&&k.endDate<a&&k.setEndDate(a),k.setStartDate(a),t.startDate=k.startDate}),m=l(function(a){return a&&k.startDate>a?(k.setEndDate(k.startDate),t.endDate=k.endDate,k.setStartDate(a),t.startDate=k.startDate):(k.setEndDate(a),t.endDate=k.endDate)}),s=function(a){var b;return b=function(a){return moment.isMoment(a)?a.format(t.locale.format):moment(a).format(t.locale.format)},t.singleDatePicker&&a?b(a):a&&(a.startDate||a.endDate)?[b(a.startDate),b(a.endDate)].join(t.locale.separator):""},f.$formatters.push(function(a){return s(a)}),f.$renderOriginal=f.$render,f.$render=function(){if(f.$modelValue&&t.singleDatePicker?(n(f.$modelValue),m(f.$modelValue)):f.$modelValue&&(f.$modelValue.startDate||f.$modelValue.endDate)?(n(f.$modelValue.startDate),m(f.$modelValue.endDate)):g(),f.$valid)return f.$renderOriginal()},f.$parsers.push(function(a){var b,c,d;return b=function(a){var b;return b=moment(a,t.locale.format),b.isValid()&&b||null},c=t.singleDatePicker?null:{startDate:null,endDate:null},angular.isString(a)&&a.length>0&&(t.singleDatePicker?c=b(a):(d=a.split(t.locale.separator).map(b),c.startDate=d[0]?d[0].startOf("day"):null,c.endDate=d[1]?d[1].endOf("day"):null)),c}),f.$isEmpty=function(a){return!(angular.isString(a)&&a.length>0)},h=function(){var b;r.daterangepicker(angular.extend(t,{autoUpdateInput:!1}),function(b,c,d){return a.$apply(function(){if("function"==typeof t.changeCallback)return t.changeCallback.apply(this,arguments)})}),k=r.data("daterangepicker"),a.picker=k,k.container.hide(),k.container.addClass((t.pickerClasses||"")+" "+(e.pickerClasses||"")),r.on("show.daterangepicker",function(b,c){return r.addClass("picker-open"),a.$apply(function(){t.singleDatePicker?c.startDate.isSame(a.model)||(n(a.model),m(a.model)):(a.model&&!c.startDate.isSame(a.model.startDate)&&n(a.model.startDate),a.model&&!c.endDate.isSame(a.model.endDate)&&m(a.model.endDate)),c.updateView()})}),r.on("hide.daterangepicker",function(a,b){return r.removeClass("picker-open")}),r.on("apply.daterangepicker",function(b,c){return a.$apply(function(){t.singleDatePicker?c.startDate?c.startDate.isSame(a.model)||(a.model=c.startDate):a.model=null:c.startDate.isSame(c.oldStartDate)&&c.endDate.isSame(c.oldEndDate)&&a.model&&c.startDate.isSame(a.model.startDate)&&c.endDate.isSame(a.model.endDate)||(a.model={startDate:c.startDate,endDate:c.endDate,label:c.chosenLabel})})}),r.on("outsideClick.daterangepicker",function(b,c){return t.cancelOnOutsideClick?a.$apply(function(){return c.cancelingClick=!0,c.clickCancel()}):c.clickApply()});for(b in t.eventHandlers)r.on(b,function(b,c){var d;return d=b.type+"."+b.namespace,a.$evalAsync(t.eventHandlers[d])});if(f.$validate(),!a.model)return r.trigger("change")},a.$watch(function(){return s(a.model)},function(a){return"function"==typeof f.$processModelValue?(f.$processModelValue(),f.$render()):("function"==typeof f.$$updateEmptyClasses&&f.$$updateEmptyClasses(a),f.$viewValue=f.$$lastCommittedViewValue=a,f.$render())}),o=function(a,b,c){var d;return!a||!b&&!c||(d=[a,b,c].map(function(a){return a?moment(a):a}),a=d[0],b=d[1],c=d[2],(!b||b.isBefore(a)||b.isSame(a,"day"))&&(!c||c.isSame(a,"day")||c.isAfter(a)))},i=function(c,d,g,h){if(f.$validators[c]=function(a){return!t[h]||(t.singleDatePicker?"min"===c?!a||d(a,t.minDate,a):"max"===c?!a||d(a,a,t.maxDate):void 0:a&&d(a[g],t.minDate,t.maxDate))},e[c])return a.$watch(c,function(a){if(t[h]=!!a&&moment(a),k)return k[h]=t[h],b(function(){return f.$validate()})})},i("min",o,"startDate","minDate"),i("max",o,"endDate","maxDate"),a.$watch("opts",function(a){return null==a&&(a={}),t=j(t,a),h()},!0),e.clearable&&a.$watch("clearable",function(c){if(c&&(t=j(t,{locale:{cancelLabel:t.locale.clearLabel}})),h(),c)return r.on("cancel.daterangepicker",function(c,d){return d.cancelingClick||(a.model=t.singleDatePicker?null:{startDate:null,endDate:null},r.val("")),d.cancelingClick=null,b(function(){return a.$apply()})})}),a.$on("$destroy",function(){return null!=k?k.remove():void 0})}}}])}).call(this);
//# sourceMappingURL=angular-daterangepicker.min.js.map
\ No newline at end of file
{"version":3,"sources":["angular-daterangepicker.js"],"names":["pickerModule","angular","module","constant","cancelOnOutsideClick","locale","separator","format","clearLabel","directive","$compile","$timeout","$parse","dateRangePickerConfig","require","restrict","scope","min","max","picker","model","opts","clearable","link","$scope","element","attrs","modelCtrl","_clear","_init","_initBoundaryField","_mergeOpts","_picker","_setDatePoint","_setEndDate","_setStartDate","_validateRange","allowInvalid","customOpts","el","getViewValue","extend","localeExtend","apply","Array","prototype","slice","call","arguments","map","opt","filter","$","attr","ngTrim","options","updateOn","$options","getOption","includes","$overrideModelOptions","*","replace","copy","updateOnDefault","setStartDate","setEndDate","setter","newValue","moment","isMoment","isValid","date","endDate","startDate","f","singleDatePicker","join","$formatters","push","modelValue","$renderOriginal","$render","$modelValue","$valid","$parsers","viewValue","objValue","x","value","isString","length","split","startOf","endOf","$isEmpty","val","eventType","daterangepicker","autoUpdateInput","label","$apply","changeCallback","this","data","container","hide","addClass","pickerClasses","on","ev","isSame","updateView","removeClass","oldStartDate","oldEndDate","chosenLabel","cancelingClick","clickCancel","clickApply","eventHandlers","eventName","type","namespace","$evalAsync","$validate","trigger","$watch","$processModelValue","$$updateEmptyClasses","$viewValue","$$lastCommittedViewValue","$validators","applicable","check","required","ref","d","isBefore","isAfter","field","validator","modelField","optName","newOpts","newClearable","cancelLabel","$on","remove"],"mappings":"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","file":"angular-daterangepicker.min.js"}
\ No newline at end of file
{"version":3,"file":"angular-daterangepicker.min.js","sources":["angular-daterangepicker.js"],"names":["picker","angular","module","constant","separator","format","clearLabel","directive","$compile","$timeout","$parse","dateRangePickerConfig","require","restrict","scope","dateMin","dateMax","model","opts","clearable","link","$scope","element","attrs","modelCtrl","clear","customOpts","el","_formatted","_init","_picker","_setEndDate","_setStartDate","_validateMax","_validateMin","$","extend","setStartDate","setEndDate","val","newValue","m","moment","endDate","startDate","$watch","viewVal","f","date","isMoment","singleDatePicker","join","min","start","valid","isBefore","isSame","$setValidity","max","end","isAfter","$formatters","push","$parsers","isObject","hasOwnProperty","$modelValue","$isEmpty","$render","callbackFunction","eventType","locale","_ref","daterangepicker","$setViewValue","data","eventHandlers","on","cancelLabel","trigger","change","trim","options","newOpts","$on","remove","call","this"],"mappings":"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"}
\ No newline at end of file
{
"name": "angular-daterangepicker",
"version": "0.3.0",
"homepage": "https://github.com/fragaria/angular-daterangepicker",
"authors": [
"Filip Vařecha <filip.varecha@fragaria.cz>",
"Tibor Kulčár <tibor.kulcar@fragaria.cz>",
"Lukáš Marek <lukas.marek@fragaria.cz>",
"Adam Segal <phazei@gmail.com>"
],
"description": "Angular.js wrapper for Dan Grosmann's bootstrap date range picker (https://github.com/dangrossman/bootstrap-daterangepicker).",
"license": "MIT",
"private": false,
"dependencies": {
"angular": "^1.2.17",
"bootstrap-daterangepicker": "^3.0.3"
},
"main": "index.js",
"devDependencies": {
"coffeelint": "^1.12.1",
"grunt": "~0.4.1",
"grunt-coffeelint": "^0.0.13",
"grunt-contrib-coffee": "^0.13.0",
"grunt-contrib-uglify": "^0.9.2",
"grunt-contrib-watch": "^0.6.1",
"grunt-ng-annotate": "^1.0.1",
"grunt-wiredep": "^2.0.0",
"load-grunt-tasks": "^3.3.0"
}
}
{
"name": "daterangepicker",
"main": [
"daterangepicker.js",
"daterangepicker.css"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"moment.js",
"moment.min.js"
],
"dependencies": {
"jquery": "1.9.1 - 3",
"moment": ">=2.9.0"
},
"homepage": "https://github.com/dangrossman/bootstrap-daterangepicker",
"version": "3.0.3",
"_release": "3.0.3",
"_resolution": {
"type": "version",
"tag": "v3.0.3",
"commit": "27110b918f9a72db0b14018bcedc1e6dcffc74ba"
},
"_source": "https://github.com/dangrossman/bootstrap-daterangepicker.git",
"_target": "^3.0.3",
"_originalSource": "bootstrap-daterangepicker"
}
\ No newline at end of file
# Date Range Picker
![Improvely.com](https://i.imgur.com/UTRlaar.png)
This date range picker component creates a dropdown menu from which a user can
select a range of dates. I created it while building the UI for [Improvely](http://www.improvely.com),
which needed a way to select date ranges for reports.
Features include limiting the selectable date range, localizable strings and date formats,
a single date picker mode, a time picker, and predefined date ranges.
## [Documentation and Live Usage Examples](http://www.daterangepicker.com)
## [See It In a Live Application](https://awio.iljmp.com/5/drpdemogh)
## License
The MIT License (MIT)
Copyright (c) 2012-2018 Dan Grossman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
{
"name": "daterangepicker",
"main": [
"daterangepicker.js",
"daterangepicker.css"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"moment.js",
"moment.min.js"
],
"dependencies": {
"jquery": "1.9.1 - 3",
"moment": ">=2.9.0"
}
}
.daterangepicker {
position: absolute;
color: inherit;
background-color: #fff;
border-radius: 4px;
border: 1px solid #ddd;
width: 278px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 3001;
display: none;
font-family: arial;
font-size: 15px;
line-height: 1em;
}
.daterangepicker:before, .daterangepicker:after {
position: absolute;
display: inline-block;
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
.daterangepicker:before {
top: -7px;
border-right: 7px solid transparent;
border-left: 7px solid transparent;
border-bottom: 7px solid #ccc;
}
.daterangepicker:after {
top: -6px;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-left: 6px solid transparent;
}
.daterangepicker.opensleft:before {
right: 9px;
}
.daterangepicker.opensleft:after {
right: 10px;
}
.daterangepicker.openscenter:before {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
.daterangepicker.openscenter:after {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
.daterangepicker.opensright:before {
left: 9px;
}
.daterangepicker.opensright:after {
left: 10px;
}
.daterangepicker.drop-up {
margin-top: -7px;
}
.daterangepicker.drop-up:before {
top: initial;
bottom: -7px;
border-bottom: initial;
border-top: 7px solid #ccc;
}
.daterangepicker.drop-up:after {
top: initial;
bottom: -6px;
border-bottom: initial;
border-top: 6px solid #fff;
}
.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
float: none;
}
.daterangepicker.single .drp-selected {
display: none;
}
.daterangepicker.show-calendar .drp-calendar {
display: block;
}
.daterangepicker.show-calendar .drp-buttons {
display: block;
}
.daterangepicker.auto-apply .drp-buttons {
display: none;
}
.daterangepicker .drp-calendar {
display: none;
max-width: 270px;
}
.daterangepicker .drp-calendar.left {
padding: 8px 0 8px 8px;
}
.daterangepicker .drp-calendar.right {
padding: 8px;
}
.daterangepicker .drp-calendar.single .calendar-table {
border: none;
}
.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
color: #fff;
border: solid black;
border-width: 0 2px 2px 0;
border-radius: 0;
display: inline-block;
padding: 3px;
}
.daterangepicker .calendar-table .next span {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.daterangepicker .calendar-table .prev span {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
white-space: nowrap;
text-align: center;
vertical-align: middle;
min-width: 32px;
width: 32px;
height: 24px;
line-height: 24px;
font-size: 12px;
border-radius: 4px;
border: 1px solid transparent;
white-space: nowrap;
cursor: pointer;
}
.daterangepicker .calendar-table {
border: 1px solid #fff;
border-radius: 4px;
background-color: #fff;
}
.daterangepicker .calendar-table table {
width: 100%;
margin: 0;
border-spacing: 0;
border-collapse: collapse;
}
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #eee;
border-color: transparent;
color: inherit;
}
.daterangepicker td.week, .daterangepicker th.week {
font-size: 80%;
color: #ccc;
}
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #fff;
border-color: transparent;
color: #999;
}
.daterangepicker td.in-range {
background-color: #ebf4f8;
border-color: transparent;
color: #000;
border-radius: 0;
}
.daterangepicker td.start-date {
border-radius: 4px 0 0 4px;
}
.daterangepicker td.end-date {
border-radius: 0 4px 4px 0;
}
.daterangepicker td.start-date.end-date {
border-radius: 4px;
}
.daterangepicker td.active, .daterangepicker td.active:hover {
background-color: #357ebd;
border-color: transparent;
color: #fff;
}
.daterangepicker th.month {
width: auto;
}
.daterangepicker td.disabled, .daterangepicker option.disabled {
color: #999;
cursor: not-allowed;
text-decoration: line-through;
}
.daterangepicker select.monthselect, .daterangepicker select.yearselect {
font-size: 12px;
padding: 1px;
height: auto;
margin: 0;
cursor: default;
}
.daterangepicker select.monthselect {
margin-right: 2%;
width: 56%;
}
.daterangepicker select.yearselect {
width: 40%;
}
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
width: 50px;
margin: 0 auto;
background: #eee;
border: 1px solid #eee;
padding: 2px;
outline: 0;
font-size: 12px;
}
.daterangepicker .calendar-time {
text-align: center;
margin: 4px auto 0 auto;
line-height: 30px;
position: relative;
}
.daterangepicker .calendar-time select.disabled {
color: #ccc;
cursor: not-allowed;
}
.daterangepicker .drp-buttons {
clear: both;
text-align: right;
padding: 8px;
border-top: 1px solid #ddd;
display: none;
line-height: 12px;
vertical-align: middle;
}
.daterangepicker .drp-selected {
display: inline-block;
font-size: 12px;
padding-right: 8px;
}
.daterangepicker .drp-buttons .btn {
margin-left: 8px;
font-size: 12px;
font-weight: bold;
padding: 4px 8px;
}
.daterangepicker.show-ranges .drp-calendar.left {
border-left: 1px solid #ddd;
}
.daterangepicker .ranges {
float: none;
text-align: left;
margin: 0;
}
.daterangepicker.show-calendar .ranges {
margin-top: 8px;
}
.daterangepicker .ranges ul {
list-style: none;
margin: 0 auto;
padding: 0;
width: 100%;
}
.daterangepicker .ranges li {
font-size: 12px;
padding: 8px 12px;
cursor: pointer;
}
.daterangepicker .ranges li:hover {
background-color: #eee;
}
.daterangepicker .ranges li.active {
background-color: #08c;
color: #fff;
}
/* Larger Screen Styling */
@media (min-width: 564px) {
.daterangepicker {
width: auto; }
.daterangepicker .ranges ul {
width: 140px; }
.daterangepicker.single .ranges ul {
width: 100%; }
.daterangepicker.single .drp-calendar.left {
clear: none; }
.daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .drp-calendar {
float: left; }
.daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .drp-calendar {
float: right; }
.daterangepicker.ltr {
direction: ltr;
text-align: left; }
.daterangepicker.ltr .drp-calendar.left {
clear: left;
margin-right: 0; }
.daterangepicker.ltr .drp-calendar.left .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.daterangepicker.ltr .drp-calendar.right {
margin-left: 0; }
.daterangepicker.ltr .drp-calendar.right .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.daterangepicker.ltr .drp-calendar.left .calendar-table {
padding-right: 8px; }
.daterangepicker.ltr .ranges, .daterangepicker.ltr .drp-calendar {
float: left; }
.daterangepicker.rtl {
direction: rtl;
text-align: right; }
.daterangepicker.rtl .drp-calendar.left {
clear: right;
margin-left: 0; }
.daterangepicker.rtl .drp-calendar.left .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.daterangepicker.rtl .drp-calendar.right {
margin-right: 0; }
.daterangepicker.rtl .drp-calendar.right .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.daterangepicker.rtl .drp-calendar.left .calendar-table {
padding-left: 12px; }
.daterangepicker.rtl .ranges, .daterangepicker.rtl .drp-calendar {
text-align: right;
float: right; } }
@media (min-width: 730px) {
.daterangepicker .ranges {
width: auto; }
.daterangepicker.ltr .ranges {
float: left; }
.daterangepicker.rtl .ranges {
float: right; }
.daterangepicker .drp-calendar.left {
clear: none !important; } }
<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
<meta charset="UTF-8" />
<title>A date range picker for Bootstrap</title>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="all" href="../../daterangepicker.css" />
<style type="text/css">
.demo { position: relative; }
.demo i {
position: absolute; bottom: 10px; right: 24px; top: auto; cursor: pointer;
}
</style>
</head>
<body style="margin: 60px 0">
<div class="container">
<h1 style="margin: 0 0 20px 0">Configuration Builder</h1>
<div class="well configurator">
<form>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="parentEl">parentEl</label>
<input type="text" class="form-control" id="parentEl" value="" placeholder="body">
</div>
<div class="form-group">
<label for="startDate">startDate</label>
<input type="text" class="form-control" id="startDate" value="07/01/2015">
</div>
<div class="form-group">
<label for="endDate">endDate</label>
<input type="text" class="form-control" id="endDate" value="07/15/2015">
</div>
<div class="form-group">
<label for="minDate">minDate</label>
<input type="text" class="form-control" id="minDate" value="" placeholder="MM/DD/YYYY">
</div>
<div class="form-group">
<label for="maxDate">maxDate</label>
<input type="text" class="form-control" id="maxDate" value="" placeholder="MM/DD/YYYY">
</div>
</div>
<div class="col-md-4">
<div class="checkbox">
<label>
<input type="checkbox" id="autoApply"> autoApply
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="singleDatePicker"> singleDatePicker
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showDropdowns"> showDropdowns
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showWeekNumbers"> showWeekNumbers
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showISOWeekNumbers"> showISOWeekNumbers
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePicker"> timePicker
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePicker24Hour"> timePicker24Hour
</label>
</div>
<div class="form-group">
<label for="timePickerIncrement">timePickerIncrement (in minutes)</label>
<input type="text" class="form-control" id="timePickerIncrement" value="1">
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePickerSeconds"> timePickerSeconds
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="dateLimit"> dateLimit (with example date range span)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="ranges"> ranges (with example predefined ranges)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="locale"> locale (with example settings)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="linkedCalendars" checked="checked"> linkedCalendars
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="autoUpdateInput" checked="checked"> autoUpdateInput
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="alwaysShowCalendars"> alwaysShowCalendars
</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="opens">opens</label>
<select id="opens" class="form-control">
<option value="right" selected>right</option>
<option value="left">left</option>
<option value="center">center</option>
</select>
</div>
<div class="form-group">
<label for="drops">drops</label>
<select id="drops" class="form-control">
<option value="down" selected>down</option>
<option value="up">up</option>
</select>
</div>
<div class="form-group">
<label for="buttonClasses">buttonClasses</label>
<input type="text" class="form-control" id="buttonClasses" value="btn btn-sm">
</div>
<div class="form-group">
<label for="applyClass">applyClass</label>
<input type="text" class="form-control" id="applyClass" value="btn-success">
</div>
<div class="form-group">
<label for="cancelClass">cancelClass</label>
<input type="text" class="form-control" id="cancelClass" value="btn-default">
</div>
</div>
</div>
</form>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-2 demo">
<h4>Your Date Range Picker</h4>
<input type="text" id="config-demo" class="form-control">
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
</div>
<div class="col-md-6">
<h4>Configuration</h4>
<div class="well">
<textarea id="config-text" style="height: 300px; width: 100%; padding: 10px"></textarea>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="require.js" data-main="main.js"></script>
</body>
</html>
requirejs.config({
"paths": {
"jquery": "https://code.jquery.com/jquery-1.11.3.min",
"moment": "../../moment",
"daterangepicker": "../../daterangepicker"
}
});
requirejs(['jquery', 'moment', 'daterangepicker'] , function ($, moment) {
$(document).ready(function() {
$('#config-text').keyup(function() {
eval($(this).val());
});
$('.configurator input, .configurator select').change(function() {
updateConfig();
});
$('.demo i').click(function() {
$(this).parent().find('input').click();
});
$('#startDate').daterangepicker({
singleDatePicker: true,
startDate: moment().subtract(6, 'days')
});
$('#endDate').daterangepicker({
singleDatePicker: true,
startDate: moment()
});
updateConfig();
function updateConfig() {
var options = {};
if ($('#singleDatePicker').is(':checked'))
options.singleDatePicker = true;
if ($('#showDropdowns').is(':checked'))
options.showDropdowns = true;
if ($('#showWeekNumbers').is(':checked'))
options.showWeekNumbers = true;
if ($('#showISOWeekNumbers').is(':checked'))
options.showISOWeekNumbers = true;
if ($('#timePicker').is(':checked'))
options.timePicker = true;
if ($('#timePicker24Hour').is(':checked'))
options.timePicker24Hour = true;
if ($('#timePickerIncrement').val().length && $('#timePickerIncrement').val() != 1)
options.timePickerIncrement = parseInt($('#timePickerIncrement').val(), 10);
if ($('#timePickerSeconds').is(':checked'))
options.timePickerSeconds = true;
if ($('#autoApply').is(':checked'))
options.autoApply = true;
if ($('#dateLimit').is(':checked'))
options.dateLimit = { days: 7 };
if ($('#ranges').is(':checked')) {
options.ranges = {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
};
}
if ($('#locale').is(':checked')) {
options.locale = {
format: 'MM/DD/YYYY HH:mm',
separator: ' - ',
applyLabel: 'Apply',
cancelLabel: 'Cancel',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
};
}
if (!$('#linkedCalendars').is(':checked'))
options.linkedCalendars = false;
if (!$('#autoUpdateInput').is(':checked'))
options.autoUpdateInput = false;
if ($('#alwaysShowCalendars').is(':checked'))
options.alwaysShowCalendars = true;
if ($('#parentEl').val().length)
options.parentEl = $('#parentEl').val();
if ($('#startDate').val().length)
options.startDate = $('#startDate').val();
if ($('#endDate').val().length)
options.endDate = $('#endDate').val();
if ($('#minDate').val().length)
options.minDate = $('#minDate').val();
if ($('#maxDate').val().length)
options.maxDate = $('#maxDate').val();
if ($('#opens').val().length && $('#opens').val() != 'right')
options.opens = $('#opens').val();
if ($('#drops').val().length && $('#drops').val() != 'down')
options.drops = $('#drops').val();
if ($('#buttonClasses').val().length && $('#buttonClasses').val() != 'btn btn-sm')
options.buttonClasses = $('#buttonClasses').val();
if ($('#applyClass').val().length && $('#applyClass').val() != 'btn-success')
options.applyClass = $('#applyClass').val();
if ($('#cancelClass').val().length && $('#cancelClass').val() != 'btn-default')
options.cancelClass = $('#cancelClass').val();
$('#config-text').val("$('#demo').daterangepicker(" + JSON.stringify(options, null, ' ') + ", function(start, end, label) {\n console.log(\"New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')\");\n});");
$('#config-demo').daterangepicker(options, function(start, end, label) { console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')'); });
}
});
});
# Browserify example
Two steps need to be done for this to work
In the project root
npm install
In this folder
../../node_modules/.bin/browserify main.js -o bundle.js
<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
<meta charset="UTF-8" />
<title>A date range picker for Bootstrap</title>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="all" href="../../daterangepicker.css" />
<style type="text/css">
.demo { position: relative; }
.demo i {
position: absolute; bottom: 10px; right: 24px; top: auto; cursor: pointer;
}
</style>
</head>
<body style="margin: 60px 0">
<div class="container">
<h1 style="margin: 0 0 20px 0">Configuration Builder</h1>
<div class="well configurator">
<form>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="parentEl">parentEl</label>
<input type="text" class="form-control" id="parentEl" value="" placeholder="body">
</div>
<div class="form-group">
<label for="startDate">startDate</label>
<input type="text" class="form-control" id="startDate" value="07/01/2015">
</div>
<div class="form-group">
<label for="endDate">endDate</label>
<input type="text" class="form-control" id="endDate" value="07/15/2015">
</div>
<div class="form-group">
<label for="minDate">minDate</label>
<input type="text" class="form-control" id="minDate" value="" placeholder="MM/DD/YYYY">
</div>
<div class="form-group">
<label for="maxDate">maxDate</label>
<input type="text" class="form-control" id="maxDate" value="" placeholder="MM/DD/YYYY">
</div>
</div>
<div class="col-md-4">
<div class="checkbox">
<label>
<input type="checkbox" id="autoApply"> autoApply
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="singleDatePicker"> singleDatePicker
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showDropdowns"> showDropdowns
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showWeekNumbers"> showWeekNumbers
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="showISOWeekNumbers"> showISOWeekNumbers
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePicker"> timePicker
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePicker24Hour"> timePicker24Hour
</label>
</div>
<div class="form-group">
<label for="timePickerIncrement">timePickerIncrement (in minutes)</label>
<input type="text" class="form-control" id="timePickerIncrement" value="1">
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="timePickerSeconds"> timePickerSeconds
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="dateLimit"> dateLimit (with example date range span)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="ranges"> ranges (with example predefined ranges)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="locale"> locale (with example settings)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="linkedCalendars" checked="checked"> linkedCalendars
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="autoUpdateInput" checked="checked"> autoUpdateInput
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="alwaysShowCalendars"> alwaysShowCalendars
</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="opens">opens</label>
<select id="opens" class="form-control">
<option value="right" selected>right</option>
<option value="left">left</option>
<option value="center">center</option>
</select>
</div>
<div class="form-group">
<label for="drops">drops</label>
<select id="drops" class="form-control">
<option value="down" selected>down</option>
<option value="up">up</option>
</select>
</div>
<div class="form-group">
<label for="buttonClasses">buttonClasses</label>
<input type="text" class="form-control" id="buttonClasses" value="btn btn-sm">
</div>
<div class="form-group">
<label for="applyClass">applyClass</label>
<input type="text" class="form-control" id="applyClass" value="btn-success">
</div>
<div class="form-group">
<label for="cancelClass">cancelClass</label>
<input type="text" class="form-control" id="cancelClass" value="btn-default">
</div>
</div>
</div>
</form>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-2 demo">
<h4>Your Date Range Picker</h4>
<input type="text" id="config-demo" class="form-control">
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
</div>
<div class="col-md-6">
<h4>Configuration</h4>
<div class="well">
<textarea id="config-text" style="height: 300px; width: 100%; padding: 10px"></textarea>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="bundle.js"></script>
</body>
</html>
require('../../daterangepicker.js');
var $ = require('jquery'),
moment = require('moment');
$(document).ready(function() {
$('#config-text').keyup(function() {
eval($(this).val());
});
$('.configurator input, .configurator select').change(function() {
updateConfig();
});
$('.demo i').click(function() {
$(this).parent().find('input').click();
});
$('#startDate').daterangepicker({
singleDatePicker: true,
startDate: moment().subtract(6, 'days')
});
$('#endDate').daterangepicker({
singleDatePicker: true,
startDate: moment()
});
updateConfig();
function updateConfig() {
var options = {};
if ($('#singleDatePicker').is(':checked'))
options.singleDatePicker = true;
if ($('#showDropdowns').is(':checked'))
options.showDropdowns = true;
if ($('#showWeekNumbers').is(':checked'))
options.showWeekNumbers = true;
if ($('#showISOWeekNumbers').is(':checked'))
options.showISOWeekNumbers = true;
if ($('#timePicker').is(':checked'))
options.timePicker = true;
if ($('#timePicker24Hour').is(':checked'))
options.timePicker24Hour = true;
if ($('#timePickerIncrement').val().length && $('#timePickerIncrement').val() != 1)
options.timePickerIncrement = parseInt($('#timePickerIncrement').val(), 10);
if ($('#timePickerSeconds').is(':checked'))
options.timePickerSeconds = true;
if ($('#autoApply').is(':checked'))
options.autoApply = true;
if ($('#dateLimit').is(':checked'))
options.dateLimit = { days: 7 };
if ($('#ranges').is(':checked')) {
options.ranges = {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
};
}
if ($('#locale').is(':checked')) {
options.locale = {
format: 'MM/DD/YYYY HH:mm',
separator: ' - ',
applyLabel: 'Apply',
cancelLabel: 'Cancel',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
};
}
if (!$('#linkedCalendars').is(':checked'))
options.linkedCalendars = false;
if (!$('#autoUpdateInput').is(':checked'))
options.autoUpdateInput = false;
if ($('#alwaysShowCalendars').is(':checked'))
options.alwaysShowCalendars = true;
if ($('#parentEl').val().length)
options.parentEl = $('#parentEl').val();
if ($('#startDate').val().length)
options.startDate = $('#startDate').val();
if ($('#endDate').val().length)
options.endDate = $('#endDate').val();
if ($('#minDate').val().length)
options.minDate = $('#minDate').val();
if ($('#maxDate').val().length)
options.maxDate = $('#maxDate').val();
if ($('#opens').val().length && $('#opens').val() != 'right')
options.opens = $('#opens').val();
if ($('#drops').val().length && $('#drops').val() != 'down')
options.drops = $('#drops').val();
if ($('#buttonClasses').val().length && $('#buttonClasses').val() != 'btn btn-sm')
options.buttonClasses = $('#buttonClasses').val();
if ($('#applyClass').val().length && $('#applyClass').val() != 'btn-success')
options.applyClass = $('#applyClass').val();
if ($('#cancelClass').val().length && $('#cancelClass').val() != 'btn-default')
options.cancelClass = $('#cancelClass').val();
$('#config-text').val("$('#demo').daterangepicker(" + JSON.stringify(options, null, ' ') + ", function(start, end, label) {\n console.log(\"New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')\");\n});");
$('#config-demo').daterangepicker(options, function(start, end, label) { console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')'); });
}
});
Package.describe({
name: 'dangrossman:bootstrap-daterangepicker',
version: '3.0.3',
summary: 'Date range picker component',
git: 'https://github.com/dangrossman/daterangepicker',
documentation: 'README.md'
});
Package.onUse(function(api) {
api.versionsFrom('METEOR@0.9.0.1');
api.use('momentjs:moment@2.22.1', ["client"]);
api.use('jquery@3.3.1', ["client"]);
api.addFiles('daterangepicker.js', ["client"]);
api.addFiles('daterangepicker.css', ["client"]);
});
{
"name": "daterangepicker",
"version": "3.0.3",
"description": "Date range picker component for Bootstrap",
"main": "daterangepicker.js",
"style": "daterangepicker.css",
"scripts": {
"scss": "node-sass daterangepicker.scss > daterangepicker.css",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/dangrossman/daterangepicker.git"
},
"author": {
"name": "Dan Grossman",
"email": "dan@dangrossman.info",
"url": "http://www.dangrossman.info"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/dangrossman/daterangepicker/issues"
},
"homepage": "https://github.com/dangrossman/daterangepicker",
"dependencies": {
"jquery": ">=1.10",
"moment": "^2.9.0"
},
"devDependencies": {
"node-sass": "^3.4.2"
}
}
body {
font-size: 15px;
line-height: 1.6em;
position: relative;
margin: 0;
}
.navbar .nav-item {
padding: 8px 0 8px 20px;
}
.navbar .nav-link {
font-weight: bold;
font-size: 14px;
padding: 0;
}
.navbar-expand-sm .navbar-nav .nav-link {
padding: 0;
}
.well {
background: #f5f5f5;
border-radius: 4px;
padding: 20px;
}
h1 {
font-size: 20px;
margin-bottom: 1em;
padding-bottom: 5px;
border-bottom: 1px dotted #08c;
}
h1:before {
content: '#';
color: #666;
position: relative;
padding-right: 5px;
}
h2 {
padding: 0;
margin: 20px 0 0 0;
font-size: 18px;
}
h2 a {
color: #444;
display: block;
background: #eee;
padding: 8px 12px;
margin-bottom: 0;
cursor: default;
text-decoration: none;
}
input.form-control {
font-size: 14px;
}
.collapsable {
border: 1px solid #eee;
padding: 12px;
display: block;
}
label {
font-size: 13px;
font-weight: bold;
}
.gist {
overflow: auto;
}
.gist .blob-wrapper.data {
max-height: 350px;
overflow: auto;
}
.list-group-item {
padding: 4px 0;
border: 0;
font-size: 16px;
}
.leftcol {
position: absolute;
top: 180px;
}
.rightcol {
max-width: 950px;
}
.container {
max-width: 1300px;
}
@media (min-width: 980px) {
.rightcol {
margin-left: 320px;
}
}
p, pre {
margin-bottom: 2em;
}
ul.nobullets {
margin: 0;
padding: 0;
list-style: none;
}
ul.nobullets li {
padding-bottom: 1em;
margin-bottom: 1em;
border-bottom: 1px dotted #ddd;
}
input[type="text"] {
padding: 6px;
width: 100%;
border-radius: 4px;
}
#footer {
background: #222;
margin-top: 80px;
padding: 10px;
color: #fff;
text-align: center;
}
#footer a:link, #footer a:visited {
color: #fff;
border-bottom: 1px dotted #fff;
}
#jumbo {
background: #c1deef;
color: #000;
padding: 20px 0;
margin-bottom: 20px;
}
#jumbo h1 {
font-size: 28px;
}
#jumbo .btn {
border-radius: 0;
font-size: 16px;
}
\ No newline at end of file
$(document).ready(function() {
$('#config-text').keyup(function() {
eval($(this).val());
});
$('.configurator input, .configurator select').change(function() {
updateConfig();
});
$('.demo i').click(function() {
$(this).parent().find('input').click();
});
$('#startDate').daterangepicker({
singleDatePicker: true,
startDate: moment().subtract(6, 'days')
});
$('#endDate').daterangepicker({
singleDatePicker: true,
startDate: moment()
});
//updateConfig();
function updateConfig() {
var options = {};
if ($('#singleDatePicker').is(':checked'))
options.singleDatePicker = true;
if ($('#showDropdowns').is(':checked'))
options.showDropdowns = true;
if ($('#minYear').val().length && $('#minYear').val() != 1)
options.minYear = parseInt($('#minYear').val(), 10);
if ($('#maxYear').val().length && $('#maxYear').val() != 1)
options.maxYear = parseInt($('#maxYear').val(), 10);
if ($('#showWeekNumbers').is(':checked'))
options.showWeekNumbers = true;
if ($('#showISOWeekNumbers').is(':checked'))
options.showISOWeekNumbers = true;
if ($('#timePicker').is(':checked'))
options.timePicker = true;
if ($('#timePicker24Hour').is(':checked'))
options.timePicker24Hour = true;
if ($('#timePickerIncrement').val().length && $('#timePickerIncrement').val() != 1)
options.timePickerIncrement = parseInt($('#timePickerIncrement').val(), 10);
if ($('#timePickerSeconds').is(':checked'))
options.timePickerSeconds = true;
if ($('#autoApply').is(':checked'))
options.autoApply = true;
if ($('#maxSpan').is(':checked'))
options.maxSpan = { days: 7 };
if ($('#ranges').is(':checked')) {
options.ranges = {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
};
}
if ($('#locale').is(':checked')) {
options.locale = {
format: 'MM/DD/YYYY',
separator: ' - ',
applyLabel: 'Apply',
cancelLabel: 'Cancel',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom',
weekLabel: 'W',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
};
}
if (!$('#linkedCalendars').is(':checked'))
options.linkedCalendars = false;
if (!$('#autoUpdateInput').is(':checked'))
options.autoUpdateInput = false;
if (!$('#showCustomRangeLabel').is(':checked'))
options.showCustomRangeLabel = false;
if ($('#alwaysShowCalendars').is(':checked'))
options.alwaysShowCalendars = true;
if ($('#parentEl').val().length)
options.parentEl = $('#parentEl').val();
if ($('#startDate').val().length)
options.startDate = $('#startDate').val();
if ($('#endDate').val().length)
options.endDate = $('#endDate').val();
if ($('#minDate').val().length)
options.minDate = $('#minDate').val();
if ($('#maxDate').val().length)
options.maxDate = $('#maxDate').val();
if ($('#opens').val().length && $('#opens').val() != 'right')
options.opens = $('#opens').val();
if ($('#drops').val().length && $('#drops').val() != 'down')
options.drops = $('#drops').val();
if ($('#buttonClasses').val().length && $('#buttonClasses').val() != 'btn btn-sm')
options.buttonClasses = $('#buttonClasses').val();
if ($('#applyButtonClasses').val().length && $('#applyButtonClasses').val() != 'btn-primary')
options.applyButtonClasses = $('#applyButtonClasses').val();
if ($('#cancelButtonClasses').val().length && $('#cancelButtonClasses').val() != 'btn-default')
options.cancelClass = $('#cancelButtonClasses').val();
$('#config-demo').daterangepicker(options, function(start, end, label) { console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')'); });
if (typeof options.ranges !== 'undefined') {
options.ranges = {};
}
var option_text = JSON.stringify(options, null, ' ');
var replacement = "ranges: {\n"
+ " 'Today': [moment(), moment()],\n"
+ " 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],\n"
+ " 'Last 7 Days': [moment().subtract(6, 'days'), moment()],\n"
+ " 'Last 30 Days': [moment().subtract(29, 'days'), moment()],\n"
+ " 'This Month': [moment().startOf('month'), moment().endOf('month')],\n"
+ " 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]\n"
+ " }";
option_text = option_text.replace(new RegExp('"ranges"\: \{\}', 'g'), replacement);
$('#config-text').val("$('#demo').daterangepicker(" + option_text + ", function(start, end, label) {\n console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')');\n});");
}
$(window).scroll(function (event) {
var scroll = $(window).scrollTop();
if (scroll > 180) {
$('.leftcol').css('position', 'fixed');
$('.leftcol').css('top', '10px');
} else {
$('.leftcol').css('position', 'absolute');
$('.leftcol').css('top', '180px');
}
});
var bg = new Trianglify({
x_colors: ["#e1f3fd", "#eeeeee", "#407dbf"],
y_colors: 'match_x',
width: document.body.clientWidth,
height: 150,
stroke_width: 0,
cell_size: 20
});
$('#jumbo').css('background-image', 'url(' + bg.png() + ')');
});
<svg id="svg-filter">
<filter id="svg-blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="4"></feGaussianBlur>
</filter>
</svg>
\ No newline at end of file
......@@ -287,7 +287,7 @@ a:hover {
}
.btn-slide {
color: #f2920a;
color: #c30800;
}
.btn-slide .text {
......
......@@ -657,23 +657,25 @@
.btn1-slide {
font-size: 13px;
font-weight: 600;
position: relative;
display: inline-block;
width: 170px;
height: 34px;
padding: 0 0 0 15px;
text-align: center;
text-transform: uppercase;
border: 1px solid #3c3c3c;
border: 1px solid #c30800;
border-radius: 50px;
background-color: #3c3c3c;
background-color: #fafafa;
color: #c30800;
}
.btn1-slide:hover {
color: #ffffff;
border: 1px solid #fafafa;
background-color: #c30800;
}
.btn1-slide .text {
font-style: inherit;
......@@ -1446,13 +1448,13 @@
}
.tours-layout:hover .image-wrapper .link {
-webkit-filter: blur(1px);
/* -webkit-filter: blur(1px);
-webkit-filter: url(../images/blur.svg#svg-blur);
-moz-filter: blur(1px);
-ms-filter: blur(1px);
filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='1');
filter: blur(1px);
filter: url(../images/blur.svg#svg-blur);
filter: url(../images/blur.svg#svg-blur); */
}
.tours-layout:hover .image-wrapper .link img {
......
......@@ -4,36 +4,45 @@
angular.module('tour-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('sightseeing-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('vo-sales', [
'ui.router',
'tours',
'ui.bootstrap',
'htmlToPdfSave',
'updateMeta'
'updateMeta',
'daterangepicker'
]);
angular.module('cruise-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('clubmed-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('omra-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('tours', [
'ui.bootstrap',
'daterangepicker'
]);
angular.module('tours', ['ui.bootstrap']);
// Source: src/html/scripts/tour-sales/controllers/search-form.js
angular.module('tours').controller('tours_SearchFormCtrl', [
'$scope',
......
......@@ -4,36 +4,45 @@
angular.module('tour-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('sightseeing-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('vo-sales', [
'ui.router',
'tours',
'ui.bootstrap',
'htmlToPdfSave',
'updateMeta'
'updateMeta',
'daterangepicker'
]);
angular.module('cruise-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('clubmed-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('omra-sales', [
'ui.router',
'tours',
'ui.bootstrap'
'ui.bootstrap',
'daterangepicker'
]);
angular.module('tours', [
'ui.bootstrap',
'daterangepicker'
]);
angular.module('tours', ['ui.bootstrap']);
// Source: src/html/scripts/tour-sales/states.js
angular.module('tours').config([
'$sceProvider',
......@@ -1416,6 +1425,60 @@
$scope.error = data;
}
}
// simple date picker
$scope.singleDatePicker = {
picker: null,
options: {
singleDatePicker: true,
pickerClasses: 'custom-display',
buttonClasses: 'btn',
applyButtonClasses: 'btn-primary',
cancelButtonClasses: 'btn-danger',
minDate: moment(),
locale: {
applyLabel: 'valider',
cancelLabel: 'annuler',
customRangeLabel: 'Custom range',
separator: ' - ',
format: 'DD/MM/YYYY',
weekLabel: 'S',
daysOfWeek: [
'Di',
'Lu',
'Ma',
'Me',
'Je',
'Ve',
'Sa'
],
monthNames: [
'Janvier',
'F\xe9vrier',
'Mars',
'Avril',
'Mai',
'Juin',
'Juillet',
'Ao\xfbt',
'Septembre',
'Octobre',
'Novembre',
'Decembre'
],
'firstDay': 1
},
eventHandlers: {
'apply.daterangepicker': function (event, picker) {
$scope.query.from = $scope.singleDatePicker.date;
}
}
}
};
if ($scope.query !== undefined && $stateParams.from) {
$scope.singleDatePicker.date = $stateParams.from;
} else {
$scope.singleDatePicker.date = moment();
}
}
]);
;
......
!function(){"use strict";angular.module("avi-contact",[]),angular.module("avi-card",[]),angular.module("avi-card").controller("CardCallFormCtrl",["$scope","$http","$log",function(a,b,c){function d(){a.options.agences=f.filter(function(b){return b.city==a.contact.agency.city.code})}function e(){b({method:"POST",url:"/card-requests",data:angular.extend(a.contact,{status:"opened",comment:"",_perms:{r:["*"],w:["*"],d:["g:admin"]}})}).success(function(b){a.state="success"}).error(function(){a.state="error"})}var f=[{email:"casa44far@atlasvoyages.com",name:"CASA 44",code:"CASA44",address:"44, avenue de l’Armée Royale, Centre Ville, CASABLANCA",city:"CASABLANCA"},{email:"casatwincenter@atlasvoyages.com",name:"CASA TWIN CENTER",code:"CASATWINCENTER",address:"191 bd Mohamed Zerktouni Twin Center n°157 porte Maârif. Maarif 20330 CASABLANCA",city:"CASABLANCA"},{email:"casatechnopark@atlasvoyages.com",name:"CASA Technopark",code:"CASATechnopark",address:"Technopark rez de chaussée, Room 167/168 Sidi maarouf, CASABLANCA",city:"CASABLANCA"},{email:"casaanfaplace@atlasvoyages.com",name:"Anfa Place",code:"AnfaPlace",address:"S3 Centre Commercial Anfa Place, Bd La Corniche. CASABLANCA",city:"CASABLANCA"},{email:"casa150far@atlasvoyages.com",name:"CASA 150",code:"CASA150",address:"150, avenue des FAR Centre Ville, CASABLANCA",city:"CASABLANCA"},{email:"rabatagdal@atlasvoyages.com",name:"RABAT AGDAL",code:"RABATAGDAL",address:"59, avenue Ibnou Sina Appt n°1 Agdal, Rabat",city:"RABAT"},{email:"rabathayryad@atlasvoyages.com",name:"RABAT RYAD",code:"RABATRYAD",address:"Mahaj ryad n°22 - Hay Riad Rabat",city:"RABAT"},{email:"rabatlabelgallery@atlasvoyages.com",name:"Label Gallery",code:"LabelGallery",address:"Galerie commerciale « Label Gallery », Souissi, Route des Zaers, 3,5 km, rez de chaussée, local n° 16 Rabat",city:"RABAT"},{email:"fescentre@atlasvoyages.com",name:"Fès center",code:"Fescenter",address:"15 rue Bouchaib Doukkali. Fès",city:"FES"},{email:"fesborj@atlasvoyages.com",name:"Borj Fès",code:"BorjFes",address:"Centre Commercial Borj Fès. Fès",city:"FES"},{email:"tangerville@atlasvoyages.com",name:"Tanger Ville",code:"TangerVille",address:"N° 6 rés Camilia, Rue ibn Taymiya. Tanger",city:"TANGER"},{email:"tangersoccoalto@atlasvoyages.com",name:"Socco Alto",code:"SoccoAlto",address:"Centre commercial « Socco Alto », sis au quartier Californie, angle Rues Boubana et Banafsaj, rez de chaussée bas, local n° R34 Tanger",city:"TANGER"},{email:"oujda@atlasvoyages.com",name:"Oujda",code:"Oujda",address:"21 Bis Rue Melillia - oujda",city:"OUJDA"},{email:"agadir@atlasvoyages.com",name:"Agadir",code:"Agadir",address:"Immeuble Sud Bahia Avenue Hassan II. Agadir",city:"AGADIR"},{email:"marrakech@atlasvoyages.com",name:"Marrakech",code:"Marrakech",address:"131, bd. Mohammed V 40000, Marrakech",city:"MARRAKECH"},{email:"meknes@atlasvoyages.com",name:"Meknès",code:"Meknes",address:"Rue Abou Ali Ben Rahal, Meknès",city:"MEKNES"},{email:"kenitra@atlasvoyages.com",name:"Kénitra",code:"Kenitra",address:"352, Bd Mohamed V – Résidence Palace - rez de chaussée",city:"KENITRA"}];angular.extend(a,{contact:{agency:{infos:{},city:{}}},state:"form",save:e,onCityChanged:d,options:{cities:[{code:"CASABLANCA",name:"CASABLANCA"},{code:"MARRAKECH",name:"MARRAKECH"},{code:"RABAT",name:"RABAT"},{code:"FES",name:"FÉS"},{code:"AGADIR",name:"AGADIR"},{code:"TANGER",name:"TANGER"},{code:"OUJDA",name:"OUJDA"},{code:"KENITRA",name:"KÉNITRA"},{code:"MEKNES",name:"MEKNÈS"}],agences:f}})}]),angular.module("avi-contact").controller("RequestCallFormCtrl",["$scope","$http","$log",function(a,b,c){function d(){c.debug("RequestCallFormCtrl: contact-requests onAdd"),b({method:"POST",url:"/contact-requests",data:angular.extend(a.contact,{status:"opened",_perms:{r:["*"],w:["*"],d:["g:admin"]}})}).success(function(b){a.state="success"}).error(function(){a.state="error"})}c.debug("RequestCallFormCtrl: init"),angular.extend(a,{contact:{agency:{infos:{},city:{}}},state:"form",save:d,options:{markets:["FRENCH","ENGLISH","DUTCH","OTHER"]}})}])}();
\ No newline at end of file
!function(){"use strict";angular.module("avi-contact",[]),angular.module("avi-card",[]),angular.module("avi-tombola",[]),angular.module("avi-card").controller("CardCallFormCtrl",["$scope","$http","$log",function(a,b,c){function d(){a.options.agences=f.filter(function(b){return b.city==a.contact.agency.city.code})}function e(){b({method:"POST",url:"/card-requests",data:angular.extend(a.contact,{status:"opened",comment:"",_perms:{r:["*"],w:["*"],d:["g:admin"]}})}).success(function(b){a.state="success"}).error(function(){a.state="error"})}var f=[{email:"casa44far@atlasvoyages.com",name:"CASA 44",code:"CASA44",address:"44, avenue de l’Armée Royale, Centre Ville, CASABLANCA",city:"CASABLANCA"},{email:"casatwincenter@atlasvoyages.com",name:"CASA TWIN CENTER",code:"CASATWINCENTER",address:"191 bd Mohamed Zerktouni Twin Center n°157 porte Maârif. Maarif 20330 CASABLANCA",city:"CASABLANCA"},{email:"casatechnopark@atlasvoyages.com",name:"CASA Technopark",code:"CASATechnopark",address:"Technopark rez de chaussée, Room 167/168 Sidi maarouf, CASABLANCA",city:"CASABLANCA"},{email:"casaanfaplace@atlasvoyages.com",name:"Anfa Place",code:"AnfaPlace",address:"S3 Centre Commercial Anfa Place, Bd La Corniche. CASABLANCA",city:"CASABLANCA"},{email:"casa150far@atlasvoyages.com",name:"CASA 150",code:"CASA150",address:"150, avenue des FAR Centre Ville, CASABLANCA",city:"CASABLANCA"},{email:"rabatagdal@atlasvoyages.com",name:"RABAT AGDAL",code:"RABATAGDAL",address:"59, avenue Ibnou Sina Appt n°1 Agdal, Rabat",city:"RABAT"},{email:"rabathayryad@atlasvoyages.com",name:"RABAT RYAD",code:"RABATRYAD",address:"Mahaj ryad n°22 - Hay Riad Rabat",city:"RABAT"},{email:"rabatlabelgallery@atlasvoyages.com",name:"Label Gallery",code:"LabelGallery",address:"Galerie commerciale « Label Gallery », Souissi, Route des Zaers, 3,5 km, rez de chaussée, local n° 16 Rabat",city:"RABAT"},{email:"fescentre@atlasvoyages.com",name:"Fès center",code:"Fescenter",address:"15 rue Bouchaib Doukkali. Fès",city:"FES"},{email:"fesborj@atlasvoyages.com",name:"Borj Fès",code:"BorjFes",address:"Centre Commercial Borj Fès. Fès",city:"FES"},{email:"tangerville@atlasvoyages.com",name:"Tanger Ville",code:"TangerVille",address:"N° 6 rés Camilia, Rue ibn Taymiya. Tanger",city:"TANGER"},{email:"tangersoccoalto@atlasvoyages.com",name:"Socco Alto",code:"SoccoAlto",address:"Centre commercial « Socco Alto », sis au quartier Californie, angle Rues Boubana et Banafsaj, rez de chaussée bas, local n° R34 Tanger",city:"TANGER"},{email:"oujda@atlasvoyages.com",name:"Oujda",code:"Oujda",address:"21 Bis Rue Melillia - oujda",city:"OUJDA"},{email:"agadir@atlasvoyages.com",name:"Agadir",code:"Agadir",address:"Immeuble Sud Bahia Avenue Hassan II. Agadir",city:"AGADIR"},{email:"marrakech@atlasvoyages.com",name:"Marrakech",code:"Marrakech",address:"131, bd. Mohammed V 40000, Marrakech",city:"MARRAKECH"},{email:"meknes@atlasvoyages.com",name:"Meknès",code:"Meknes",address:"Rue Abou Ali Ben Rahal, Meknès",city:"MEKNES"},{email:"kenitra@atlasvoyages.com",name:"Kénitra",code:"Kenitra",address:"352, Bd Mohamed V – Résidence Palace - rez de chaussée",city:"KENITRA"}];angular.extend(a,{contact:{agency:{infos:{},city:{}}},state:"form",save:e,onCityChanged:d,options:{cities:[{code:"CASABLANCA",name:"CASABLANCA"},{code:"MARRAKECH",name:"MARRAKECH"},{code:"RABAT",name:"RABAT"},{code:"FES",name:"FÉS"},{code:"AGADIR",name:"AGADIR"},{code:"TANGER",name:"TANGER"},{code:"OUJDA",name:"OUJDA"},{code:"KENITRA",name:"KÉNITRA"},{code:"MEKNES",name:"MEKNÈS"}],agences:f}})}]),angular.module("avi-contact").controller("RequestCallFormCtrl",["$scope","$http","$log",function(a,b,c){function d(){c.debug("RequestCallFormCtrl: contact-requests onAdd"),b({method:"POST",url:"/contact-requests",data:angular.extend(a.contact,{status:"opened",_perms:{r:["*"],w:["*"],d:["g:admin"]}})}).success(function(b){a.state="success"}).error(function(){a.state="error"})}c.debug("RequestCallFormCtrl: init"),angular.extend(a,{contact:{agency:{infos:{},city:{}}},state:"form",save:d,options:{markets:["FRENCH","ENGLISH","DUTCH","OTHER"]}})}]),angular.module("avi-tombola").controller("TombolaCallFormCtrl",["$scope","$http","$log",function(a,b,c){function d(){console.log(a.contact),b({method:"POST",url:"/tombola-requests",data:angular.extend(a.contact,{_perms:{r:["*"],w:["*"],d:["g:admin"]}})}).success(function(b){a.state="success"}).error(function(){a.state="error"})}angular.extend(a,{state:"form",save:d,options:{civilities:[{code:"M",name:"Monsieur"},{code:"Mme",name:"Madame"}]}})}])}();
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment