first commit
15
rus/admin/_V4/_lib/CodeSeven-toastr/.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# Set default behaviour, in case users don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files we want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.c text
|
||||
*.h text
|
||||
|
||||
# Declare files that will always have CRLF line endings on checkout.
|
||||
*.sln text eol=crlf
|
||||
*.csproj text eol=crlf
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
58
rus/admin/_V4/_lib/CodeSeven-toastr/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
node_modules
|
||||
bower_components
|
||||
|
||||
# Ignore Visual Studio Project #
|
||||
###################
|
||||
*.config
|
||||
*.user
|
||||
*.csproj
|
||||
*.gpState
|
||||
*.sln
|
||||
*.suo
|
||||
/bin
|
||||
/obj
|
||||
/packages
|
||||
/Properties
|
||||
/Scripts
|
||||
/report
|
||||
/tests/coverage
|
||||
|
||||
|
||||
# Compiled source #
|
||||
###################
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.so
|
||||
|
||||
# Packages #
|
||||
############
|
||||
# it's better to unpack these files and commit the raw source
|
||||
# git has its own built in compression methods
|
||||
*.7z
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
|
||||
# Logs and databases #
|
||||
######################
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
|
||||
# OS generated files #
|
||||
######################
|
||||
.DS_Store*
|
||||
ehthumbs.db
|
||||
Icon?
|
||||
Thumbs.db
|
||||
|
||||
# WebStorm #
|
||||
######################
|
||||
.idea/
|
||||
90
rus/admin/_V4/_lib/CodeSeven-toastr/.jscsrc
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
"excludeFiles": ["node_modules/**", "bower_components/**"],
|
||||
|
||||
|
||||
"requireCurlyBraces": [
|
||||
"if",
|
||||
"else",
|
||||
"for",
|
||||
"while",
|
||||
"do",
|
||||
"try",
|
||||
"catch"
|
||||
],
|
||||
"requireOperatorBeforeLineBreak": true,
|
||||
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
||||
"maximumLineLength": {
|
||||
"value": 80,
|
||||
"allowComments": true,
|
||||
"allowRegex": true
|
||||
},
|
||||
"validateIndentation": 2,
|
||||
"validateQuoteMarks": "'",
|
||||
|
||||
"disallowMultipleLineStrings": true,
|
||||
"disallowMixedSpacesAndTabs": true,
|
||||
"disallowTrailingWhitespace": true,
|
||||
"disallowSpaceAfterPrefixUnaryOperators": true,
|
||||
"disallowMultipleVarDecl": null,
|
||||
|
||||
"requireSpaceAfterKeywords": [
|
||||
"if",
|
||||
"else",
|
||||
"for",
|
||||
"while",
|
||||
"do",
|
||||
"switch",
|
||||
"return",
|
||||
"try",
|
||||
"catch"
|
||||
],
|
||||
"requireSpaceBeforeBinaryOperators": [
|
||||
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
|
||||
"&=", "|=", "^=", "+=",
|
||||
|
||||
"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
|
||||
"|", "^", "&&", "||", "===", "==", ">=",
|
||||
"<=", "<", ">", "!=", "!=="
|
||||
],
|
||||
"requireSpaceAfterBinaryOperators": true,
|
||||
"requireSpacesInConditionalExpression": true,
|
||||
"requireSpaceBeforeBlockStatements": true,
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
"disallowSpacesInsideObjectBrackets": "all",
|
||||
"disallowSpacesInsideArrayBrackets": "all",
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
|
||||
|
||||
"validateJSDoc": {
|
||||
"checkParamNames": true,
|
||||
"requireParamTypes": true
|
||||
},
|
||||
|
||||
"disallowMultipleLineBreaks": true,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"requireLineFeedAtFileEnd": null,
|
||||
"disallowCommaBeforeLineBreak": null,
|
||||
"disallowDanglingUnderscores": null,
|
||||
"disallowEmptyBlocks": null,
|
||||
"disallowMixedSpacesAndTabs": null,
|
||||
"disallowMultipleLineStrings": null,
|
||||
"disallowTrailingComma": null,
|
||||
"disallowTrailingWhitespace": null,
|
||||
"maximumLineLength": null,
|
||||
"requireCamelCaseOrUpperCaseIdentifiers": null,
|
||||
"requireCapitalizedConstructors": null,
|
||||
"requireCommaBeforeLineBreak": null,
|
||||
"requireCurlyBraces": null,
|
||||
"requireDotNotation": null,
|
||||
"requireMultipleVarDecl": null,
|
||||
"requireOperatorBeforeLineBreak": null,
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
"validateIndentation": 4,
|
||||
"validateQuoteMarks": null
|
||||
}
|
||||
63
rus/admin/_V4/_lib/CodeSeven-toastr/.jshintrc
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"bitwise": true,
|
||||
"camelcase": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"es3": false,
|
||||
"forin": true,
|
||||
"freeze": true,
|
||||
"immed": true,
|
||||
"indent": 4,
|
||||
"latedef": "nofunc",
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": true,
|
||||
"nonbsp": true,
|
||||
"nonew": true,
|
||||
"plusplus": false,
|
||||
"quotmark": "single",
|
||||
"undef": true,
|
||||
"unused": false,
|
||||
"strict": false,
|
||||
"maxparams": 10,
|
||||
"maxdepth": 5,
|
||||
"maxstatements": 40,
|
||||
"maxcomplexity": 8,
|
||||
"maxlen": 120,
|
||||
|
||||
"asi": false,
|
||||
"boss": false,
|
||||
"debug": false,
|
||||
"eqnull": true,
|
||||
"esnext": false,
|
||||
"evil": false,
|
||||
"expr": false,
|
||||
"funcscope": false,
|
||||
"globalstrict": false,
|
||||
"iterator": false,
|
||||
"lastsemic": false,
|
||||
"laxbreak": false,
|
||||
"laxcomma": false,
|
||||
"loopfunc": true,
|
||||
"maxerr": false,
|
||||
"moz": false,
|
||||
"multistr": false,
|
||||
"notypeof": false,
|
||||
"proto": false,
|
||||
"scripturl": false,
|
||||
"shadow": false,
|
||||
"sub": true,
|
||||
"supernew": false,
|
||||
"validthis": false,
|
||||
"noyield": false,
|
||||
|
||||
"browser": true,
|
||||
"node": true,
|
||||
|
||||
"globals": {
|
||||
"angular": false,
|
||||
"$": false,
|
||||
"module": false,
|
||||
"require": false
|
||||
}
|
||||
}
|
||||
19
rus/admin/_V4/_lib/CodeSeven-toastr/.travis.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- "0.10"
|
||||
|
||||
install:
|
||||
- npm install -g gulp karma-cli
|
||||
- npm install
|
||||
|
||||
script:
|
||||
- npm test
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- node_modules
|
||||
|
||||
branches:
|
||||
only:
|
||||
- develop
|
||||
- master
|
||||
138
rus/admin/_V4/_lib/CodeSeven-toastr/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
# 2.1.2 (2015-08-06)
|
||||
|
||||
## New Features
|
||||
- Added HTML escaping (use toastr.options.escapeHTML)
|
||||
- Added more options for overriding animations, specifically to closing a toast
|
||||
- Events are now passed into the onClick handler of the toast
|
||||
|
||||
## Bug Fixes
|
||||
- Resolved issue with centered toasts that would override top and bottom margins
|
||||
|
||||
## Dev Ops
|
||||
- Removed `module` and `require` from the `.jshintrc` file
|
||||
- Cleaned up the readme
|
||||
- Builds moved to the `builds` folder
|
||||
- Made href calls relative to the transport in the demo
|
||||
- CSS is now built by the included LESS file as part of a `gulp` call
|
||||
- Removed un-used deps
|
||||
|
||||
# 2.1.1 (2015-02-19)
|
||||
|
||||
## New Features
|
||||
- Support for explicitly clearing a toast [jstawski](https://github.com/jstawski) | [PR 226](https://github.com/CodeSeven/toastr/pull/226)
|
||||
|
||||
## Dev Ops
|
||||
- Refactor to use gulp
|
||||
|
||||
# 2.1.0 (2014-10-15)
|
||||
|
||||
## New Features
|
||||
- Prevent duplicate sequential toasts [SBero](https://github.com/sbero) | [aa083d8](https://github.com/CodeSeven/toastr/commit/ccb377b6015d557dbb987df74750b97b3aa083d8)
|
||||
- Add support for top-center and bottom-center toasts [showwin](https://github.com/showwin) | [86a4798](https://github.com/CodeSeven/toastr/commit/86a4798e76c7d8516521780b7bd085d6bb4c371b)
|
||||
- Add feature allowing progress bars to be shown for toasts [TravisTX](https://github.com/TravisTX) | [PR 189](https://github.com/CodeSeven/toastr/pull/189)
|
||||
|
||||
`toastr.options.preventDuplicates = true;`
|
||||
|
||||
`toastr.options.progressBar = true;`
|
||||
|
||||
## Bug Fixes
|
||||
- None
|
||||
|
||||
## Breaking Changes
|
||||
- None
|
||||
|
||||
## Dev Ops
|
||||
|
||||
- Add karma test runner
|
||||
- Added Travis CI hooks
|
||||
|
||||
# 2.0.3 (2014-05-17)
|
||||
|
||||
## New Features
|
||||
- None
|
||||
|
||||
## Bug Fixes
|
||||
- positionClass changes were not being honored due to 2.0.2 release changes. Refactored getContainer to only get the container, unless a 2nd boolean parameter is passed in in which case it will also create it if the container did not exist [871c2a6](https://github.com/CodeSeven/toastr/commit/871c2a6e438bb6b996cfb80286720604a4cf00fd)
|
||||
|
||||
## Breaking Changes
|
||||
- None
|
||||
|
||||
# 2.0.2 (2014-04-29)
|
||||
|
||||
## New Features
|
||||
- Added simple ARIA reader support ([45c6362](https://github.com/CodeSeven/toastr/commit/45c63628476f6b085a6579dc681f4fe61ba5820c))
|
||||
- Added SASS support (direct port of CSS for now) ([b4c8b34](https://github.com/CodeSeven/toastr/commit/b4c8b3460efb8aa51c730dd38c35ef6b025db2cc))
|
||||
|
||||
## Bug Fixes
|
||||
- Added sourcemap for the min file ([1da4bd1](https://github.com/CodeSeven/toastr/commit/1da4bd1dad21bcfc7fcfe73da1abb185cf2c3f9f))
|
||||
- IE 8 does not support stopPropagation on the event ([6989573](https://github.com/CodeSeven/toastr/commit/698957325a8e7bf63990f71ee409b911d69bc8ec))
|
||||
- Media query width fixes ([ea2f5db](https://github.com/CodeSeven/toastr/commit/ea2f5db6e5314dcfe48eb34176583849c177c00e))
|
||||
- Fix of onHidden firing twice when clicking on it then moving mouse out of toast ([ad613b9](https://github.com/CodeSeven/toastr/commit/ad613b9f18feeec630497590b85ca75c52141ea3) , [#105](https://github.com/CodeSeven/toastr/issues/105))
|
||||
- Clear all toasts followed by a new toast now displays correctly ([3126a53](https://github.com/CodeSeven/toastr/commit/3126a533e0ab12ec3ff374e155a37fd38bd23bb6) , [#149](https://github.com/CodeSeven/toastr/issues/149) , [#118](https://github.com/CodeSeven/toastr/issues/118))
|
||||
|
||||
## Breaking Changes
|
||||
- None
|
||||
|
||||
# 2.0.1 (2013-09-01)
|
||||
|
||||
## New Features
|
||||
|
||||
### Close Button
|
||||
Optionally enable a close button
|
||||
|
||||
toastr.options.closeButton = true;
|
||||
|
||||
Optionally override the close button's HTML.
|
||||
|
||||
toastr.options.closeHtml = '<button><i class="icon-off"></i></button>';
|
||||
|
||||
You can also override the CSS/LESS for `#toast-container .toast-close-button`
|
||||
|
||||
### Callbacks
|
||||
// Define a callback for when the toast is shown/hidden
|
||||
toastr.options.onShown = function() { console.log('hello'); }
|
||||
toastr.options.onHidden = function() { console.log('goodbye'); }
|
||||
|
||||
### Animation Options
|
||||
Toastr will supply default animations, so you do not have to provide any of these settings. However you have the option to override the animations if you like.
|
||||
|
||||
####Easings
|
||||
Optionally override the animation easing to show or hide the toasts. Default is swing. swing and linear are built into jQuery.
|
||||
|
||||
toastr.options.showEasing = 'swing';
|
||||
toastr.options.hideEasing = 'linear';
|
||||
|
||||
Using the jQuery Easing plugin (http://www.gsgd.co.uk/sandbox/jquery/easing/)
|
||||
|
||||
toastr.options.showEasing = 'easeOutBounce';
|
||||
toastr.options.hideEasing = 'easeInBack';
|
||||
|
||||
####Animation Method
|
||||
Use the jQuery show/hide method of your choice. These default to fadeIn/fadeOut. The methods fadeIn/fadeOut, slideDown/slideUp, and show/hide are built into jQuery.
|
||||
|
||||
toastr.options.showMethod = 'slideDown';
|
||||
toastr.options.hideMethod = 'slideUp';
|
||||
|
||||
|
||||
###Timeouts
|
||||
Control how toastr interacts with users by setting timeouts appropriately.
|
||||
|
||||
toastr.options.timeout = 30; // How long the toast will display without user interaction
|
||||
toastr.options.extendedTimeOut = 60; // How long the toast will display after a user hovers over it
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
###Animation Changes
|
||||
The following animations options have been deprecated and should be replaced:
|
||||
|
||||
- Replace `options.fadeIn` with `options.showDuration`
|
||||
- Replace `options.onFadeIn` with `options.onShown`
|
||||
- Replace `options.fadeOut` with `options.hideDuration`
|
||||
- Replace `options.onFadeOut` with `options.onHidden`
|
||||
|
||||
# Version 1.3.1
|
||||
|
||||
## Display Sequence
|
||||
Show newest toast at bottom (top is default)
|
||||
|
||||
toastr.options.newestOnTop = false;
|
||||
220
rus/admin/_V4/_lib/CodeSeven-toastr/README.md
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
# toastr
|
||||
**toastr** is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.
|
||||
|
||||
[](https://travis-ci.org/CodeSeven/toastr)
|
||||
|
||||
## Current Version
|
||||
2.1.2
|
||||
|
||||
## Demo
|
||||
- Demo can be found at http://codeseven.github.io/toastr/demo.html
|
||||
- [Demo using FontAwesome icons with toastr](http://plnkr.co/edit/6W9URNyyp2ItO4aUWzBB?p=preview)
|
||||
|
||||
## [CDNjs](https://cdnjs.com/libraries/toastr.js)
|
||||
Toastr is hosted at CDN JS
|
||||
|
||||
#### Debug
|
||||
- [//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.js](//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.js)
|
||||
- [//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.css](//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.css)
|
||||
|
||||
#### Minified
|
||||
- [//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js](//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js)
|
||||
- [//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css](//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css)
|
||||
|
||||
## Install
|
||||
|
||||
#### [NuGet Gallery](http://nuget.org/packages/toastr)
|
||||
```
|
||||
Install-Package toastr
|
||||
```
|
||||
|
||||
#### [Bower](http://bower.io/search/?q=toastr)
|
||||
```
|
||||
bower install toastr
|
||||
```
|
||||
|
||||
#### [npm](https://www.npmjs.com/package/toastr)
|
||||
```
|
||||
npm install --save toastr
|
||||
```
|
||||
|
||||
## Wiki and Change Log
|
||||
[Wiki including Change Log](https://github.com/CodeSeven/toastr/wiki)
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
####Animation Changes
|
||||
The following animations options have been deprecated and should be replaced:
|
||||
|
||||
- Replace `options.fadeIn` with `options.showDuration`
|
||||
- Replace `options.onFadeIn` with `options.onShown`
|
||||
- Replace `options.fadeOut` with `options.hideDuration`
|
||||
- Replace `options.onFadeOut` with `options.onHidden`
|
||||
|
||||
## Quick Start
|
||||
|
||||
### 3 Easy Steps
|
||||
For other API calls, see the [demo](http://codeseven.github.io/toastr/demo.html).
|
||||
|
||||
1. Link to toastr.css `<link href="toastr.css" rel="stylesheet"/>`
|
||||
|
||||
2. Link to toastr.js `<script src="toastr.js"></script>`
|
||||
|
||||
3. use toastr to display a toast for info, success, warning or error
|
||||
```js
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
```
|
||||
|
||||
### Other Options
|
||||
```js
|
||||
// Display a warning toast, with no title
|
||||
toastr.warning('My name is Inigo Montoya. You killed my father, prepare to die!')
|
||||
|
||||
// Display a success toast, with a title
|
||||
toastr.success('Have fun storming the castle!', 'Miracle Max Says')
|
||||
|
||||
// Display an error toast, with a title
|
||||
toastr.error('I do not think that word means what you think it means.', 'Inconceivable!')
|
||||
|
||||
// Immediately remove current toasts without using animation
|
||||
toastr.remove()
|
||||
|
||||
// Remove current toasts using animation
|
||||
toastr.clear()
|
||||
|
||||
// Override global options
|
||||
toastr.success('We do have the Kapua suite available.', 'Turtle Bay Resort', {timeOut: 5000})
|
||||
```
|
||||
|
||||
### Escape HTML characters
|
||||
In case you want to escape HTML charaters in title and message
|
||||
|
||||
toastr.options.escapeHtml = true;
|
||||
|
||||
### Close Button
|
||||
Optionally enable a close button
|
||||
```js
|
||||
toastr.options.closeButton = true;
|
||||
````
|
||||
|
||||
Optionally override the close button's HTML.
|
||||
|
||||
```js
|
||||
toastr.options.closeHtml = '<button><i class="icon-off"></i></button>';
|
||||
```
|
||||
|
||||
You can also override the CSS/LESS for `#toast-container .toast-close-button`
|
||||
|
||||
Optionally override the hide animation when the close button is clicked (falls back to hide configuration).
|
||||
```js
|
||||
toastr.options.closeMethod = 'fadeOut';
|
||||
toastr.options.closeDuration = 300;
|
||||
toastr.options.closeEasing = 'swing';
|
||||
```
|
||||
|
||||
### Display Sequence
|
||||
Show newest toast at bottom (top is default)
|
||||
```js
|
||||
toastr.options.newestOnTop = false;
|
||||
```
|
||||
|
||||
### Callbacks
|
||||
```js
|
||||
// Define a callback for when the toast is shown/hidden
|
||||
toastr.options.onShown = function() { console.log('hello'); }
|
||||
toastr.options.onHidden = function() { console.log('goodbye'); }
|
||||
```
|
||||
|
||||
### Animation Options
|
||||
Toastr will supply default animations, so you do not have to provide any of these settings. However you have the option to override the animations if you like.
|
||||
|
||||
####Easings
|
||||
Optionally override the animation easing to show or hide the toasts. Default is swing. swing and linear are built into jQuery.
|
||||
```js
|
||||
toastr.options.showEasing = 'swing';
|
||||
toastr.options.hideEasing = 'linear';
|
||||
toastr.options.closeEasing = 'linear';
|
||||
```
|
||||
|
||||
Using the jQuery Easing plugin (http://www.gsgd.co.uk/sandbox/jquery/easing/)
|
||||
```js
|
||||
toastr.options.showEasing = 'easeOutBounce';
|
||||
toastr.options.hideEasing = 'easeInBack';
|
||||
toastr.options.closeEasing = 'easeInBack';
|
||||
```
|
||||
|
||||
####Animation Method
|
||||
Use the jQuery show/hide method of your choice. These default to fadeIn/fadeOut. The methods fadeIn/fadeOut, slideDown/slideUp, and show/hide are built into jQuery.
|
||||
```js
|
||||
toastr.options.showMethod = 'slideDown';
|
||||
toastr.options.hideMethod = 'slideUp';
|
||||
toastr.options.closeMethod = 'slideUp';
|
||||
```
|
||||
|
||||
###Prevent Duplicates
|
||||
Rather than having identical toasts stack, set the preventDuplicates property to true. Duplicates are matched to the previous toast based on their message content.
|
||||
```js
|
||||
toastr.options.preventDuplicates = true;
|
||||
```
|
||||
|
||||
###Timeouts
|
||||
Control how toastr interacts with users by setting timeouts appropriately. Timeouts can be disabled by setting them to 0.
|
||||
```js
|
||||
toastr.options.timeOut = 30; // How long the toast will display without user interaction
|
||||
toastr.options.extendedTimeOut = 60; // How long the toast will display after a user hovers over it
|
||||
```
|
||||
|
||||
|
||||
###Progress Bar
|
||||
Visually indicate how long before a toast expires.
|
||||
```js
|
||||
toastr.options.progressBar = true;
|
||||
```
|
||||
|
||||
## Building Toastr
|
||||
|
||||
To build the minified and css versions of Toastr you will need [node](http://nodejs.org) installed. (Use Homebrew or Chocolatey.)
|
||||
|
||||
```
|
||||
npm install -g gulp karma-cli
|
||||
npm install
|
||||
```
|
||||
|
||||
At this point the dependencies have been installed and you can build Toastr
|
||||
|
||||
- Run the analytics `gulp analyze`
|
||||
- Run the test `gulp test`
|
||||
- Run the build `gulp`
|
||||
|
||||
## Contributing
|
||||
|
||||
For a pull request to be considered it must resolve a bug, or add a feature which is beneficial to a large audience.
|
||||
|
||||
Pull requests must pass existing unit tests, CI processes, and add additional tests to indicate successful operation of a new feature, or the resolution of an identified bug.
|
||||
|
||||
Requests must be made against the `develop` branch. Pull requests submitted against the `master` branch will not be considered.
|
||||
|
||||
All pull requests are subject to approval by the repository owners, who have sole discretion over acceptance or denial.
|
||||
|
||||
## Authors
|
||||
**John Papa**
|
||||
|
||||
+ [http://twitter.com/John_Papa](http://twitter.com/John_Papa)
|
||||
|
||||
**Tim Ferrell**
|
||||
|
||||
+ [http://twitter.com/ferrell_tim](http://twitter.com/ferrell_tim)
|
||||
|
||||
**Hans Fjällemark**
|
||||
|
||||
+ [http://twitter.com/hfjallemark](http://twitter.com/hfjallemark)
|
||||
|
||||
## Credits
|
||||
Inspired by https://github.com/Srirangan/notifer.js/.
|
||||
|
||||
## Copyright
|
||||
Copyright © 2012-2015
|
||||
|
||||
## License
|
||||
toastr is under MIT license - http://www.opensource.org/licenses/mit-license.php
|
||||
1
rus/admin/_V4/_lib/CodeSeven-toastr/_notes/dwsync.xml
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
<dwsync>
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/tf15/" local="3587029164" remote="3587029164" Dst="-1" />
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/tex/" local="3587108007" remote="3587108007" Dst="-1" />
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/ravinale/" local="3592471577" remote="3592471577" Dst="-1" />
</dwsync>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
<dwsync>
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/gr4/" local="3540549570" remote="3540549570" Dst="-1" />
<file name="toastr.js.map" server="SSD-500/Users/acolzi/Documents/webapps/gr4/" local="3522543230" remote="3522543230" Dst="-1" />
<file name="toastr.min.css" server="SSD-500/Users/acolzi/Documents/webapps/gr4/" local="3522543230" remote="3522543230" Dst="-1" />
<file name="toastr.min.js" server="SSD-500/Users/acolzi/Documents/webapps/gr4/" local="3522543230" remote="3522543230" Dst="-1" />
</dwsync>
|
||||
200
rus/admin/_V4/_lib/CodeSeven-toastr/build/toastr.css
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-center {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-center {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
pointer-events: none;
|
||||
/*overrides*/
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-center > div,
|
||||
#toast-container.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2f96b4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: #000000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
1
rus/admin/_V4/_lib/CodeSeven-toastr/build/toastr.js.map
Normal file
1
rus/admin/_V4/_lib/CodeSeven-toastr/build/toastr.min.css
vendored
Normal file
2
rus/admin/_V4/_lib/CodeSeven-toastr/build/toastr.min.js
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=u(t)),v)}function i(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function o(e){w=e}function s(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var i=m();v||n(i),l(e,i,t)||d(i)}function c(t){var i=m();return v||n(i),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function d(t){for(var n=v.children(),i=n.length-1;i>=0;i--)l(e(n[i]),t)}function l(t,n,i){var o=i&&i.force?i.force:!1;return t&&(o||0===e(":focus",t).length)?(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0):!1}function u(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass).attr("aria-live","polite").attr("role","alert"),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">×</button>',newestOnTop:!0,preventDuplicates:!1,progressBar:!1}}function f(e){w&&w(e)}function g(t){function i(e){return null==e&&(e=""),new String(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function o(){r(),d(),l(),u(),p(),c()}function s(){y.hover(b,O),!x.onclick&&x.tapToDismiss&&y.click(w),x.closeButton&&k&&k.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),w(!0)}),x.onclick&&y.click(function(e){x.onclick(e),w()})}function a(){y.hide(),y[x.showMethod]({duration:x.showDuration,easing:x.showEasing,complete:x.onShown}),x.timeOut>0&&(H=setTimeout(w,x.timeOut),q.maxHideTime=parseFloat(x.timeOut),q.hideEta=(new Date).getTime()+q.maxHideTime,x.progressBar&&(q.intervalId=setInterval(D,10)))}function r(){t.iconClass&&y.addClass(x.toastClass).addClass(E)}function c(){x.newestOnTop?v.prepend(y):v.append(y)}function d(){t.title&&(I.append(x.escapeHtml?i(t.title):t.title).addClass(x.titleClass),y.append(I))}function l(){t.message&&(M.append(x.escapeHtml?i(t.message):t.message).addClass(x.messageClass),y.append(M))}function u(){x.closeButton&&(k.addClass("toast-close-button").attr("role","button"),y.prepend(k))}function p(){x.progressBar&&(B.addClass("toast-progress"),y.prepend(B))}function g(e,t){if(e.preventDuplicates){if(t.message===C)return!0;C=t.message}return!1}function w(t){var n=t&&x.closeMethod!==!1?x.closeMethod:x.hideMethod,i=t&&x.closeDuration!==!1?x.closeDuration:x.hideDuration,o=t&&x.closeEasing!==!1?x.closeEasing:x.hideEasing;return!e(":focus",y).length||t?(clearTimeout(q.intervalId),y[n]({duration:i,easing:o,complete:function(){h(y),x.onHidden&&"hidden"!==j.state&&x.onHidden(),j.state="hidden",j.endTime=new Date,f(j)}})):void 0}function O(){(x.timeOut>0||x.extendedTimeOut>0)&&(H=setTimeout(w,x.extendedTimeOut),q.maxHideTime=parseFloat(x.extendedTimeOut),q.hideEta=(new Date).getTime()+q.maxHideTime)}function b(){clearTimeout(H),q.hideEta=0,y.stop(!0,!0)[x.showMethod]({duration:x.showDuration,easing:x.showEasing})}function D(){var e=(q.hideEta-(new Date).getTime())/q.maxHideTime*100;B.width(e+"%")}var x=m(),E=t.iconClass||x.iconClass;if("undefined"!=typeof t.optionsOverride&&(x=e.extend(x,t.optionsOverride),E=t.optionsOverride.iconClass||E),!g(x,t)){T++,v=n(x,!0);var H=null,y=e("<div/>"),I=e("<div/>"),M=e("<div/>"),B=e("<div/>"),k=e(x.closeHtml),q={intervalId:null,hideEta:null,maxHideTime:null},j={toastId:T,state:"visible",startTime:new Date,options:x,map:t};return o(),a(),s(),f(j),x.debug&&console&&console.log(j),y}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),C=void 0))}var v,w,C,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:i,options:{},subscribe:o,success:s,version:"2.1.2",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
|
||||
//# sourceMappingURL=toastr.js.map
|
||||
325
rus/admin/_V4/_lib/CodeSeven-toastr/demo.html
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>toastr examples</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
|
||||
<link href="build/toastr.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
.row {
|
||||
margin-left: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="container">
|
||||
<section class="row">
|
||||
<h1>toastr</h1>
|
||||
|
||||
<div class="well row">
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="control-label" for="title">Title</label>
|
||||
<input id="title" type="text" class="input-large" placeholder="Enter a title ..." />
|
||||
<label class="control-label" for="message">Message</label>
|
||||
<textarea class="input-large" id="message" rows="3" placeholder="Enter a message ..."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="closeButton">
|
||||
<input id="closeButton" type="checkbox" value="checked" class="input-mini" />Close Button
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="addBehaviorOnToastClick">
|
||||
<input id="addBehaviorOnToastClick" type="checkbox" value="checked" class="input-mini" />Add behavior on toast click
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="debugInfo">
|
||||
<input id="debugInfo" type="checkbox" value="checked" class="input-mini" />Debug
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="progressBar">
|
||||
<input id="progressBar" type="checkbox" value="checked" class="input-mini" />Progress Bar
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="preventDuplicates">
|
||||
<input id="preventDuplicates" type="checkbox" value="checked" class="input-mini" />Prevent Duplicates
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="addClear">
|
||||
<input id="addClear" type="checkbox" value="checked" class="input-mini" />Add button to force clearing a toast, ignoring focus
|
||||
</label>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="newestOnTop">
|
||||
<input id="newestOnTop" type="checkbox" value="checked" class="input-mini" />Newest on top
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span2">
|
||||
<div class="control-group" id="toastTypeGroup">
|
||||
<div class="controls">
|
||||
<label>Toast Type</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="toasts" value="success" checked />Success
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="toasts" value="info" />Info
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="toasts" value="warning" />Warning
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="toasts" value="error" />Error
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" id="positionGroup">
|
||||
<div class="controls">
|
||||
<label>Position</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-top-right" checked />Top Right
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-bottom-right" />Bottom Right
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-bottom-left" />Bottom Left
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-top-left" />Top Left
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-top-full-width" />Top Full Width
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-bottom-full-width" />Bottom Full Width
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-top-center" />Top Center
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="positions" value="toast-bottom-center" />Bottom Center
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span2">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="control-label" for="showEasing">Show Easing</label>
|
||||
<input id="showEasing" type="text" placeholder="swing, linear" class="input-mini" value="swing" />
|
||||
|
||||
<label class="control-label" for="hideEasing">Hide Easing</label>
|
||||
<input id="hideEasing" type="text" placeholder="swing, linear" class="input-mini" value="linear" />
|
||||
|
||||
<label class="control-label" for="showMethod">Show Method</label>
|
||||
<input id="showMethod" type="text" placeholder="show, fadeIn, slideDown" class="input-mini" value="fadeIn" />
|
||||
|
||||
<label class="control-label" for="hideMethod">Hide Method</label>
|
||||
<input id="hideMethod" type="text" placeholder="hide, fadeOut, slideUp" class="input-mini" value="fadeOut" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span3">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="control-label" for="showDuration">Show Duration</label>
|
||||
<input id="showDuration" type="text" placeholder="ms" class="input-mini" value="300" />
|
||||
|
||||
<label class="control-label" for="hideDuration">Hide Duration</label>
|
||||
<input id="hideDuration" type="text" placeholder="ms" class="input-mini" value="1000" />
|
||||
|
||||
<label class="control-label" for="timeOut">Time out</label>
|
||||
<input id="timeOut" type="text" placeholder="ms" class="input-mini" value="5000" />
|
||||
|
||||
<label class="control-label" for="extendedTimeOut">Extended time out</label>
|
||||
<input id="extendedTimeOut" type="text" placeholder="ms" class="input-mini" value="1000" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<button type="button" class="btn btn-primary" id="showtoast">Show Toast</button>
|
||||
<button type="button" class="btn btn-danger" id="cleartoasts">Clear Toasts</button>
|
||||
<button type="button" class="btn btn-danger" id="clearlasttoast">Clear Last Toast</button>
|
||||
</div>
|
||||
|
||||
<div class="row" style='margin-top: 25px;'>
|
||||
<pre id='toastrOptions'></pre>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="row">
|
||||
<h2>Links</h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://nuget.org/packages/toastr">NuGet</a></li>
|
||||
<li><a href="https://github.com/CodeSeven/toastr">GitHub</a></li>
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script src="toastr.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var i = -1;
|
||||
var toastCount = 0;
|
||||
var $toastlast;
|
||||
|
||||
var getMessage = function () {
|
||||
var msgs = ['My name is Inigo Montoya. You killed my father. Prepare to die!',
|
||||
'<div><input class="input-small" value="textbox"/> <a href="http://johnpapa.net" target="_blank">This is a hyperlink</a></div><div><button type="button" id="okBtn" class="btn btn-primary">Close me</button><button type="button" id="surpriseBtn" class="btn" style="margin: 0 8px 0 8px">Surprise me</button></div>',
|
||||
'Are you the six fingered man?',
|
||||
'Inconceivable!',
|
||||
'I do not think that means what you think it means.',
|
||||
'Have fun storming the castle!'
|
||||
];
|
||||
i++;
|
||||
if (i === msgs.length) {
|
||||
i = 0;
|
||||
}
|
||||
|
||||
return msgs[i];
|
||||
};
|
||||
|
||||
var getMessageWithClearButton = function (msg) {
|
||||
msg = msg ? msg : 'Clear itself?';
|
||||
msg += '<br /><br /><button type="button" class="btn clear">Yes</button>';
|
||||
return msg;
|
||||
};
|
||||
|
||||
$('#showtoast').click(function () {
|
||||
var shortCutFunction = $("#toastTypeGroup input:radio:checked").val();
|
||||
var msg = $('#message').val();
|
||||
var title = $('#title').val() || '';
|
||||
var $showDuration = $('#showDuration');
|
||||
var $hideDuration = $('#hideDuration');
|
||||
var $timeOut = $('#timeOut');
|
||||
var $extendedTimeOut = $('#extendedTimeOut');
|
||||
var $showEasing = $('#showEasing');
|
||||
var $hideEasing = $('#hideEasing');
|
||||
var $showMethod = $('#showMethod');
|
||||
var $hideMethod = $('#hideMethod');
|
||||
var toastIndex = toastCount++;
|
||||
var addClear = $('#addClear').prop('checked');
|
||||
|
||||
toastr.options = {
|
||||
closeButton: $('#closeButton').prop('checked'),
|
||||
debug: $('#debugInfo').prop('checked'),
|
||||
newestOnTop: $('#newestOnTop').prop('checked'),
|
||||
progressBar: $('#progressBar').prop('checked'),
|
||||
positionClass: $('#positionGroup input:radio:checked').val() || 'toast-top-right',
|
||||
preventDuplicates: $('#preventDuplicates').prop('checked'),
|
||||
onclick: null
|
||||
};
|
||||
|
||||
if ($('#addBehaviorOnToastClick').prop('checked')) {
|
||||
toastr.options.onclick = function () {
|
||||
alert('You can perform some custom action after a toast goes away');
|
||||
};
|
||||
}
|
||||
|
||||
if ($showDuration.val().length) {
|
||||
toastr.options.showDuration = $showDuration.val();
|
||||
}
|
||||
|
||||
if ($hideDuration.val().length) {
|
||||
toastr.options.hideDuration = $hideDuration.val();
|
||||
}
|
||||
|
||||
if ($timeOut.val().length) {
|
||||
toastr.options.timeOut = addClear ? 0 : $timeOut.val();
|
||||
}
|
||||
|
||||
if ($extendedTimeOut.val().length) {
|
||||
toastr.options.extendedTimeOut = addClear ? 0 : $extendedTimeOut.val();
|
||||
}
|
||||
|
||||
if ($showEasing.val().length) {
|
||||
toastr.options.showEasing = $showEasing.val();
|
||||
}
|
||||
|
||||
if ($hideEasing.val().length) {
|
||||
toastr.options.hideEasing = $hideEasing.val();
|
||||
}
|
||||
|
||||
if ($showMethod.val().length) {
|
||||
toastr.options.showMethod = $showMethod.val();
|
||||
}
|
||||
|
||||
if ($hideMethod.val().length) {
|
||||
toastr.options.hideMethod = $hideMethod.val();
|
||||
}
|
||||
|
||||
if (addClear) {
|
||||
msg = getMessageWithClearButton(msg);
|
||||
toastr.options.tapToDismiss = false;
|
||||
}
|
||||
if (!msg) {
|
||||
msg = getMessage();
|
||||
}
|
||||
|
||||
$('#toastrOptions').text('Command: toastr["'
|
||||
+ shortCutFunction
|
||||
+ '"]("'
|
||||
+ msg
|
||||
+ (title ? '", "' + title : '')
|
||||
+ '")\n\ntoastr.options = '
|
||||
+ JSON.stringify(toastr.options, null, 2)
|
||||
);
|
||||
|
||||
var $toast = toastr[shortCutFunction](msg, title); // Wire up an event handler to a button in the toast, if it exists
|
||||
$toastlast = $toast;
|
||||
|
||||
if(typeof $toast === 'undefined'){
|
||||
return;
|
||||
}
|
||||
|
||||
if ($toast.find('#okBtn').length) {
|
||||
$toast.delegate('#okBtn', 'click', function () {
|
||||
alert('you clicked me. i was toast #' + toastIndex + '. goodbye!');
|
||||
$toast.remove();
|
||||
});
|
||||
}
|
||||
if ($toast.find('#surpriseBtn').length) {
|
||||
$toast.delegate('#surpriseBtn', 'click', function () {
|
||||
alert('Surprise! you clicked me. i was toast #' + toastIndex + '. You could perform an action here.');
|
||||
});
|
||||
}
|
||||
if ($toast.find('.clear').length) {
|
||||
$toast.delegate('.clear', 'click', function () {
|
||||
toastr.clear($toast, { force: true });
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function getLastToast(){
|
||||
return $toastlast;
|
||||
}
|
||||
$('#clearlasttoast').click(function () {
|
||||
toastr.clear(getLastToast());
|
||||
});
|
||||
$('#cleartoasts').click(function () {
|
||||
toastr.clear();
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
200
rus/admin/_V4/_lib/CodeSeven-toastr/gulpfile.js
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
/* jshint node:true, camelcase:false */
|
||||
var gulp = require('gulp');
|
||||
var del = require('del');
|
||||
var glob = require('glob');
|
||||
var karma = require('karma').server;
|
||||
var merge = require('merge-stream');
|
||||
var plato = require('plato');
|
||||
var plug = require('gulp-load-plugins')();
|
||||
|
||||
var paths = {
|
||||
js: './toastr.js',
|
||||
less: './toastr.less',
|
||||
report: './report',
|
||||
build: './build'
|
||||
};
|
||||
|
||||
var colors = plug.util.colors;
|
||||
var log = plug.util.log;
|
||||
|
||||
/**
|
||||
* List the available gulp tasks
|
||||
*/
|
||||
gulp.task('help', plug.taskListing);
|
||||
|
||||
/**
|
||||
* Lint the code, create coverage report, and a visualizer
|
||||
* @return {Stream}
|
||||
*/
|
||||
gulp.task('analyze', function() {
|
||||
log('Analyzing source with JSHint, JSCS, and Plato');
|
||||
|
||||
var jshint = analyzejshint([paths.js]);
|
||||
var jscs = analyzejscs([paths.js]);
|
||||
|
||||
startPlatoVisualizer();
|
||||
|
||||
return merge(jshint, jscs);
|
||||
});
|
||||
|
||||
/**
|
||||
* Minify and bundle the app's JavaScript
|
||||
* @return {Stream}
|
||||
*/
|
||||
gulp.task('js', function() {
|
||||
log('Bundling, minifying, and copying the app\'s JavaScript');
|
||||
|
||||
return gulp
|
||||
.src(paths.js)
|
||||
.pipe(plug.sourcemaps.init())
|
||||
.pipe(plug.bytediff.start())
|
||||
.pipe(plug.uglify({}))
|
||||
.pipe(plug.bytediff.stop(bytediffFormatter))
|
||||
.pipe(plug.sourcemaps.write('.'))
|
||||
.pipe(plug.rename(function(path) {
|
||||
if (path.extname === '.js') {
|
||||
path.basename += '.min';
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest(paths.build));
|
||||
});
|
||||
|
||||
/**
|
||||
* Minify and bundle the CSS
|
||||
* @return {Stream}
|
||||
*/
|
||||
gulp.task('css', function() {
|
||||
log('Bundling, minifying, and copying the app\'s CSS');
|
||||
|
||||
return gulp.src(paths.less)
|
||||
.pipe(plug.less())
|
||||
// .pipe(plug.autoprefixer('last 2 version', '> 5%'))
|
||||
.pipe(gulp.dest(paths.build))
|
||||
.pipe(plug.bytediff.start())
|
||||
.pipe(plug.minifyCss({}))
|
||||
.pipe(plug.bytediff.stop(bytediffFormatter))
|
||||
.pipe(plug.rename('toastr.min.css'))
|
||||
.pipe(gulp.dest(paths.build));
|
||||
});
|
||||
|
||||
/**
|
||||
* Build js and css
|
||||
*/
|
||||
gulp.task('default', ['js', 'css'], function() {
|
||||
log('Analyze, Build CSS and JS');
|
||||
});
|
||||
|
||||
/**
|
||||
* Remove all files from the build folder
|
||||
* One way to run clean before all tasks is to run
|
||||
* from the cmd line: gulp clean && gulp build
|
||||
* @return {Stream}
|
||||
*/
|
||||
gulp.task('clean', function(cb) {
|
||||
log('Cleaning: ' + plug.util.colors.blue(paths.report));
|
||||
log('Cleaning: ' + plug.util.colors.blue(paths.build));
|
||||
|
||||
var delPaths = [paths.build, paths.report];
|
||||
del(delPaths, cb);
|
||||
});
|
||||
|
||||
/**
|
||||
* Run specs once and exit
|
||||
* To start servers and run midway specs as well:
|
||||
* gulp test --startServers
|
||||
* @return {Stream}
|
||||
*/
|
||||
gulp.task('test', function(done) {
|
||||
startTests(true /*singleRun*/ , done);
|
||||
});
|
||||
|
||||
////////////////
|
||||
|
||||
/**
|
||||
* Execute JSHint on given source files
|
||||
* @param {Array} sources
|
||||
* @param {String} overrideRcFile
|
||||
* @return {Stream}
|
||||
*/
|
||||
function analyzejshint(sources, overrideRcFile) {
|
||||
var jshintrcFile = overrideRcFile || './.jshintrc';
|
||||
log('Running JSHint');
|
||||
return gulp
|
||||
.src(sources)
|
||||
.pipe(plug.jshint(jshintrcFile))
|
||||
.pipe(plug.jshint.reporter('jshint-stylish'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute JSCS on given source files
|
||||
* @param {Array} sources
|
||||
* @return {Stream}
|
||||
*/
|
||||
function analyzejscs(sources) {
|
||||
log('Running JSCS');
|
||||
return gulp
|
||||
.src(sources)
|
||||
.pipe(plug.jscs('./.jscsrc'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Start Plato inspector and visualizer
|
||||
*/
|
||||
function startPlatoVisualizer() {
|
||||
log('Running Plato');
|
||||
|
||||
var files = glob.sync('toastr.js');
|
||||
|
||||
var options = {
|
||||
title: 'Plato Inspections Report'
|
||||
};
|
||||
var outputDir = './report/plato';
|
||||
|
||||
plato.inspect(files, outputDir, options, platoCompleted);
|
||||
|
||||
function platoCompleted(report) {
|
||||
var overview = plato.getOverviewReport(report);
|
||||
log(overview.summary);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Start the tests using karma.
|
||||
* @param {boolean} singleRun - True means run once and end (CI), or keep running (dev)
|
||||
* @param {Function} done - Callback to fire when karma is done
|
||||
* @return {undefined}
|
||||
*/
|
||||
function startTests(singleRun, done) {
|
||||
karma.start({
|
||||
configFile: __dirname + '/karma.conf.js',
|
||||
singleRun: !!singleRun
|
||||
}, karmaCompleted);
|
||||
|
||||
////////////////
|
||||
|
||||
function karmaCompleted() {
|
||||
done();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Formatter for bytediff to display the size changes after processing
|
||||
* @param {Object} data - byte data
|
||||
* @return {String} Difference in bytes, formatted
|
||||
*/
|
||||
function bytediffFormatter(data) {
|
||||
var difference = (data.savings > 0) ? ' smaller.' : ' larger.';
|
||||
return data.fileName + ' went from ' +
|
||||
(data.startSize / 1000).toFixed(2) + ' kB to ' + (data.endSize / 1000).toFixed(2) + ' kB' +
|
||||
' and is ' + formatPercent(1 - data.percent, 2) + '%' + difference;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format a number as a percentage
|
||||
* @param {Number} num Number to format as a percent
|
||||
* @param {Number} precision Precision of the decimal
|
||||
* @return {Number} Formatted perentage
|
||||
*/
|
||||
function formatPercent(num, precision) {
|
||||
return (num * 100).toFixed(precision);
|
||||
}
|
||||
79
rus/admin/_V4/_lib/CodeSeven-toastr/karma.conf.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
// Karma configuration
|
||||
// Generated on Thu Sep 04 2014 07:41:43 GMT-0400 (EDT)
|
||||
|
||||
module.exports = function(config) {
|
||||
config.set({
|
||||
|
||||
// base path that will be used to resolve all patterns (eg. files, exclude)
|
||||
basePath: '',
|
||||
|
||||
|
||||
// frameworks to use
|
||||
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
|
||||
frameworks: ['qunit'],
|
||||
|
||||
// plugins: ['karma-qunit', 'karma-coverage', 'phantomjs', 'karma-phantomjs-launcher'],
|
||||
|
||||
|
||||
// list of files / patterns to load in the browser
|
||||
files: [
|
||||
// 'http://code.jquery.com/jquery.js',
|
||||
'node_modules/jquery/dist/jquery.min.js',
|
||||
'build/toastr.css',
|
||||
'toastr.js',
|
||||
'node_modules/qunitjs/qunit/qunit.js',
|
||||
'tests/unit/qunit-helper.js',
|
||||
//'tests/unit/x.js'
|
||||
'tests/unit/toastr-tests.js'
|
||||
],
|
||||
|
||||
|
||||
// list of files to exclude
|
||||
exclude: [
|
||||
],
|
||||
|
||||
|
||||
// preprocess matching files before serving them to the browser
|
||||
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
|
||||
preprocessors: {
|
||||
'toastr.js': 'coverage'
|
||||
},
|
||||
|
||||
|
||||
// test results reporter to use
|
||||
// possible values: 'dots', 'progress'
|
||||
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
||||
reporters: ['progress', 'coverage'],
|
||||
|
||||
coverageReporter: {
|
||||
type: 'lcov',
|
||||
dir: 'tests/coverage'
|
||||
},
|
||||
|
||||
// web server port
|
||||
port: 9876,
|
||||
|
||||
|
||||
// enable / disable colors in the output (reporters and logs)
|
||||
colors: true,
|
||||
|
||||
|
||||
// level of logging
|
||||
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
|
||||
logLevel: config.LOG_INFO,
|
||||
|
||||
|
||||
// enable / disable watching file and executing tests whenever any file changes
|
||||
autoWatch: false,
|
||||
|
||||
|
||||
// start these browsers
|
||||
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
|
||||
browsers: ['PhantomJS'],
|
||||
|
||||
|
||||
// Continuous Integration mode
|
||||
// if true, Karma captures browsers, runs the tests and exits
|
||||
singleRun: true
|
||||
});
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
<dwsync>
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/tf15/" local="3587029181" remote="3587029181" Dst="-1" />
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/tex/" local="3587108007" remote="3587108007" Dst="-1" />
<file name="toastr.css" server="SSD-500/Users/acolzi/Documents/webapps/ravinale/" local="3592471577" remote="3592471577" Dst="-1" />
</dwsync>
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
/* Generated by less 2.2.0 */
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
/*overrides*/
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2f96b4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
// Mix-ins
|
||||
.borderRadius(@radius) {
|
||||
-moz-border-radius: @radius;
|
||||
-webkit-border-radius: @radius;
|
||||
border-radius: @radius;
|
||||
}
|
||||
|
||||
.boxShadow(@boxShadow) {
|
||||
-moz-box-shadow: @boxShadow;
|
||||
-webkit-box-shadow: @boxShadow;
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
|
||||
.opacity(@opacity) {
|
||||
@opacityPercent: @opacity * 100;
|
||||
opacity: @opacity;
|
||||
-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(Opacity=@{opacityPercent})";
|
||||
filter: ~"alpha(opacity=@{opacityPercent})";
|
||||
}
|
||||
|
||||
.wordWrap(@wordWrap: break-word) {
|
||||
-ms-word-wrap: @wordWrap;
|
||||
word-wrap: @wordWrap;
|
||||
}
|
||||
|
||||
// Variables
|
||||
@black: #000000;
|
||||
@grey: #999999;
|
||||
@light-grey: #CCCCCC;
|
||||
@white: #FFFFFF;
|
||||
@near-black: #030303;
|
||||
@green: #51A351;
|
||||
@red: #BD362F;
|
||||
@blue: #2F96B4;
|
||||
@orange: #F89406;
|
||||
|
||||
// Styles
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.toast-message {
|
||||
.wordWrap();
|
||||
|
||||
a,
|
||||
label {
|
||||
color: @white;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: @light-grey;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: @white;
|
||||
-webkit-text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
.opacity(0.8);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
.opacity(0.4);
|
||||
}
|
||||
}
|
||||
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
|
||||
* {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
> div {
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
.borderRadius(3px 3px 3px 3px);
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
.boxShadow(0 0 12px @grey);
|
||||
color: @white;
|
||||
.opacity(0.8);
|
||||
}
|
||||
|
||||
> :hover {
|
||||
.boxShadow(0 0 12px @black);
|
||||
.opacity(1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
> .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
> .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
|
||||
> .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
/*overrides*/
|
||||
&.toast-top-full-width > div,
|
||||
&.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.toast {
|
||||
background-color: @near-black;
|
||||
}
|
||||
|
||||
.toast-success {
|
||||
background-color: @green;
|
||||
}
|
||||
|
||||
.toast-error {
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
.toast-info {
|
||||
background-color: @blue;
|
||||
}
|
||||
|
||||
.toast-warning {
|
||||
background-color: @orange;
|
||||
}
|
||||
|
||||
/*Responsive Design*/
|
||||
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container {
|
||||
|
||||
> div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
|
||||
& .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container {
|
||||
> div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
|
||||
& .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container {
|
||||
> div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/content/content/toastr.min.css
vendored
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
/*
|
||||
* Toastr
|
||||
* Version 2.0.1
|
||||
* Copyright 2012 John Papa and Hans Fjällemark.
|
||||
* All Rights Reserved.
|
||||
* Use, reproduction, distribution, and modification of this code is subject to the terms and
|
||||
* conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* Author: John Papa and Hans Fjällemark
|
||||
* Project: https://github.com/CodeSeven/toastr
|
||||
*/
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
/*overrides*/
|
||||
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2f96b4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 239px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 240px) and (max-width: 479px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 480px) and (max-width: 767px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,338 @@
|
|||
/*
|
||||
* Toastr
|
||||
* Copyright 2012-2014 John Papa and Hans Fjällemark.
|
||||
* All Rights Reserved.
|
||||
* Use, reproduction, distribution, and modification of this code is subject to the terms and
|
||||
* conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* Author: John Papa and Hans Fjällemark
|
||||
* ARIA Support: Greta Krafsig
|
||||
* Project: https://github.com/CodeSeven/toastr
|
||||
*/
|
||||
; (function (define) {
|
||||
define(['jquery'], function ($) {
|
||||
return (function () {
|
||||
var $container;
|
||||
var listener;
|
||||
var toastId = 0;
|
||||
var toastType = {
|
||||
error: 'error',
|
||||
info: 'info',
|
||||
success: 'success',
|
||||
warning: 'warning'
|
||||
};
|
||||
|
||||
var toastr = {
|
||||
clear: clear,
|
||||
remove: remove,
|
||||
error: error,
|
||||
getContainer: getContainer,
|
||||
info: info,
|
||||
options: {},
|
||||
subscribe: subscribe,
|
||||
success: success,
|
||||
version: '2.0.3',
|
||||
warning: warning
|
||||
};
|
||||
|
||||
return toastr;
|
||||
|
||||
//#region Accessible Methods
|
||||
function error(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.error,
|
||||
iconClass: getOptions().iconClasses.error,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function getContainer(options, create) {
|
||||
if (!options) { options = getOptions(); }
|
||||
$container = $('#' + options.containerId);
|
||||
if ($container.length) {
|
||||
return $container;
|
||||
}
|
||||
if(create) {
|
||||
$container = createContainer(options);
|
||||
}
|
||||
return $container;
|
||||
}
|
||||
|
||||
function info(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.info,
|
||||
iconClass: getOptions().iconClasses.info,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function subscribe(callback) {
|
||||
listener = callback;
|
||||
}
|
||||
|
||||
function success(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.success,
|
||||
iconClass: getOptions().iconClasses.success,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function warning(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.warning,
|
||||
iconClass: getOptions().iconClasses.warning,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function clear($toastElement) {
|
||||
var options = getOptions();
|
||||
if (!$container) { getContainer(options); }
|
||||
if (!clearToast($toastElement, options)) {
|
||||
clearContainer(options);
|
||||
}
|
||||
}
|
||||
|
||||
function remove($toastElement) {
|
||||
var options = getOptions();
|
||||
if (!$container) { getContainer(options); }
|
||||
if ($toastElement && $(':focus', $toastElement).length === 0) {
|
||||
removeToast($toastElement);
|
||||
return;
|
||||
}
|
||||
if ($container.children().length) {
|
||||
$container.remove();
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region Internal Methods
|
||||
|
||||
function clearContainer(options){
|
||||
var toastsToClear = $container.children();
|
||||
for (var i = toastsToClear.length - 1; i >= 0; i--) {
|
||||
clearToast($(toastsToClear[i]), options);
|
||||
};
|
||||
}
|
||||
|
||||
function clearToast($toastElement, options){
|
||||
if ($toastElement && $(':focus', $toastElement).length === 0) {
|
||||
$toastElement[options.hideMethod]({
|
||||
duration: options.hideDuration,
|
||||
easing: options.hideEasing,
|
||||
complete: function () { removeToast($toastElement); }
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function createContainer(options) {
|
||||
$container = $('<div/>')
|
||||
.attr('id', options.containerId)
|
||||
.addClass(options.positionClass)
|
||||
.attr('aria-live', 'polite')
|
||||
.attr('role', 'alert');
|
||||
|
||||
$container.appendTo($(options.target));
|
||||
return $container;
|
||||
}
|
||||
|
||||
function getDefaults() {
|
||||
return {
|
||||
tapToDismiss: true,
|
||||
toastClass: 'toast',
|
||||
containerId: 'toast-container',
|
||||
debug: false,
|
||||
|
||||
showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery
|
||||
showDuration: 300,
|
||||
showEasing: 'swing', //swing and linear are built into jQuery
|
||||
onShown: undefined,
|
||||
hideMethod: 'fadeOut',
|
||||
hideDuration: 1000,
|
||||
hideEasing: 'swing',
|
||||
onHidden: undefined,
|
||||
|
||||
extendedTimeOut: 1000,
|
||||
iconClasses: {
|
||||
error: 'toast-error',
|
||||
info: 'toast-info',
|
||||
success: 'toast-success',
|
||||
warning: 'toast-warning'
|
||||
},
|
||||
iconClass: 'toast-info',
|
||||
positionClass: 'toast-top-right',
|
||||
timeOut: 5000, // Set timeOut and extendedTimeout to 0 to make it sticky
|
||||
titleClass: 'toast-title',
|
||||
messageClass: 'toast-message',
|
||||
target: 'body',
|
||||
closeHtml: '<button>×</button>',
|
||||
newestOnTop: true
|
||||
};
|
||||
}
|
||||
|
||||
function publish(args) {
|
||||
if (!listener) { return; }
|
||||
listener(args);
|
||||
}
|
||||
|
||||
function notify(map) {
|
||||
var options = getOptions(),
|
||||
iconClass = map.iconClass || options.iconClass;
|
||||
|
||||
if (typeof (map.optionsOverride) !== 'undefined') {
|
||||
options = $.extend(options, map.optionsOverride);
|
||||
iconClass = map.optionsOverride.iconClass || iconClass;
|
||||
}
|
||||
|
||||
toastId++;
|
||||
|
||||
$container = getContainer(options, true);
|
||||
var intervalId = null,
|
||||
$toastElement = $('<div/>'),
|
||||
$titleElement = $('<div/>'),
|
||||
$messageElement = $('<div/>'),
|
||||
$closeElement = $(options.closeHtml),
|
||||
response = {
|
||||
toastId: toastId,
|
||||
state: 'visible',
|
||||
startTime: new Date(),
|
||||
options: options,
|
||||
map: map
|
||||
};
|
||||
|
||||
if (map.iconClass) {
|
||||
$toastElement.addClass(options.toastClass).addClass(iconClass);
|
||||
}
|
||||
|
||||
if (map.title) {
|
||||
$titleElement.append(map.title).addClass(options.titleClass);
|
||||
$toastElement.append($titleElement);
|
||||
}
|
||||
|
||||
if (map.message) {
|
||||
$messageElement.append(map.message).addClass(options.messageClass);
|
||||
$toastElement.append($messageElement);
|
||||
}
|
||||
|
||||
if (options.closeButton) {
|
||||
$closeElement.addClass('toast-close-button').attr("role", "button");
|
||||
$toastElement.prepend($closeElement);
|
||||
}
|
||||
|
||||
$toastElement.hide();
|
||||
if (options.newestOnTop) {
|
||||
$container.prepend($toastElement);
|
||||
} else {
|
||||
$container.append($toastElement);
|
||||
}
|
||||
|
||||
|
||||
$toastElement[options.showMethod](
|
||||
{ duration: options.showDuration, easing: options.showEasing, complete: options.onShown }
|
||||
);
|
||||
|
||||
if (options.timeOut > 0) {
|
||||
intervalId = setTimeout(hideToast, options.timeOut);
|
||||
}
|
||||
|
||||
$toastElement.hover(stickAround, delayedHideToast);
|
||||
if (!options.onclick && options.tapToDismiss) {
|
||||
$toastElement.click(hideToast);
|
||||
}
|
||||
|
||||
if (options.closeButton && $closeElement) {
|
||||
$closeElement.click(function (event) {
|
||||
if( event.stopPropagation ) {
|
||||
event.stopPropagation();
|
||||
} else if( event.cancelBubble !== undefined && event.cancelBubble !== true ) {
|
||||
event.cancelBubble = true;
|
||||
}
|
||||
hideToast(true);
|
||||
});
|
||||
}
|
||||
|
||||
if (options.onclick) {
|
||||
$toastElement.click(function () {
|
||||
options.onclick();
|
||||
hideToast();
|
||||
});
|
||||
}
|
||||
|
||||
publish(response);
|
||||
|
||||
if (options.debug && console) {
|
||||
console.log(response);
|
||||
}
|
||||
|
||||
return $toastElement;
|
||||
|
||||
function hideToast(override) {
|
||||
if ($(':focus', $toastElement).length && !override) {
|
||||
return;
|
||||
}
|
||||
return $toastElement[options.hideMethod]({
|
||||
duration: options.hideDuration,
|
||||
easing: options.hideEasing,
|
||||
complete: function () {
|
||||
removeToast($toastElement);
|
||||
if (options.onHidden && response.state !== 'hidden') {
|
||||
options.onHidden();
|
||||
}
|
||||
response.state = 'hidden';
|
||||
response.endTime = new Date();
|
||||
publish(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function delayedHideToast() {
|
||||
if (options.timeOut > 0 || options.extendedTimeOut > 0) {
|
||||
intervalId = setTimeout(hideToast, options.extendedTimeOut);
|
||||
}
|
||||
}
|
||||
|
||||
function stickAround() {
|
||||
clearTimeout(intervalId);
|
||||
$toastElement.stop(true, true)[options.showMethod](
|
||||
{ duration: options.showDuration, easing: options.showEasing }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function getOptions() {
|
||||
return $.extend({}, getDefaults(), toastr.options);
|
||||
}
|
||||
|
||||
function removeToast($toastElement) {
|
||||
if (!$container) { $container = getContainer(); }
|
||||
if ($toastElement.is(':visible')) {
|
||||
return;
|
||||
}
|
||||
$toastElement.remove();
|
||||
$toastElement = null;
|
||||
if ($container.children().length === 0) {
|
||||
$container.remove();
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
|
||||
})();
|
||||
});
|
||||
}(typeof define === 'function' && define.amd ? define : function (deps, factory) {
|
||||
if (typeof module !== 'undefined' && module.exports) { //Node
|
||||
module.exports = factory(require('jquery'));
|
||||
} else {
|
||||
window['toastr'] = factory(window['jQuery']);
|
||||
}
|
||||
}));
|
||||
1
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/content/scripts/toastr.min.js
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
!function(a){a(["jquery"],function(a){return function(){function b(a,b,c){return o({type:u.error,iconClass:p().iconClasses.error,message:a,optionsOverride:c,title:b})}function c(b,c){return b||(b=p()),r=a("#"+b.containerId),r.length?r:(c&&(r=l(b)),r)}function d(a,b,c){return o({type:u.info,iconClass:p().iconClasses.info,message:a,optionsOverride:c,title:b})}function e(a){s=a}function f(a,b,c){return o({type:u.success,iconClass:p().iconClasses.success,message:a,optionsOverride:c,title:b})}function g(a,b,c){return o({type:u.warning,iconClass:p().iconClasses.warning,message:a,optionsOverride:c,title:b})}function h(a){var b=p();r||c(b),k(a,b)||j(b)}function i(b){var d=p();return r||c(d),b&&0===a(":focus",b).length?void q(b):void(r.children().length&&r.remove())}function j(b){for(var c=r.children(),d=c.length-1;d>=0;d--)k(a(c[d]),b)}function k(b,c){return b&&0===a(":focus",b).length?(b[c.hideMethod]({duration:c.hideDuration,easing:c.hideEasing,complete:function(){q(b)}}),!0):!1}function l(b){return r=a("<div/>").attr("id",b.containerId).addClass(b.positionClass).attr("aria-live","polite").attr("role","alert"),r.appendTo(a(b.target)),r}function m(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:"<button>×</button>",newestOnTop:!0}}function n(a){s&&s(a)}function o(b){function d(b){return!a(":focus",j).length||b?j[g.hideMethod]({duration:g.hideDuration,easing:g.hideEasing,complete:function(){q(j),g.onHidden&&"hidden"!==o.state&&g.onHidden(),o.state="hidden",o.endTime=new Date,n(o)}}):void 0}function e(){(g.timeOut>0||g.extendedTimeOut>0)&&(i=setTimeout(d,g.extendedTimeOut))}function f(){clearTimeout(i),j.stop(!0,!0)[g.showMethod]({duration:g.showDuration,easing:g.showEasing})}var g=p(),h=b.iconClass||g.iconClass;"undefined"!=typeof b.optionsOverride&&(g=a.extend(g,b.optionsOverride),h=b.optionsOverride.iconClass||h),t++,r=c(g,!0);var i=null,j=a("<div/>"),k=a("<div/>"),l=a("<div/>"),m=a(g.closeHtml),o={toastId:t,state:"visible",startTime:new Date,options:g,map:b};return b.iconClass&&j.addClass(g.toastClass).addClass(h),b.title&&(k.append(b.title).addClass(g.titleClass),j.append(k)),b.message&&(l.append(b.message).addClass(g.messageClass),j.append(l)),g.closeButton&&(m.addClass("toast-close-button").attr("role","button"),j.prepend(m)),j.hide(),g.newestOnTop?r.prepend(j):r.append(j),j[g.showMethod]({duration:g.showDuration,easing:g.showEasing,complete:g.onShown}),g.timeOut>0&&(i=setTimeout(d,g.timeOut)),j.hover(f,e),!g.onclick&&g.tapToDismiss&&j.click(d),g.closeButton&&m&&m.click(function(a){a.stopPropagation?a.stopPropagation():void 0!==a.cancelBubble&&a.cancelBubble!==!0&&(a.cancelBubble=!0),d(!0)}),g.onclick&&j.click(function(){g.onclick(),d()}),n(o),g.debug&&console&&console.log(o),j}function p(){return a.extend({},m(),v.options)}function q(a){r||(r=c()),a.is(":visible")||(a.remove(),a=null,0===r.children().length&&r.remove())}var r,s,t=0,u={error:"error",info:"info",success:"success",warning:"warning"},v={clear:h,remove:i,error:b,getContainer:c,info:d,options:{},subscribe:e,success:f,version:"2.0.3",warning:g};return v}()})}("function"==typeof define&&define.amd?define:function(a,b){"undefined"!=typeof module&&module.exports?module.exports=b(require("jquery")):window.toastr=b(window.jQuery)});
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.0.nupkg
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<version>1.0.0</version>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.7.2" />
|
||||
</dependencies>
|
||||
<id>toastr</id>
|
||||
<title>toastr</title>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
1) Link to toastr.css and toastr-responsive.css
|
||||
2) Link to toastr.js
|
||||
3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr-responsive.css" target="content\content\toastr-responsive.css" />
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.1.nupkg
Normal file
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.1.nuspec
Normal file
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.2.nupkg
Normal file
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.2.nuspec
Normal file
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.0.3.nupkg
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.0.2</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
1) Link to toastr.css and toastr-responsive.css
|
||||
2) Link to toastr.js
|
||||
3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Minor updates for long unbroken string going outside toast and new feature to keep the toast around after hover-off for an extended timeout.
|
||||
|
||||
Set extendedTimeOut and timeOut to 0 to avoid toastr from fading away.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.7.2" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr-responsive.css" target="content\content\toastr-responsive.css" />
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.0.nupkg
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.0</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.1.nupkg
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.2.nupkg
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.2</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method clears 1 or all toasts, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.3.nupkg
Normal file
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.4.1.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.4.1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method clears 1 or all toasts, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3
|
||||
|
||||
Fix to the toastr.min.js file</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.4.2.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.4.2</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method clears 1 or all toasts, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3
|
||||
|
||||
Fix to the toastr.min.js file</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="..\..\..\..\_github\CodeSeven\toastr\master\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="..\..\..\..\_github\CodeSeven\toastr\master\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.4.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.4</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added AMD support (and backwards compat with non AMD), toastr.clear() method clears 1 or all toasts, optionsOverride API to be able to override options for each toast, added onclick callback option which fires when a user clicks the toast. Also cleaned CSS, merged CSS files into 1 file, and reduced jQuery dependency to v1.6.3
|
||||
|
||||
Fix to the toastr.min.js file</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.1.5.nupkg
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.1.5</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Now using SemVer for JavaScript files.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr-1.1.5.js" target="content\scripts\toastr-1.1.5.js" />
|
||||
<file src="content\scripts\toastr-1.1.5.min.js" target="content\scripts\toastr-1.1.5.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.2.0.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.2.0</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added getContainer().
|
||||
Fixed clear() bug.
|
||||
Removed semver from file name.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.2.1.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.2.1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added getContainer().
|
||||
Fixed clear() bug.
|
||||
Removed semver from file name.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.2.2.nupkg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.2.2</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added getContainer().
|
||||
Fixed clear() bug.
|
||||
Removed semver from file name.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.3.0.nupkg
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.3.0</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Added onFadeIn and onFadeOut callbacks.
|
||||
toastr.options.onFadeIn = function() { console.log('hello'); }
|
||||
Added option <code>newestOnTop</code> to show toasts in oldest or newest first order.
|
||||
toastr.options.newestOnTop = false;
|
||||
Fixed margins on full width toasts
|
||||
Added LESS file.
|
||||
Added min file for JS and CSS
|
||||
Added missing vendor prefixes in CSS.
|
||||
Various minor bug fixes.
|
||||
Added unit tests for new features.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.1.3.1.nupkg
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>1.3.1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>https://github.com/CodeSeven/toastr</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>v.1.3.1
|
||||
Added new API for toastr.subscribe so you can be alerted when toasts appear and disappear.
|
||||
|
||||
toastr.subscribe(function (args) {
|
||||
// args contains the toast options and data
|
||||
}
|
||||
|
||||
Added support for glimpse.toastr.js plugin. https://github.com/johnpapa/glimpse.toastr
|
||||
|
||||
Added toastId, state (visible/hidden), startTime and endTime to the toastr info response (available in the coneol, glimpse.toastr plugin, or via the subscribe callback).
|
||||
|
||||
Fixed bug with stacking toasts when clear all toasts occurs first.
|
||||
|
||||
v1.2.2
|
||||
|
||||
Added onFadeIn and onFadeOut callbacks.
|
||||
toastr.options.onFadeIn = function() { console.log('hello'); }
|
||||
Added option <code>newestOnTop</code> to show toasts in oldest or newest first order.
|
||||
toastr.options.newestOnTop = false;
|
||||
Fixed margins on full width toasts
|
||||
Added LESS file.
|
||||
Added min file for JS and CSS
|
||||
Added missing vendor prefixes in CSS.
|
||||
Various minor bug fixes.
|
||||
Added unit tests for new features.</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.2.0.0-rc1.nupkg
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>2.0.0-rc1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>http://toastrjs.com/</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>Toastr is a JavaScript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>The following animations options have been deprecated and should be replaced:
|
||||
|
||||
Replace options.fadeIn with options.showDuration
|
||||
Replace options.onFadeIn with options.onShown
|
||||
Replace options.fadeOut with options.hideDuration
|
||||
Replace options.onFadeOut with options.onHidden
|
||||
|
||||
Optional 'close' button, bug fixes, and improved responsive design.
|
||||
|
||||
For other changes, see http://toastrjs.com</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
<file src="content\scripts\toastr.min.js.map" target="content\scripts\toastr.min.js.map" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.2.0.1.nupkg
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>2.0.1</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>http://toastrjs.com/</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>Toastr is a JavaScript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>The following animations options have been deprecated and should be replaced:
|
||||
|
||||
Replace options.fadeIn with options.showDuration
|
||||
Replace options.onFadeIn with options.onShown
|
||||
Replace options.fadeOut with options.hideDuration
|
||||
Replace options.onFadeOut with options.onHidden
|
||||
|
||||
Optional 'close' button, bug fixes, and improved responsive design.
|
||||
|
||||
For other changes, see http://toastrjs.com</releaseNotes>
|
||||
<copyright>Copyright © 2012 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
<file src="content\scripts\toastr.min.js.map" target="content\scripts\toastr.min.js.map" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.2.0.2.nupkg
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>2.0.2</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>http://toastrjs.com/</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>Toastr is a JavaScript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Change log: https://github.com/CodeSeven/toastr/blob/master/CHANGELOG.md</releaseNotes>
|
||||
<copyright>Copyright © 2012-2014 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\content\toastr.scss" target="content\content\toastr.scss" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
<file src="content\scripts\toastr.min.js.map" target="content\scripts\toastr.min.js.map" />
|
||||
</files>
|
||||
</package>
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/nuget/toastr.2.0.3.nupkg
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toastr</id>
|
||||
<version>2.0.3</version>
|
||||
<title>toastr</title>
|
||||
<authors>John Papa,Hans Fjällemark</authors>
|
||||
<owners>John Papa,Hans Fjällemark</owners>
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>
|
||||
<projectUrl>http://toastrjs.com/</projectUrl>
|
||||
<iconUrl>http://johnpapa.net/wp-content/images/toastr-icon.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>3 Easy Steps:
|
||||
|
||||
(1) Link to toastr.css
|
||||
(2) Link to toastr.js
|
||||
(3) Use toastr to display a toast for info, success, warning or error
|
||||
|
||||
// Display an info toast with no title
|
||||
toastr.info('Are you the 6 fingered man?')
|
||||
|
||||
*** For other API calls, see the demo</description>
|
||||
<summary>Toastr is a JavaScript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.</summary>
|
||||
<releaseNotes>Change log: https://github.com/CodeSeven/toastr/blob/master/CHANGELOG.md</releaseNotes>
|
||||
<copyright>Copyright © 2012-2014 Hans Fjällemark & John Papa.</copyright>
|
||||
<language>en-US</language>
|
||||
<tags>toastr, toast, notification, dialog, jquery</tags>
|
||||
<dependencies>
|
||||
<dependency id="jQuery" version="1.6.3" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="content\content\toastr.css" target="content\content\toastr.css" />
|
||||
<file src="content\content\toastr.less" target="content\content\toastr.less" />
|
||||
<file src="content\content\toastr.min.css" target="content\content\toastr.min.css" />
|
||||
<file src="content\content\toastr.scss" target="content\content\toastr.scss" />
|
||||
<file src="content\scripts\toastr.js" target="content\scripts\toastr.js" />
|
||||
<file src="content\scripts\toastr.min.js" target="content\scripts\toastr.min.js" />
|
||||
<file src="content\scripts\toastr.min.js.map" target="content\scripts\toastr.min.js.map" />
|
||||
</files>
|
||||
</package>
|
||||
67
rus/admin/_V4/_lib/CodeSeven-toastr/package.json
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"name": "toastr",
|
||||
"filename": "build/toastr.min.js",
|
||||
"main": "toastr.js",
|
||||
"style": "build/toastr.min.css",
|
||||
"version": "2.1.2",
|
||||
"description": "ToastrJS is a JavaScript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended.",
|
||||
"homepage": "http://www.toastrjs.com",
|
||||
"keywords": [
|
||||
"Toastr",
|
||||
"ToastrJS",
|
||||
"toastr.js"
|
||||
],
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "John Papa",
|
||||
"web": "http://www.johnpapa.net",
|
||||
"twitter": "@john_papa"
|
||||
},
|
||||
{
|
||||
"name": "Tim Ferrell",
|
||||
"web": "https://twitter.com/ferrell_tim",
|
||||
"twitter": "@ferrell_tim"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/CodeSeven/toastr.git"
|
||||
},
|
||||
"bugs": "http://stackoverflow.com/questions/tagged/toastr",
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "http://www.opensource.org/licenses/mit-license.php"
|
||||
}
|
||||
],
|
||||
"devDependencies": {
|
||||
"del": "^0.1.3",
|
||||
"glob": "^4.0.6",
|
||||
"gulp": "^3.8.10",
|
||||
"gulp-bytediff": "^0.2.0",
|
||||
"gulp-jscs": "^1.3.0",
|
||||
"gulp-jshint": "^1.9.0",
|
||||
"gulp-less": "^3.0.3",
|
||||
"gulp-load-plugins": "^0.7.1",
|
||||
"gulp-load-utils": "0.0.4",
|
||||
"gulp-minify-css": "^0.3.11",
|
||||
"gulp-rename": "^1.2.0",
|
||||
"gulp-sourcemaps": "^1.2.8",
|
||||
"gulp-task-listing": "^0.3.0",
|
||||
"gulp-uglify": "^1.0.1",
|
||||
"gulp-util": "^3.0.1",
|
||||
"jquery": "^2.1.1",
|
||||
"jshint-stylish": "^1.0.0",
|
||||
"karma": "^0.12.25",
|
||||
"karma-coverage": "^0.2.6",
|
||||
"karma-phantomjs-launcher": "^0.1.4",
|
||||
"karma-qunit": "^0.1.3",
|
||||
"merge-stream": "^0.1.6",
|
||||
"phantomjs": "^1.9.7-15",
|
||||
"plato": "^1.2.2",
|
||||
"qunitjs": "~1.14.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "gulp test"
|
||||
}
|
||||
}
|
||||
32
rus/admin/_V4/_lib/CodeSeven-toastr/release checklist.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Toastr Release Checklist
|
||||
|
||||
1. Update Toastr Version
|
||||
* toastr.js
|
||||
* bower.json (toastr-bower repo)
|
||||
* package.json
|
||||
* nuget versions and dependency versions
|
||||
* readme file for github repo
|
||||
* Consider HotTowel VSIX
|
||||
2. Gulp
|
||||
* run main demo
|
||||
* `gulp analyze`
|
||||
* `gulp test`
|
||||
* `gulp`
|
||||
3. Nuget
|
||||
* Copy new files in
|
||||
* Build
|
||||
* Test
|
||||
4. CDNJS
|
||||
* Update CDNJS
|
||||
5. Update Website with New Downloads
|
||||
6. Publish Bower
|
||||
* Include License and Readme
|
||||
* Test Locally
|
||||
* Update Github repo toastr-bower
|
||||
* Github tag
|
||||
* Register with Bower
|
||||
7. Publish Nugets
|
||||
8. Release on Github
|
||||
* Tag with semver
|
||||
* Attach all artifacts
|
||||
9. Blog post
|
||||
244
rus/admin/_V4/_lib/CodeSeven-toastr/tests/qunit/qunit.css
Normal file
|
|
@ -0,0 +1,244 @@
|
|||
/**
|
||||
* QUnit v1.12.0 - A JavaScript Unit Testing Framework
|
||||
*
|
||||
* http://qunitjs.com
|
||||
*
|
||||
* Copyright 2012 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*/
|
||||
|
||||
/** Font Family and Sizes */
|
||||
|
||||
#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
|
||||
font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
|
||||
#qunit-tests { font-size: smaller; }
|
||||
|
||||
|
||||
/** Resets */
|
||||
|
||||
#qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/** Header */
|
||||
|
||||
#qunit-header {
|
||||
padding: 0.5em 0 0.5em 1em;
|
||||
|
||||
color: #8699a4;
|
||||
background-color: #0d3349;
|
||||
|
||||
font-size: 1.5em;
|
||||
line-height: 1em;
|
||||
font-weight: normal;
|
||||
|
||||
border-radius: 5px 5px 0 0;
|
||||
-moz-border-radius: 5px 5px 0 0;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
}
|
||||
|
||||
#qunit-header a {
|
||||
text-decoration: none;
|
||||
color: #c2ccd1;
|
||||
}
|
||||
|
||||
#qunit-header a:hover,
|
||||
#qunit-header a:focus {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#qunit-testrunner-toolbar label {
|
||||
display: inline-block;
|
||||
padding: 0 .5em 0 .1em;
|
||||
}
|
||||
|
||||
#qunit-banner {
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
#qunit-testrunner-toolbar {
|
||||
padding: 0.5em 0 0.5em 2em;
|
||||
color: #5E740B;
|
||||
background-color: #eee;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#qunit-userAgent {
|
||||
padding: 0.5em 0 0.5em 2.5em;
|
||||
background-color: #2b81af;
|
||||
color: #fff;
|
||||
text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
|
||||
}
|
||||
|
||||
#qunit-modulefilter-container {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/** Tests: Pass/Fail */
|
||||
|
||||
#qunit-tests {
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#qunit-tests li {
|
||||
padding: 0.4em 0.5em 0.4em 2.5em;
|
||||
border-bottom: 1px solid #fff;
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#qunit-tests li strong {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#qunit-tests li a {
|
||||
padding: 0.5em;
|
||||
color: #c2ccd1;
|
||||
text-decoration: none;
|
||||
}
|
||||
#qunit-tests li a:hover,
|
||||
#qunit-tests li a:focus {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#qunit-tests li .runtime {
|
||||
float: right;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.qunit-assert-list {
|
||||
margin-top: 0.5em;
|
||||
padding: 0.5em;
|
||||
|
||||
background-color: #fff;
|
||||
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
.qunit-collapsed {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#qunit-tests table {
|
||||
border-collapse: collapse;
|
||||
margin-top: .2em;
|
||||
}
|
||||
|
||||
#qunit-tests th {
|
||||
text-align: right;
|
||||
vertical-align: top;
|
||||
padding: 0 .5em 0 0;
|
||||
}
|
||||
|
||||
#qunit-tests td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
#qunit-tests pre {
|
||||
margin: 0;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#qunit-tests del {
|
||||
background-color: #e0f2be;
|
||||
color: #374e0c;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#qunit-tests ins {
|
||||
background-color: #ffcaca;
|
||||
color: #500;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*** Test Counts */
|
||||
|
||||
#qunit-tests b.counts { color: black; }
|
||||
#qunit-tests b.passed { color: #5E740B; }
|
||||
#qunit-tests b.failed { color: #710909; }
|
||||
|
||||
#qunit-tests li li {
|
||||
padding: 5px;
|
||||
background-color: #fff;
|
||||
border-bottom: none;
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
/*** Passing Styles */
|
||||
|
||||
#qunit-tests li li.pass {
|
||||
color: #3c510c;
|
||||
background-color: #fff;
|
||||
border-left: 10px solid #C6E746;
|
||||
}
|
||||
|
||||
#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; }
|
||||
#qunit-tests .pass .test-name { color: #366097; }
|
||||
|
||||
#qunit-tests .pass .test-actual,
|
||||
#qunit-tests .pass .test-expected { color: #999999; }
|
||||
|
||||
#qunit-banner.qunit-pass { background-color: #C6E746; }
|
||||
|
||||
/*** Failing Styles */
|
||||
|
||||
#qunit-tests li li.fail {
|
||||
color: #710909;
|
||||
background-color: #fff;
|
||||
border-left: 10px solid #EE5757;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
#qunit-tests > li:last-child {
|
||||
border-radius: 0 0 5px 5px;
|
||||
-moz-border-radius: 0 0 5px 5px;
|
||||
-webkit-border-bottom-right-radius: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
}
|
||||
|
||||
#qunit-tests .fail { color: #000000; background-color: #EE5757; }
|
||||
#qunit-tests .fail .test-name,
|
||||
#qunit-tests .fail .module-name { color: #000000; }
|
||||
|
||||
#qunit-tests .fail .test-actual { color: #EE5757; }
|
||||
#qunit-tests .fail .test-expected { color: green; }
|
||||
|
||||
#qunit-banner.qunit-fail { background-color: #EE5757; }
|
||||
|
||||
|
||||
/** Result */
|
||||
|
||||
#qunit-testresult {
|
||||
padding: 0.5em 0.5em 0.5em 2.5em;
|
||||
|
||||
color: #2b81af;
|
||||
background-color: #D2E0E6;
|
||||
|
||||
border-bottom: 1px solid white;
|
||||
}
|
||||
#qunit-testresult .module-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/** Fixture */
|
||||
|
||||
#qunit-fixture {
|
||||
position: absolute;
|
||||
top: -10000px;
|
||||
left: -10000px;
|
||||
width: 1000px;
|
||||
height: 1000px;
|
||||
}
|
||||
2212
rus/admin/_V4/_lib/CodeSeven-toastr/tests/qunit/qunit.js
Normal file
21
rus/admin/_V4/_lib/CodeSeven-toastr/tests/toastr-tests.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>toastr QUnit Tests</title>
|
||||
<link href="../toastr.css" rel="stylesheet" type="text/css" />
|
||||
<link href="qunit/qunit.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="result"></div>
|
||||
<h1 id="qunit-header">toastr QUnit Tests</h1>
|
||||
<h2 id="qunit-banner"></h2>
|
||||
<div id="qunit-testrunner-toolbar"></div>
|
||||
<h2 id="qunit-userAgent"></h2>
|
||||
<ol id="qunit-tests"></ol>
|
||||
<div id="qunit-fixture">test markup, will be hidden</div>
|
||||
<script src="http://code.jquery.com/jquery.js" type="text/javascript"></script>
|
||||
<script src="../toastr.js" type="text/javascript"></script>
|
||||
<script src="qunit/qunit.js" type="text/javascript"></script>
|
||||
<script src="unit/toastr-tests.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Hack to expose spec count from QUnit to Karma
|
||||
*/
|
||||
|
||||
var testCount = 0;
|
||||
var qunitTest = QUnit.test;
|
||||
QUnit.test = window.test = function () {
|
||||
testCount += 1;
|
||||
qunitTest.apply(this, arguments);
|
||||
};
|
||||
QUnit.begin(function (args) {
|
||||
args.totalTests = testCount;
|
||||
});
|
||||
698
rus/admin/_V4/_lib/CodeSeven-toastr/tests/unit/toastr-tests.js
Normal file
|
|
@ -0,0 +1,698 @@
|
|||
/// <reference path="../../../toastr.js" />
|
||||
/// <reference path="../qunit/qunit.js" />
|
||||
(function () {
|
||||
var iconClasses = {
|
||||
error: 'toast-error',
|
||||
info: 'toast-info',
|
||||
success: 'toast-success',
|
||||
warning: 'toast-warning'
|
||||
};
|
||||
var positionClasses = {
|
||||
topRight: 'toast-top-right',
|
||||
bottomRight: 'toast-bottom-right',
|
||||
bottomLeft: 'toast-bottom-left',
|
||||
topLeft: 'toast-top-left',
|
||||
topCenter: 'toast-top-center',
|
||||
bottomCenter: 'toast-bottom-center'
|
||||
};
|
||||
var sampleMsg = 'I don\'t think they really exist';
|
||||
var sampleTitle = 'ROUS';
|
||||
var selectors = {
|
||||
container: 'div#toast-container',
|
||||
toastInfo: 'div#toast-container > div.toast-info',
|
||||
toastWarning: 'div#toast-container > div.toast-success',
|
||||
toastError: 'div#toast-container > div.toast-error',
|
||||
toastSuccess: 'div#toast-container > div.toast-success'
|
||||
};
|
||||
|
||||
toastr.options = {
|
||||
timeOut: 2000,
|
||||
extendedTimeOut: 0,
|
||||
fadeOut: 0,
|
||||
fadeIn: 0,
|
||||
showDuration: 0,
|
||||
hideDuration: 0,
|
||||
debug: false
|
||||
};
|
||||
|
||||
var delay = toastr.options.timeOut + 500;
|
||||
|
||||
// 'Clears' must go first
|
||||
module('clear');
|
||||
asyncTest('clear - show 3 toasts, clear the 2nd', 1, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle + '-3');
|
||||
var $container = toastr.getContainer();
|
||||
//Act
|
||||
toastr.clear($toast[1]);
|
||||
//Assert
|
||||
setTimeout(function () {
|
||||
//debugger;
|
||||
//console.log($container.children().length);
|
||||
ok($container && $container.children().length === 2);
|
||||
//Teardown
|
||||
resetContainer();
|
||||
start();
|
||||
}, 1000);
|
||||
});
|
||||
asyncTest('clear - show 3 toasts, clear all 3, 0 left', 1, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle + '-3');
|
||||
var $container = toastr.getContainer();
|
||||
//Act
|
||||
toastr.clear();
|
||||
//Assert
|
||||
setTimeout(function () {
|
||||
ok($container && $container.children().length === 0);
|
||||
//Teardown
|
||||
resetContainer();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
test('clear - after clear with force option toast with focus disappears', 1, function () {
|
||||
//Arrange
|
||||
var $toast;
|
||||
var msg = sampleMsg + '<br/><br/><button type="button">Clear</button>';
|
||||
//Act
|
||||
$toast = toastr.info(msg, sampleTitle + '-1');
|
||||
$toast.find('button').focus();
|
||||
toastr.clear($toast, { force: true });
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container && $container.children().length === 0, 'Focused toast after a clear with force is not visible');
|
||||
//Teardown
|
||||
resetContainer();
|
||||
});
|
||||
asyncTest('clear and show - show 2 toasts, clear both, then show 1 more', 2, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
var $container = toastr.getContainer();
|
||||
toastr.clear();
|
||||
//Act
|
||||
setTimeout(function () {
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle + '-3-Visible');
|
||||
//Assert
|
||||
equal($toast[2].find('div.toast-title').html(), sampleTitle + '-3-Visible', 'Finds toast after a clear');
|
||||
ok($toast[2].is(':visible'), 'Toast after a clear is visible');
|
||||
//Teardown
|
||||
resetContainer();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
asyncTest('clear and show - clear removes toast container', 2, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
var $container = toastr.getContainer();
|
||||
toastr.clear();
|
||||
//Act
|
||||
setTimeout(function () {
|
||||
//Assert
|
||||
equal($(selectors.container).length, 0, 'Toast container does not exist');
|
||||
ok(!$toast[1].is(':visible'), 'Toast after a clear is visible');
|
||||
//Teardown
|
||||
resetContainer();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
asyncTest('clear and show - after clear new toast creates container', 1, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
var $container = toastr.getContainer();
|
||||
toastr.clear();
|
||||
//Act
|
||||
setTimeout(function () {
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle + '-3-Visible');
|
||||
//Assert
|
||||
equal($(selectors.container).find('div.toast-title').html(), sampleTitle + '-3-Visible', 'Finds toast after a clear'); //Teardown
|
||||
resetContainer();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
test('clear and show - after clear all toasts new toast still appears', 1, function () {
|
||||
//Arrange
|
||||
var $toast = [];
|
||||
//Act
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle + '-1');
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle + '-2');
|
||||
toastr.clear();
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle + '-3-Visible');
|
||||
//Assert
|
||||
ok($toast[2].is(':visible'), 'Toast after a clear is visible');
|
||||
//Teardown
|
||||
resetContainer();
|
||||
});
|
||||
module('info');
|
||||
test('info - pass title and message', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.info(sampleMsg, sampleTitle);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), sampleTitle, 'Sets title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.info), 'Sets info icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('info - pass message, but no title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.info(sampleMsg);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets null title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.info), 'Sets info icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('info - pass no message nor title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.info(); //Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets null title');
|
||||
equal($toast.find('div.toast-message').html(), null, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.info), 'Sets info icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
module('warning');
|
||||
test('warning - pass message and title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.warning(sampleMsg, sampleTitle);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), sampleTitle, 'Sets title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.warning), 'Sets warning icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('warning - pass message, but no title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.warning(sampleMsg);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets empty title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.warning), 'Sets warning icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('warning - no message nor title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.warning('');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets null title');
|
||||
equal($toast.find('div.toast-message').length, 0, 'Sets empty message');
|
||||
ok($toast.hasClass(iconClasses.warning), 'Sets warning icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
module('error');
|
||||
test('error - pass message and title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.error(sampleMsg, sampleTitle);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), sampleTitle, 'Sets title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.error), 'Sets error icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('error - pass message, but no title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.error(sampleMsg); //Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets empty title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.error), 'Sets error icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('error - no message nor title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.error('');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets empty title');
|
||||
equal($toast.find('div.toast-message').length, 0, 'Sets empty message');
|
||||
ok($toast.hasClass(iconClasses.error), 'Sets error icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
module('success');
|
||||
test('success - pass message and title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg, sampleTitle);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), sampleTitle, 'Sets title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.success), 'Sets success icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('success - pass message, but no title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets empty title');
|
||||
equal($toast.find('div.toast-message').html(), sampleMsg, 'Sets message');
|
||||
ok($toast.hasClass(iconClasses.success), 'Sets success icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('success - no message nor title', 3, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').length, 0, 'Sets null title');
|
||||
equal($toast.find('div.toast-message').length, 0, 'Sets empty message');
|
||||
ok($toast.hasClass(iconClasses.success), 'Sets success icon'); //Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
|
||||
module('escape html', {
|
||||
teardown: function () {
|
||||
toastr.options.escapeHtml = false;
|
||||
}
|
||||
});
|
||||
test('info - escape html', 2, function () {
|
||||
//Arrange
|
||||
toastr.options.escapeHtml = true;
|
||||
//Act
|
||||
var $toast = toastr.info('html <strong>message</strong>', 'html <u>title</u>');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), 'html <u>title</u>', 'Title is escaped');
|
||||
equal($toast.find('div.toast-message').html(), 'html <strong>message</strong>', 'Message is escaped');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('warning - escape html', 2, function () {
|
||||
//Arrange
|
||||
toastr.options.escapeHtml = true;
|
||||
//Act
|
||||
var $toast = toastr.warning('html <strong>message</strong>', 'html <u>title</u>');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), 'html <u>title</u>', 'Title is escaped');
|
||||
equal($toast.find('div.toast-message').html(), 'html <strong>message</strong>', 'Message is escaped');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('error - escape html', 2, function () {
|
||||
//Arrange
|
||||
toastr.options.escapeHtml = true;
|
||||
//Act
|
||||
var $toast = toastr.error('html <strong>message</strong>', 'html <u>title</u>');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), 'html <u>title</u>', 'Title is escaped');
|
||||
equal($toast.find('div.toast-message').html(), 'html <strong>message</strong>', 'Message is escaped');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('success - escape html', 2, function () {
|
||||
//Arrange
|
||||
toastr.options.escapeHtml = true;
|
||||
//Act
|
||||
var $toast = toastr.success('html <strong>message</strong>', 'html <u>title</u>');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-title').html(), 'html <u>title</u>', 'Title is escaped');
|
||||
equal($toast.find('div.toast-message').html(), 'html <strong>message</strong>', 'Message is escaped');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
module('closeButton', {
|
||||
teardown: function () {
|
||||
toastr.options.closeButton = false;
|
||||
}
|
||||
});
|
||||
test('close button disabled', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.closeButton = false;
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('button.toast-close-button').length, 0, 'close button should not exist with closeButton=false');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('close button enabled', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.closeButton = true;
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('button.toast-close-button').length, 1, 'close button should exist with closeButton=true');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('close button has type=button', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.closeButton = true;
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('button[type="button"].toast-close-button').length, 1, 'close button should have type=button');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
asyncTest('close button duration', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.closeButton = true;
|
||||
toastr.options.closeDuration = 0;
|
||||
toastr.options.hideDuration = 2000;
|
||||
var $container = toastr.getContainer();
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
$toast.find('button.toast-close-button').click();
|
||||
setTimeout(function () {
|
||||
//Assert
|
||||
ok($container && $container.children().length === 0, 'close button should support own hide animation');
|
||||
//Teardown
|
||||
toastr.options.hideDuration = 0;
|
||||
resetContainer();
|
||||
start();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
module('progressBar', {
|
||||
teardown: function () {
|
||||
toastr.options.progressBar = false;
|
||||
}
|
||||
});
|
||||
test('progress bar disabled', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.progressBar = false;
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-progress').length, 0, 'progress bar should not exist with progressBar=false');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
test('progress bar enabled', 1, function () {
|
||||
//Arrange
|
||||
toastr.options.progressBar = true;
|
||||
//Act
|
||||
var $toast = toastr.success('');
|
||||
//Assert
|
||||
equal($toast.find('div.toast-progress').length, 1, 'progress bar should exist with progressBar=true');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
module('event');
|
||||
asyncTest('event - onShown is executed', 1, function () {
|
||||
// Arrange
|
||||
var run = false;
|
||||
var onShown = function () { run = true; };
|
||||
toastr.options.onShown = onShown;
|
||||
// Act
|
||||
var $toast = toastr.success(sampleMsg, sampleTitle);
|
||||
setTimeout(function () {
|
||||
// Assert
|
||||
ok(run);
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
asyncTest('event - onHidden is executed', 1, function () {
|
||||
//Arrange
|
||||
var run = false;
|
||||
var onHidden = function () { run = true; };
|
||||
toastr.options.onHidden = onHidden;
|
||||
toastr.options.timeOut = 1;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg, sampleTitle);
|
||||
setTimeout(function () {
|
||||
// Assert
|
||||
ok(run); //Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
asyncTest('event - onShown and onHidden are both executed', 2, function () {
|
||||
//Arrange
|
||||
var onShowRun = false;
|
||||
var onHideRun = false;
|
||||
var onShow = function () { onShowRun = true; };
|
||||
var onHide = function () { onHideRun = true; };
|
||||
toastr.options.onShown = onShow;
|
||||
toastr.options.onHidden = onHide;
|
||||
toastr.options.timeOut = 1;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg, sampleTitle);
|
||||
setTimeout(function () {
|
||||
// Assert
|
||||
ok(onShowRun);
|
||||
ok(onHideRun);
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
start();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
test('event - message appears when no show or hide method functions provided', 1, function () {
|
||||
//Arrange
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg, sampleTitle);
|
||||
//Assert
|
||||
ok($toast.hasClass(iconClasses.success), 'Sets success icon');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
test('event - prevent duplicate sequential toasts.', 1, function(){
|
||||
toastr.options.preventDuplicates = true;
|
||||
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle);
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle);
|
||||
$toast[2] = toastr.info(sampleMsg + " 1", sampleTitle);
|
||||
$toast[3] = toastr.info(sampleMsg, sampleTitle);
|
||||
var $container = toastr.getContainer();
|
||||
|
||||
ok($container && $container.children().length === 3);
|
||||
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
test('event - prevent duplicate sequential toasts, but allow previous after clear.', 1, function(){
|
||||
toastr.options.preventDuplicates = true;
|
||||
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle);
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle);
|
||||
clearContainerChildren();
|
||||
$toast[3] = toastr.info(sampleMsg, sampleTitle);
|
||||
var $container = toastr.getContainer();
|
||||
|
||||
ok($container && $container.children().length === 1);
|
||||
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
test('event - allow duplicate sequential toasts.', 1, function(){
|
||||
toastr.options.preventDuplicates = false;
|
||||
|
||||
var $toast = [];
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle);
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle);
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle);
|
||||
var $container = toastr.getContainer();
|
||||
|
||||
ok($container && $container.children().length === 3);
|
||||
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
test('event - allow preventDuplicates option to be overridden.', 1, function() {
|
||||
var $toast = [];
|
||||
|
||||
$toast[0] = toastr.info(sampleMsg, sampleTitle, {
|
||||
preventDuplicates: true
|
||||
});
|
||||
$toast[1] = toastr.info(sampleMsg, sampleTitle, {
|
||||
preventDuplicates: true
|
||||
});
|
||||
$toast[2] = toastr.info(sampleMsg, sampleTitle);
|
||||
var $container = toastr.getContainer();
|
||||
|
||||
ok($container && $container.children().length === 2);
|
||||
clearContainerChildren();
|
||||
});
|
||||
|
||||
module('order of appearance');
|
||||
test('Newest toast on top', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.newestOnTop = true;
|
||||
//Act
|
||||
var $first = toastr.success("First toast");
|
||||
var $second = toastr.success("Second toast");
|
||||
//Assert
|
||||
var containerHtml = toastr.getContainer().html();
|
||||
ok(containerHtml.indexOf("First toast") > containerHtml.indexOf("Second toast"), 'Newest toast is on top');
|
||||
//Teardown
|
||||
$first.remove();
|
||||
$second.remove();
|
||||
resetContainer();
|
||||
});
|
||||
|
||||
test('Oldest toast on top', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.newestOnTop = false;
|
||||
//Act
|
||||
var $first = toastr.success("First toast");
|
||||
var $second = toastr.success("Second toast");
|
||||
//Assert
|
||||
var containerHtml = toastr.getContainer().html();
|
||||
ok(containerHtml.indexOf("First toast") < containerHtml.indexOf("Second toast"), 'Oldest toast is on top');
|
||||
//Teardown
|
||||
$first.remove();
|
||||
$second.remove();
|
||||
resetContainer();
|
||||
});
|
||||
|
||||
// These must go last
|
||||
module('positioning');
|
||||
test('Container - position top-right', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.positionClass = positionClasses.topRight;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.topRight), 'Has position top right');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
test('Container - position bottom-right', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.positionClass = positionClasses.bottomRight;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.bottomRight), 'Has position bottom right');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
test('Container - position bottom-left', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
//$(selectors.container).remove()
|
||||
toastr.options.positionClass = positionClasses.bottomLeft;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.bottomLeft), 'Has position bottom left');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
test('Container - position top-left', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.positionClass = positionClasses.topLeft;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.topLeft), 'Has position top left');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
test('Container - position top-center', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.positionClass = positionClasses.topCenter;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.topCenter), 'Has position top center');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
test('Container - position bottom-center', 1, function () {
|
||||
//Arrange
|
||||
resetContainer();
|
||||
toastr.options.positionClass = positionClasses.bottomCenter;
|
||||
//Act
|
||||
var $toast = toastr.success(sampleMsg);
|
||||
var $container = toastr.getContainer();
|
||||
//Assert
|
||||
ok($container.hasClass(positionClasses.bottomCenter), 'Has position bottom center');
|
||||
//Teardown
|
||||
$toast.remove();
|
||||
resetContainer();
|
||||
});
|
||||
|
||||
function resetContainer() {
|
||||
var $container = toastr.getContainer();
|
||||
if ($container) {
|
||||
$container.remove();
|
||||
}
|
||||
$(selectors.container).remove();
|
||||
clearContainerChildren();
|
||||
}
|
||||
|
||||
function clearContainerChildren() {
|
||||
toastr.clear();
|
||||
}
|
||||
|
||||
})();
|
||||
3
rus/admin/_V4/_lib/CodeSeven-toastr/tests/unit/x.js
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
test('test test', 1, function () {
|
||||
ok(1 === 1, '1 equals 1');
|
||||
});
|
||||
BIN
rus/admin/_V4/_lib/CodeSeven-toastr/toastr-icon.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
201
rus/admin/_V4/_lib/CodeSeven-toastr/toastr.css
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
/* Generated by less 2.2.0 */
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-center {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-center {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
pointer-events: none;
|
||||
/*overrides*/
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-center > div,
|
||||
#toast-container.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2f96b4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: #000000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
435
rus/admin/_V4/_lib/CodeSeven-toastr/toastr.js
Normal file
|
|
@ -0,0 +1,435 @@
|
|||
/*
|
||||
* Toastr
|
||||
* Copyright 2012-2015
|
||||
* Authors: John Papa, Hans Fjällemark, and Tim Ferrell.
|
||||
* All Rights Reserved.
|
||||
* Use, reproduction, distribution, and modification of this code is subject to the terms and
|
||||
* conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* ARIA Support: Greta Krafsig
|
||||
*
|
||||
* Project: https://github.com/CodeSeven/toastr
|
||||
*/
|
||||
/* global define */
|
||||
(function (define) {
|
||||
define(['jquery'], function ($) {
|
||||
return (function () {
|
||||
var $container;
|
||||
var listener;
|
||||
var toastId = 0;
|
||||
var toastType = {
|
||||
error: 'error',
|
||||
info: 'info',
|
||||
success: 'success',
|
||||
warning: 'warning'
|
||||
};
|
||||
|
||||
var toastr = {
|
||||
clear: clear,
|
||||
remove: remove,
|
||||
error: error,
|
||||
getContainer: getContainer,
|
||||
info: info,
|
||||
options: {},
|
||||
subscribe: subscribe,
|
||||
success: success,
|
||||
version: '2.1.2',
|
||||
warning: warning
|
||||
};
|
||||
|
||||
var previousToast;
|
||||
|
||||
return toastr;
|
||||
|
||||
////////////////
|
||||
|
||||
function error(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.error,
|
||||
iconClass: getOptions().iconClasses.error,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function getContainer(options, create) {
|
||||
if (!options) { options = getOptions(); }
|
||||
$container = $('#' + options.containerId);
|
||||
if ($container.length) {
|
||||
return $container;
|
||||
}
|
||||
if (create) {
|
||||
$container = createContainer(options);
|
||||
}
|
||||
return $container;
|
||||
}
|
||||
|
||||
function info(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.info,
|
||||
iconClass: getOptions().iconClasses.info,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function subscribe(callback) {
|
||||
listener = callback;
|
||||
}
|
||||
|
||||
function success(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.success,
|
||||
iconClass: getOptions().iconClasses.success,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function warning(message, title, optionsOverride) {
|
||||
return notify({
|
||||
type: toastType.warning,
|
||||
iconClass: getOptions().iconClasses.warning,
|
||||
message: message,
|
||||
optionsOverride: optionsOverride,
|
||||
title: title
|
||||
});
|
||||
}
|
||||
|
||||
function clear($toastElement, clearOptions) {
|
||||
var options = getOptions();
|
||||
if (!$container) { getContainer(options); }
|
||||
if (!clearToast($toastElement, options, clearOptions)) {
|
||||
clearContainer(options);
|
||||
}
|
||||
}
|
||||
|
||||
function remove($toastElement) {
|
||||
var options = getOptions();
|
||||
if (!$container) { getContainer(options); }
|
||||
if ($toastElement && $(':focus', $toastElement).length === 0) {
|
||||
removeToast($toastElement);
|
||||
return;
|
||||
}
|
||||
if ($container.children().length) {
|
||||
$container.remove();
|
||||
}
|
||||
}
|
||||
|
||||
// internal functions
|
||||
|
||||
function clearContainer (options) {
|
||||
var toastsToClear = $container.children();
|
||||
for (var i = toastsToClear.length - 1; i >= 0; i--) {
|
||||
clearToast($(toastsToClear[i]), options);
|
||||
}
|
||||
}
|
||||
|
||||
function clearToast ($toastElement, options, clearOptions) {
|
||||
var force = clearOptions && clearOptions.force ? clearOptions.force : false;
|
||||
if ($toastElement && (force || $(':focus', $toastElement).length === 0)) {
|
||||
$toastElement[options.hideMethod]({
|
||||
duration: options.hideDuration,
|
||||
easing: options.hideEasing,
|
||||
complete: function () { removeToast($toastElement); }
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function createContainer(options) {
|
||||
$container = $('<div/>')
|
||||
.attr('id', options.containerId)
|
||||
.addClass(options.positionClass)
|
||||
.attr('aria-live', 'polite')
|
||||
.attr('role', 'alert');
|
||||
|
||||
$container.appendTo($(options.target));
|
||||
return $container;
|
||||
}
|
||||
|
||||
function getDefaults() {
|
||||
return {
|
||||
tapToDismiss: true,
|
||||
toastClass: 'toast',
|
||||
containerId: 'toast-container',
|
||||
debug: false,
|
||||
|
||||
showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery
|
||||
showDuration: 300,
|
||||
showEasing: 'swing', //swing and linear are built into jQuery
|
||||
onShown: undefined,
|
||||
hideMethod: 'fadeOut',
|
||||
hideDuration: 1000,
|
||||
hideEasing: 'swing',
|
||||
onHidden: undefined,
|
||||
closeMethod: false,
|
||||
closeDuration: false,
|
||||
closeEasing: false,
|
||||
|
||||
extendedTimeOut: 1000,
|
||||
iconClasses: {
|
||||
error: 'toast-error',
|
||||
info: 'toast-info',
|
||||
success: 'toast-success',
|
||||
warning: 'toast-warning'
|
||||
},
|
||||
iconClass: 'toast-info',
|
||||
positionClass: 'toast-top-right',
|
||||
timeOut: 5000, // Set timeOut and extendedTimeOut to 0 to make it sticky
|
||||
titleClass: 'toast-title',
|
||||
messageClass: 'toast-message',
|
||||
escapeHtml: false,
|
||||
target: 'body',
|
||||
closeHtml: '<button type="button">×</button>',
|
||||
newestOnTop: true,
|
||||
preventDuplicates: false,
|
||||
progressBar: false
|
||||
};
|
||||
}
|
||||
|
||||
function publish(args) {
|
||||
if (!listener) { return; }
|
||||
listener(args);
|
||||
}
|
||||
|
||||
function notify(map) {
|
||||
var options = getOptions();
|
||||
var iconClass = map.iconClass || options.iconClass;
|
||||
|
||||
if (typeof (map.optionsOverride) !== 'undefined') {
|
||||
options = $.extend(options, map.optionsOverride);
|
||||
iconClass = map.optionsOverride.iconClass || iconClass;
|
||||
}
|
||||
|
||||
if (shouldExit(options, map)) { return; }
|
||||
|
||||
toastId++;
|
||||
|
||||
$container = getContainer(options, true);
|
||||
|
||||
var intervalId = null;
|
||||
var $toastElement = $('<div/>');
|
||||
var $titleElement = $('<div/>');
|
||||
var $messageElement = $('<div/>');
|
||||
var $progressElement = $('<div/>');
|
||||
var $closeElement = $(options.closeHtml);
|
||||
var progressBar = {
|
||||
intervalId: null,
|
||||
hideEta: null,
|
||||
maxHideTime: null
|
||||
};
|
||||
var response = {
|
||||
toastId: toastId,
|
||||
state: 'visible',
|
||||
startTime: new Date(),
|
||||
options: options,
|
||||
map: map
|
||||
};
|
||||
|
||||
personalizeToast();
|
||||
|
||||
displayToast();
|
||||
|
||||
handleEvents();
|
||||
|
||||
publish(response);
|
||||
|
||||
if (options.debug && console) {
|
||||
console.log(response);
|
||||
}
|
||||
|
||||
return $toastElement;
|
||||
|
||||
function escapeHtml(source) {
|
||||
if (source == null)
|
||||
source = "";
|
||||
|
||||
return new String(source)
|
||||
.replace(/&/g, '&')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>');
|
||||
}
|
||||
|
||||
function personalizeToast() {
|
||||
setIcon();
|
||||
setTitle();
|
||||
setMessage();
|
||||
setCloseButton();
|
||||
setProgressBar();
|
||||
setSequence();
|
||||
}
|
||||
|
||||
function handleEvents() {
|
||||
$toastElement.hover(stickAround, delayedHideToast);
|
||||
if (!options.onclick && options.tapToDismiss) {
|
||||
$toastElement.click(hideToast);
|
||||
}
|
||||
|
||||
if (options.closeButton && $closeElement) {
|
||||
$closeElement.click(function (event) {
|
||||
if (event.stopPropagation) {
|
||||
event.stopPropagation();
|
||||
} else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {
|
||||
event.cancelBubble = true;
|
||||
}
|
||||
hideToast(true);
|
||||
});
|
||||
}
|
||||
|
||||
if (options.onclick) {
|
||||
$toastElement.click(function (event) {
|
||||
options.onclick(event);
|
||||
hideToast();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function displayToast() {
|
||||
$toastElement.hide();
|
||||
|
||||
$toastElement[options.showMethod](
|
||||
{duration: options.showDuration, easing: options.showEasing, complete: options.onShown}
|
||||
);
|
||||
|
||||
if (options.timeOut > 0) {
|
||||
intervalId = setTimeout(hideToast, options.timeOut);
|
||||
progressBar.maxHideTime = parseFloat(options.timeOut);
|
||||
progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
|
||||
if (options.progressBar) {
|
||||
progressBar.intervalId = setInterval(updateProgress, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setIcon() {
|
||||
if (map.iconClass) {
|
||||
$toastElement.addClass(options.toastClass).addClass(iconClass);
|
||||
}
|
||||
}
|
||||
|
||||
function setSequence() {
|
||||
if (options.newestOnTop) {
|
||||
$container.prepend($toastElement);
|
||||
} else {
|
||||
$container.append($toastElement);
|
||||
}
|
||||
}
|
||||
|
||||
function setTitle() {
|
||||
if (map.title) {
|
||||
$titleElement.append(!options.escapeHtml ? map.title : escapeHtml(map.title)).addClass(options.titleClass);
|
||||
$toastElement.append($titleElement);
|
||||
}
|
||||
}
|
||||
|
||||
function setMessage() {
|
||||
if (map.message) {
|
||||
$messageElement.append(!options.escapeHtml ? map.message : escapeHtml(map.message)).addClass(options.messageClass);
|
||||
$toastElement.append($messageElement);
|
||||
}
|
||||
}
|
||||
|
||||
function setCloseButton() {
|
||||
if (options.closeButton) {
|
||||
$closeElement.addClass('toast-close-button').attr('role', 'button');
|
||||
$toastElement.prepend($closeElement);
|
||||
}
|
||||
}
|
||||
|
||||
function setProgressBar() {
|
||||
if (options.progressBar) {
|
||||
$progressElement.addClass('toast-progress');
|
||||
$toastElement.prepend($progressElement);
|
||||
}
|
||||
}
|
||||
|
||||
function shouldExit(options, map) {
|
||||
if (options.preventDuplicates) {
|
||||
if (map.message === previousToast) {
|
||||
return true;
|
||||
} else {
|
||||
previousToast = map.message;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function hideToast(override) {
|
||||
var method = override && options.closeMethod !== false ? options.closeMethod : options.hideMethod;
|
||||
var duration = override && options.closeDuration !== false ?
|
||||
options.closeDuration : options.hideDuration;
|
||||
var easing = override && options.closeEasing !== false ? options.closeEasing : options.hideEasing;
|
||||
if ($(':focus', $toastElement).length && !override) {
|
||||
return;
|
||||
}
|
||||
clearTimeout(progressBar.intervalId);
|
||||
return $toastElement[method]({
|
||||
duration: duration,
|
||||
easing: easing,
|
||||
complete: function () {
|
||||
removeToast($toastElement);
|
||||
if (options.onHidden && response.state !== 'hidden') {
|
||||
options.onHidden();
|
||||
}
|
||||
response.state = 'hidden';
|
||||
response.endTime = new Date();
|
||||
publish(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function delayedHideToast() {
|
||||
if (options.timeOut > 0 || options.extendedTimeOut > 0) {
|
||||
intervalId = setTimeout(hideToast, options.extendedTimeOut);
|
||||
progressBar.maxHideTime = parseFloat(options.extendedTimeOut);
|
||||
progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;
|
||||
}
|
||||
}
|
||||
|
||||
function stickAround() {
|
||||
clearTimeout(intervalId);
|
||||
progressBar.hideEta = 0;
|
||||
$toastElement.stop(true, true)[options.showMethod](
|
||||
{duration: options.showDuration, easing: options.showEasing}
|
||||
);
|
||||
}
|
||||
|
||||
function updateProgress() {
|
||||
var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100;
|
||||
$progressElement.width(percentage + '%');
|
||||
}
|
||||
}
|
||||
|
||||
function getOptions() {
|
||||
return $.extend({}, getDefaults(), toastr.options);
|
||||
}
|
||||
|
||||
function removeToast($toastElement) {
|
||||
if (!$container) { $container = getContainer(); }
|
||||
if ($toastElement.is(':visible')) {
|
||||
return;
|
||||
}
|
||||
$toastElement.remove();
|
||||
$toastElement = null;
|
||||
if ($container.children().length === 0) {
|
||||
$container.remove();
|
||||
previousToast = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
});
|
||||
}(typeof define === 'function' && define.amd ? define : function (deps, factory) {
|
||||
if (typeof module !== 'undefined' && module.exports) { //Node
|
||||
module.exports = factory(require('jquery'));
|
||||
} else {
|
||||
window.toastr = factory(window.jQuery);
|
||||
}
|
||||
}));
|
||||
267
rus/admin/_V4/_lib/CodeSeven-toastr/toastr.less
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
// Mix-ins
|
||||
.borderRadius(@radius) {
|
||||
-moz-border-radius: @radius;
|
||||
-webkit-border-radius: @radius;
|
||||
border-radius: @radius;
|
||||
}
|
||||
|
||||
.boxShadow(@boxShadow) {
|
||||
-moz-box-shadow: @boxShadow;
|
||||
-webkit-box-shadow: @boxShadow;
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
|
||||
.opacity(@opacity) {
|
||||
@opacityPercent: @opacity * 100;
|
||||
opacity: @opacity;
|
||||
-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(Opacity=@{opacityPercent})";
|
||||
filter: ~"alpha(opacity=@{opacityPercent})";
|
||||
}
|
||||
|
||||
.wordWrap(@wordWrap: break-word) {
|
||||
-ms-word-wrap: @wordWrap;
|
||||
word-wrap: @wordWrap;
|
||||
}
|
||||
|
||||
// Variables
|
||||
@black: #000000;
|
||||
@grey: #999999;
|
||||
@light-grey: #CCCCCC;
|
||||
@white: #FFFFFF;
|
||||
@near-black: #030303;
|
||||
@green: #51A351;
|
||||
@red: #BD362F;
|
||||
@blue: #2F96B4;
|
||||
@orange: #F89406;
|
||||
@default-container-opacity: .8;
|
||||
|
||||
// Styles
|
||||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.toast-message {
|
||||
.wordWrap();
|
||||
|
||||
a,
|
||||
label {
|
||||
color: @white;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: @light-grey;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: @white;
|
||||
-webkit-text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
.opacity(0.8);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
.opacity(0.4);
|
||||
}
|
||||
}
|
||||
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
.toast-top-center {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-bottom-center {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
// The container should not be clickable.
|
||||
pointer-events: none;
|
||||
* {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
> div {
|
||||
position: relative;
|
||||
// The toast itself should be clickable.
|
||||
pointer-events: auto;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
.borderRadius(3px 3px 3px 3px);
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
.boxShadow(0 0 12px @grey);
|
||||
color: @white;
|
||||
.opacity(@default-container-opacity);
|
||||
}
|
||||
|
||||
> :hover {
|
||||
.boxShadow(0 0 12px @black);
|
||||
.opacity(1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
> .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
> .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
|
||||
> .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
|
||||
/*overrides*/
|
||||
&.toast-top-center > div,
|
||||
&.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&.toast-top-full-width > div,
|
||||
&.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.toast {
|
||||
background-color: @near-black;
|
||||
}
|
||||
|
||||
.toast-success {
|
||||
background-color: @green;
|
||||
}
|
||||
|
||||
.toast-error {
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
.toast-info {
|
||||
background-color: @blue;
|
||||
}
|
||||
|
||||
.toast-warning {
|
||||
background-color: @orange;
|
||||
}
|
||||
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: @black;
|
||||
.opacity(0.4);
|
||||
}
|
||||
|
||||
/*Responsive Design*/
|
||||
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container {
|
||||
|
||||
> div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
|
||||
& .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container {
|
||||
> div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
|
||||
& .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container {
|
||||
> div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
199
rus/admin/_V4/_lib/CodeSeven-toastr/toastr.scss
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #ffffff;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #cccccc;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-center {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-center {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
/*overrides*/
|
||||
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > :hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-center > div,
|
||||
#toast-container.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin: auto;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2f96b4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #f89406;
|
||||
}
|
||||
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: #000000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
}
|
||||
49
rus/admin/_V4/_lib/ImageMapster-master/.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
|
||||
*.jpg binary
|
||||
*.png binary
|
||||
*.gif binary
|
||||
|
||||
*.cs -text diff=csharp
|
||||
*.vb -text
|
||||
*.c -text
|
||||
*.cpp -text
|
||||
*.cxx -text
|
||||
*.h -text
|
||||
*.hxx -text
|
||||
*.py -text
|
||||
*.rb -text
|
||||
*.java -text
|
||||
*.html -text
|
||||
*.htm -text
|
||||
*.css -text
|
||||
*.scss -text
|
||||
*.sass -text
|
||||
*.less -text
|
||||
*.js -text
|
||||
*.lisp -text
|
||||
*.clj -text
|
||||
*.sql -text
|
||||
*.php -text
|
||||
*.lua -text
|
||||
*.m -text
|
||||
*.asm -text
|
||||
*.erl -text
|
||||
*.fs -text
|
||||
*.fsx -text
|
||||
*.hs -text
|
||||
|
||||
*.csproj -text merge=union
|
||||
*.vbproj -text merge=union
|
||||
*.fsproj -text merge=union
|
||||
*.dbproj -text merge=union
|
||||
*.sln -text merge=union
|
||||
15
rus/admin/_V4/_lib/ImageMapster-master/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#################
|
||||
## Nonpublic stuff and generated junk
|
||||
#################
|
||||
|
||||
examples_source/
|
||||
archived/
|
||||
website/
|
||||
./*.zip
|
||||
./*.js
|
||||
src/*.min.js
|
||||
*.sln
|
||||
*.suo
|
||||
*.bat
|
||||
tests/*.min.js
|
||||
|
||||
260
rus/admin/_V4/_lib/ImageMapster-master/CHANGES.md
Normal file
|
|
@ -0,0 +1,260 @@
|
|||
####Version 1.3.0 (planned)
|
||||
|
||||
Features:
|
||||
|
||||
* Return promises from asynchronous events rather than requiring callbacks like "onConfigured"
|
||||
* Return a non-jQuery object exposing the imagemapster API to simplify coding against it
|
||||
|
||||
####Version 1.2.14 (unreleased)
|
||||
|
||||
* Enable mouseover events when touchscreen found (to account for proliferation of machines with mouse pointer + touchscreen)
|
||||
* TODO - detect input device actively to determine when highlight effect should be enabled
|
||||
|
||||
####Version 1.2.13
|
||||
|
||||
* Fix problem with mouseoutdelay=01
|
||||
|
||||
####Version 1.2.12
|
||||
|
||||
* Fix issue with $.inArray on IE8
|
||||
* Fix problem with boundList when using "set" to toggle a multiple areas at once (from 1.2.11 issue - not quite fixed)
|
||||
|
||||
####Version 1.2.11
|
||||
|
||||
* Fix problem de-selecting boundlist when using "set" to toggle
|
||||
|
||||
####Version 1.2.10
|
||||
|
||||
* [Issue 120](https://github.com/jamietre/ImageMapster/issues/114) 1.2.9 broke IE9
|
||||
|
||||
####Version 1.2.9
|
||||
|
||||
* [Issue 114](https://github.com/jamietre/ImageMapster/issues/114) Fix jQuery 1.9 compatibility problem
|
||||
|
||||
####version 1.2.8
|
||||
|
||||
* [Issue 108](https://github.com/jamietre/ImageMapster/issues/108) Opacity of tooltip container not preserved
|
||||
* [Issue 107](https://github.com/jamietre/ImageMapster/issues/107) mouseoutDelay broken
|
||||
|
||||
####version 1.2.7
|
||||
|
||||
* [Issue 95](https://github.com/jamietre/ImageMapster/issues/95) SingleSelect broken in 1.2.6.099
|
||||
* [Issue 87](https://github.com/jamietre/ImageMapster/issues/87) Resize callback not working
|
||||
* [Issue 84](https://github.com/jamietre/ImageMapster/issues/84) Mouseover events not completely suppressed on mobile
|
||||
* Tooltip enhancements: tooltips can be called against arbitrary elements.
|
||||
* AltImage enhancements: see below
|
||||
|
||||
*tooltip-enhancements branch*
|
||||
|
||||
* [Issue 72](https://github.com/jamietre/ImageMapster/issues/72): `scaleMap` not working propery when using bootstrap (css on `body` causing incorrect evaluation of native image size)
|
||||
* Enhanced tooltip API to allow creating arbitrary tool tips bound to any area, or at an arbitrary position.
|
||||
|
||||
*altimage-enhancements branch*
|
||||
|
||||
* Add `altImages` option that accepts an option defining aliases to alternate images. The name of each property is an alias that can be specified as a valid `altImage` option value elsewhere
|
||||
|
||||
Example use of this option:
|
||||
|
||||
|
||||
|
||||
altImages: {
|
||||
roadmap: 'images/usamap-roads.png',
|
||||
elevation: 'images/uasmap-elevation.png'
|
||||
}
|
||||
|
||||
then:
|
||||
|
||||
$('img').mapster('set',true,'AZ', {
|
||||
altImage: 'roadmap'
|
||||
});
|
||||
|
||||
|
||||
The aliases can also be used in the initial configuration options, both globally and for specific areas.
|
||||
|
||||
|
||||
####version 1.2.6 - 2012.07.13
|
||||
|
||||
Bug Fixes:
|
||||
|
||||
* [Issue #69](https://github.com/jamietre/ImageMapster/issues/69) `fill` setting not being honored sometimes in IE6-8
|
||||
* [Issue #68](https://github.com/jamietre/ImageMapster/issues/68) Accept `areas` array with dangling commas
|
||||
|
||||
####version 1.2.5 - 2012.06.19
|
||||
|
||||
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* [Issue #59](https://github.com/jamietre/ImageMapster/issues/59), [Issue #55](https://github.com/jamietre/ImageMapster/issues/55) Opacity/fade effects not working right in IE8
|
||||
* [Issue #58](https://github.com/jamietre/ImageMapster/issues/58) Resize not changing CSS for the `div` contiainer around the image elements
|
||||
* [Issue #53](https://github.com/jamietre/ImageMapster/issues/53) Not working in Google Chrome with Adblock plugin
|
||||
* [Issue #44](https://github.com/jamietre/ImageMapster/issues/44) Incorrect opacity with altImage
|
||||
* [Issue #36](https://github.com/jamietre/ImageMapster/issues/36) Resize firing callback before resize is finished
|
||||
* Rebind not cleaning up resources properly
|
||||
* Offset 1 pixel strokes by 0.5 px to prevent the fuzzies
|
||||
* Ignore UI events during resize - can cause problems if highlights are activated during an effect
|
||||
|
||||
|
||||
Features:
|
||||
|
||||
* [Issue #52](https://github.com/jamietre/ImageMapster/issues/52) Add "clickNavigate" feature to allow basic imagemap functionality
|
||||
* Add "highlight" option to programatically set/unset the highlight effect (as if a user just moused over an area vs. clicked)
|
||||
* Detect touchscreen devices and disable "mouseover"
|
||||
* [Issue #11](https://github.com/jamietre/ImageMapster/issues/11) Detect excanvas automatically and force into IE mode if present
|
||||
|
||||
Notes
|
||||
|
||||
* refactor into modular architecture
|
||||
* tighten up tooltip code a little
|
||||
* Removed "attrmatches" jQuery selector exetnsion, recoded as a function, removed from tests
|
||||
* Queue all methods (highlight, data, tooltip) so configuration delays don't cause problems
|
||||
* Unbind "load" event explicitly from images added.
|
||||
* Add dynamic images to DOM instead of loading through Javascript
|
||||
* Ignore missing keys on some operations to increase stability with bad data
|
||||
* Trim results of string splits so spaces don't cause problems
|
||||
* Yet more tweaking of image loading detection
|
||||
* Refactor "graphics" into an object and instantiate for each instance. "load" callbacks were changing event order, resulting in the single instance getting wires crossed. Isolated
|
||||
each map instance completely, problem solved.
|
||||
* Fix canvases re-ordered after first selection making effect sometimes inconsistent
|
||||
* Fix resize bug when area groups are used
|
||||
|
||||
####version 1.2.4 - 2011.09.27
|
||||
|
||||
* [Issue #14](https://github.com/jamietre/ImageMapster/issues/14) Resize bug in IE <9 fixed
|
||||
|
||||
####version 1.2.3
|
||||
|
||||
* Resize with multiple images affecting other images - fixed
|
||||
|
||||
####version 1.2.2 - 2011.09.22
|
||||
|
||||
* masks not working in Firefox 6.0 only. behavior of context.globalCompositeOperation='source-out' and
|
||||
save/restore somehow changed in ff6. updated code to not depend (possibly) on idiosyncracies of chrome
|
||||
and ie9. honestly not sure why it worked before as it appears I may have been doing something wrong,
|
||||
but the code is more explicit now and it works across all browsers.
|
||||
|
||||
####version 1.2.1
|
||||
|
||||
* Click callback "this" is not set - fixed
|
||||
* Replace u.isFunction with $.isFunction to save a few bytes
|
||||
|
||||
####version 1.2
|
||||
|
||||
* fixed fader problem for old IE (again, really this time)
|
||||
* allow selecting includeKeys areas from staticState areas
|
||||
* test browser features for filter vs. opacity
|
||||
* "resize" option
|
||||
* improve startup speed by eliminating need for setTimeout callback
|
||||
* address startup bug when images aren't loaded and there are lots of images
|
||||
* fixed exception when "set" with no data for key
|
||||
* bug when multiple images bound on same page * another IE tweak: blur() on mouseover/click to remove browser-rendered border around area
|
||||
* force "border=0" on image to ensure consistent display across bind/unbind in IE
|
||||
* Fixed broken "onMouseover" option, added tests for onMouseover/onMouseout.
|
||||
* many performance improvements, tests, refactoring some old inefficient code.
|
||||
* fix css flickering when debinding/rebinding in HTML5 browsers
|
||||
* add "scaleMap" option to automatically resize image maps when a bound image is resized dynamically. Enabled by default if an image is displayed at a size other than its native size.
|
||||
|
||||
####version 1.1.3
|
||||
|
||||
* revised "highlight" method API (previously undocumented). Added tests & documented.
|
||||
* added a generic prototype for parsing method data to improve consistency & stability
|
||||
* added tests for tooltip external & event bound invocation
|
||||
* added invoking tooltip from area, e.g. $('some-area').mapster('tooltip')
|
||||
* added invoking tooltip from key, e.g. .mapster('tooltip',key);
|
||||
* Bug fix for get_options, showToolTip (related)
|
||||
* Bug fix - area id 0 on VML rendereding deselection causes all selections to disappear (introduced in beta 2)
|
||||
* Changed "get" to return true "selected" state and not "isSelected()" which includes staticState items in selected.
|
||||
* Bug fix - stroke sometimes rendered improperly when using render-specific options
|
||||
* change onClick handler to BEFORE action, permit canceling of action by returning false
|
||||
* refactor into mostly OO design - functional design was getting unwieldy.
|
||||
* fix bugs related to cascading of "staticState" options
|
||||
* add "snapshot" option
|
||||
* check for existing wrapper, skip if it already exists
|
||||
* remove map data when unbinding+preserveState -- it should act as if not there
|
||||
* IE performance improvements (optimizing rendering code a little bit)
|
||||
|
||||
####version 1.1.2 - 2011.06-15
|
||||
|
||||
* minor bugfix release
|
||||
|
||||
####version 1.1.1 - 2011.06.03
|
||||
|
||||
* Performance improvement: cache area groups on map binding to eliminate need for attribute selector
|
||||
* Significant enhancement to permit complex area grouping and area exclusions (masks):
|
||||
* added: mapKey can contain multiple keys, allowing an area to be a member of multiple groups
|
||||
* added: "noHrefIsMask" option to determine "nohref" attribute treatment
|
||||
* added: "isMask" option (area-specific)
|
||||
* added: "includeKeys" option (area-specific)
|
||||
* added: 'highlight' method to enable highlighting of areas from code
|
||||
* bufgix: fading didn't work in IE6-7, some Operas. Should work in all browsers except IE8 now.
|
||||
* bugfix: ignore areas with no mapkey when it is provided
|
||||
* bugfix: not binding properly when no mapkey provided
|
||||
|
||||
####version 1.1
|
||||
|
||||
* added: per-action options (highlight, select)
|
||||
* fixed some memory leaks
|
||||
* minor performance improvements
|
||||
* cleanup in VML mode
|
||||
* fix IE9 canvas support (fader problem)
|
||||
* fix flickering on fades when moving quickly
|
||||
* add altImage options
|
||||
* added onConfigured callback
|
||||
* fixed problems with cleanup (not removing wrap)
|
||||
* added failure timeout for configure
|
||||
|
||||
####Version 1.0.10 - 2011.05.12
|
||||
|
||||
* ignore errors when binding mapster to invalid elements
|
||||
* minor performance improvements
|
||||
* fixed command queue problem (broke in 1.0.9) for commands issued after bind, but before image is ready
|
||||
* enhanced tests
|
||||
|
||||
####version 1.0.9 - 2011.05.10
|
||||
|
||||
* added "unbind" option to remove mapster from an image
|
||||
* add 'options' option
|
||||
* add 'rebind' option
|
||||
* add isDeselectable option
|
||||
* handle exceptions better (when acting on unbound images)
|
||||
* add 'get' method to retrieve selections
|
||||
* add unbind options
|
||||
* clear command queue after processing
|
||||
|
||||
####version 1.0.8 - 2011.05.05
|
||||
|
||||
* Handle problem when "img.complete" is not true at config time and "set" commands are issued after initial config call but before config is complete. Queue any "set" commands and process them after the timer callback.
|
||||
* Pass listTarget to onClick callback even when !isSelectable (previously passed null)
|
||||
* Pass ref to toolTip element on callback
|
||||
* Don't show tooltip again if the one for an area is already displayed
|
||||
* Add singleSelect option - clears any other selected item when a new item is selected
|
||||
|
||||
####Version 1.0.6 - 2011.04.27
|
||||
|
||||
* Problem when not using mapKey
|
||||
* staticState=false not working
|
||||
|
||||
####Version 1.0.5 - 2011.04.26
|
||||
|
||||
* Corrected jquery attribute selector (not using quote marks)
|
||||
* added area persistence behavior options
|
||||
* tooltips not working in Firefox - bug in area data management. Deprecated use of jquery.data for passing area-specific options, added "areas" option to replace
|
||||
* fixed "showToolTip" default property name (was showToolTips) - should have had no effect
|
||||
|
||||
####Version 1.0.4 - 2011.04.20
|
||||
|
||||
* allow using jQuery object for toolTip text
|
||||
* happy earth day
|
||||
|
||||
####Version 1.0.3
|
||||
|
||||
* missing preventDefault on click (post refactor issue)
|
||||
|
||||
####Version 1.0.2
|
||||
|
||||
* fixed tooltip in IE6
|
||||
|
||||
####Version 1.0.0 - 2011.04.19 - **first official release**
|
||||
|
||||
* refactored from remaining old to use a clean namespace
|
||||
* added simple mouseover dialog
|
||||
143
rus/admin/_V4/_lib/ImageMapster-master/README.md
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
###**ImageMapster:** A Jquery Plugin to make image maps useful.
|
||||
|
||||
ImageMapster activates the areas in HTML imagemaps so you can highlight and select them. It has lots of other features for manual control, tooltips, resizing, and more. It is designed to be compatible with every common platform, and is tested with Internet Explorer 6-10, Firefox 3.0+, Safari, Opera, and Chrome. It works on mobile devices and doesn't use Flash.
|
||||
|
||||
### Release Information
|
||||
|
||||
See the [change log](https://github.com/jamietre/ImageMapster/blob/master/CHANGES.md) for details on the current release.
|
||||
|
||||
Read the [release notes](http://blog.outsharked.com/2012/06/imagemapster-125-released.html) for 1.2.5, the last significant update.
|
||||
|
||||
### Find out More
|
||||
|
||||
There are lots of examples and documentation on the [ImageMapster web site.](http://www.outsharked.com/imagemapster)
|
||||
|
||||
You can find the [source code on GitHub.](https://github.com/jamietre/ImageMapster) If you have a problem, please file a bug report there!
|
||||
|
||||
<b>Questions?</b>
|
||||
|
||||
- I write about ImageMapster on my blog from time to time. See [posts about imagemapster.](http://blog.outsharked.com/search/label/imagemapster)
|
||||
|
||||
- Take a look at [ImageMapster questions on StackOverflow](http://stackoverflow.com/search?q=imagemapster); there are quite a few. Maybe someone's asked the same question already.
|
||||
|
||||
- There are also some very detailed discussions in the [GitHub issues](https://github.com/jamietre/imagemapster/issues?direction=desc&labels=support&page=1&sort=created&state=closed) section that I've flagged as "support".
|
||||
|
||||
- You can also check the [feedback](http://www.outsharked.com/imagemapster/default.aspx?feedback.html) page on the project web site.
|
||||
|
||||
- Still can't figure it out? [email me directly](mailto:alien@outsharked.com) if you still need help. I will respond as time permits, but I will always respond.
|
||||
|
||||
|
||||
### Usage
|
||||
|
||||
----
|
||||
|
||||
Active all image maps on the page with default options: on mouseover areas are highlighted with a gray fill with no border, and clicking an area causes it to become selected.
|
||||
|
||||
$('img').mapster();
|
||||
|
||||
Activate image maps with some specific options.
|
||||
|
||||
$('img').mapster( {
|
||||
fillColor: 'ff0000',
|
||||
stroke: true,
|
||||
singleSelect: true
|
||||
});
|
||||
|
||||
|
||||
### Manual Control
|
||||
|
||||
----
|
||||
|
||||
There are lots of ways to manipulate the imagemap from Javascript. Here area a few; see the project web site for complete documentation.
|
||||
|
||||
**select**: Cause an area to become "selected"
|
||||
|
||||
$('area').mapster('select');
|
||||
|
||||
Programatically select elements from the image map. The programmatic selection/deselection methods will not honor the staticState property.
|
||||
|
||||
**deselect**: Cause an area to become "selected"
|
||||
|
||||
$('area').mapster('deselect');
|
||||
|
||||
**set**: select or deselect an element. If `selected` is true, the area is selected, if false, it is deselected.
|
||||
|
||||
$('area').mapster('set',selected);
|
||||
|
||||
You can also select or deselect areas using a their `mapKey`. This is an attribute on each area in your HTML that identifies it. You define a mapKey using a configuration option: `mapKey: 'data-key'`.
|
||||
|
||||
$('img').mapster('set',true,'key1,key2');
|
||||
|
||||
If two areas share the same value for the `mapKey` they will be automatically grouped together when activated. You can also use the values of the mapKey to select areas from code.
|
||||
|
||||
You can pass options to change the rendering effects when using set as the last parameter:
|
||||
|
||||
$('img').mapster('set',true,'key', {fillColor: 'ff0000'} );
|
||||
|
||||
MapKeys can contain more than one value. The first value always defines groups when you mouse over. Other values can be used to create logical groups. For example:
|
||||
|
||||
<img id="usamap" src="map.jpeg" usemap="#usa">
|
||||
<map name="usa">
|
||||
<area data-key="maine,new-england,really-cold" shape="poly" coords="...">
|
||||
<area data-key="new-hampshire,new-england,really-cold" shape="poly" coords="...">
|
||||
<area data-key="vermont,new-england,really-cold" shape="poly" coords="...">
|
||||
<area data-key="connecticut,new-england" shape="poly" coords="...">
|
||||
<area data-key="rhode-island,new-england" shape="poly" coords="...">
|
||||
<area data-key="massachusetts,new-england" shape="poly" coords="...">
|
||||
<!-- more states... -->
|
||||
</map>
|
||||
|
||||
$('#usamap').mapster( { mapKey: 'data-key' } );
|
||||
|
||||
Mousing over each state would cause just that state to be higlighted. You can also select other logical groups from code code:
|
||||
|
||||
// select all New England states
|
||||
$('img').mapster('set',true,'new-england');
|
||||
|
||||
// select just Maine, New Hampshire & Vermont
|
||||
$('img').mapster('set',true,'really-cold');
|
||||
|
||||
Groups created this way are *independent* of the primary group. If you select "new-england" from code, you can't unselect just "MA" by clicking on it. You would have to unselect "new-england" from code.
|
||||
|
||||
To simply indentify a set of areas to turn on or off, but not treat them as a logical group, you can use CSS classes and select areas directly, or use the <code>keys</code> option to identify the primary keys associated with a group (see documentation).
|
||||
|
||||
|
||||
----
|
||||
### Options
|
||||
|
||||
Please see github repository for complete documentation.
|
||||
|
||||
### Zepto Compatibility
|
||||
|
||||
Newer versions of Zepto don't seem to work any more (as of 1.2.5). I didn't want this to hold up the ever-delayed release even further so I didn't figure out why.
|
||||
|
||||
In theory it should work; you need to use the "jquery.imagemapster.zepto.js" build. This patches a few holes in Zepto that ImageMapster needs. It is safe to use the zepto version with jQuery.
|
||||
|
||||
### Build instructions
|
||||
|
||||
The source code is broken into several modules to make management easier and to make it possible to create feature-targeted builds. A rakefile is included that creates and minifies the two release builds (with and without Zepto support):
|
||||
|
||||
`rake`
|
||||
|
||||
### Code use license.
|
||||
|
||||
LICENSE (MIT License)
|
||||
|
||||
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.
|
||||
31
rus/admin/_V4/_lib/ImageMapster-master/bower.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "ImageMapster",
|
||||
"version": "1.2.5",
|
||||
"homepage": "https://github.com/jamietre/ImageMapster",
|
||||
"description": "ImageMapster activates the areas in HTML imagemaps so you can highlight and select them. It has lots of other features for manual control, tooltips, resizing, and more. It is designed to be compatiable with every common platform, and is tested with Internet Explorer 6-10, Firefox 3.0+, Safari, Opera, and Chrome. It works on mobile devices and doesn't use Flash.",
|
||||
"main": "dist/jquery.imagemapster.js",
|
||||
"keywords": [
|
||||
"jquery",
|
||||
"imagemapster",
|
||||
"activate",
|
||||
"area",
|
||||
"html"
|
||||
],
|
||||
"authors": [
|
||||
"James Treworgy <jamie@outsharked.com>"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests",
|
||||
"build",
|
||||
"examples",
|
||||
"src"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": "latest"
|
||||
}
|
||||
}
|
||||
12
rus/admin/_V4/_lib/ImageMapster-master/build/README.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
**Building ImageMapster from Source**
|
||||
|
||||
A rakefile is included as a standardized way to build the project. It should work for all environments and will build and minify the output. You need to have Ruby installed as well as uglifier (UglifyJS) gem. To install uglifier just do this (assuming Ruby exists):
|
||||
|
||||
<code>\> gem install uglifier</code>
|
||||
|
||||
To build:
|
||||
|
||||
<code>\> rake</code>
|
||||
|
||||
There used to be a couple batch files for building this with nonstandard tools. Since Uglifier now works on windows, they're deprecated, and rake is the right way to build this.
|
||||
|
||||
176
rus/admin/_V4/_lib/ImageMapster-master/build/rakefile
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
require 'rake'
|
||||
require 'rake/packagetask'
|
||||
|
||||
MAPSTER_VERSION = "unknown"
|
||||
|
||||
MAPSTER_ROOT = File.expand_path(File.dirname(__FILE__))
|
||||
MAPSTER_SRC = File.join(MAPSTER_ROOT, '../src')
|
||||
MAPSTER_DIST = File.join(MAPSTER_ROOT, '../dist')
|
||||
MAPSTER_PKG = File.join(MAPSTER_ROOT, '../pkg')
|
||||
|
||||
MAPSTER_COMPONENTS = [
|
||||
'license',
|
||||
'redist/when',
|
||||
'core',
|
||||
'graphics',
|
||||
'mapimage',
|
||||
'mapdata',
|
||||
'areadata',
|
||||
'areacorners',
|
||||
'scale',
|
||||
'tooltip'
|
||||
]
|
||||
|
||||
|
||||
MAPSTER_ZEPTO_COMPONENTS = [
|
||||
'license',
|
||||
'zepto',
|
||||
'redist/when',
|
||||
'core',
|
||||
'graphics',
|
||||
'mapdata',
|
||||
'mapimage',
|
||||
'areadata',
|
||||
'areacorners',
|
||||
'scale',
|
||||
'tooltip'
|
||||
]
|
||||
|
||||
#task :default => [:clean, :concat, :concatzepto, :dist]
|
||||
task :default => [:clean, :concat, :dist]
|
||||
|
||||
desc "Clean the distribution directory."
|
||||
task :clean do
|
||||
rm_rf MAPSTER_DIST
|
||||
mkdir MAPSTER_DIST
|
||||
end
|
||||
|
||||
def normalize_whitespace(filename)
|
||||
contents = File.readlines(filename)
|
||||
contents.each { |line| line.sub!(/\s+$/, "") }
|
||||
File.open(filename, "w") do |file|
|
||||
file.write contents.join("\n").sub(/(\n+)?\Z/m, "\n")
|
||||
end
|
||||
end
|
||||
|
||||
desc "Strip trailing whitespace and ensure each file ends with a newline"
|
||||
task :whitespace do
|
||||
Dir["src/**/*"].each do |filename|
|
||||
normalize_whitespace(filename) if File.file?(filename)
|
||||
end
|
||||
end
|
||||
|
||||
desc "Concatenate source files to build jquery.imagemapster.js"
|
||||
task :concat, [:addons] => :whitespace do |task, args|
|
||||
# colon-separated arguments such as `concat[foo:bar:-baz]` specify
|
||||
# which components to add or exclude, depending on if it starts with "-"
|
||||
add, exclude = args[:addons].to_s.split(':').partition {|c| c !~ /^-/ }
|
||||
exclude.each {|c| c.sub!('-', '') }
|
||||
files = (MAPSTER_COMPONENTS | add) - exclude
|
||||
|
||||
unless files == MAPSTER_COMPONENTS
|
||||
puts "Building jquery.imagemapster.js by including: #{files.join(', ')}"
|
||||
end
|
||||
|
||||
File.open(File.join(MAPSTER_DIST, 'jquery.imagemapster.js'), 'w') do |f|
|
||||
f.puts files.map { |component|
|
||||
File.read File.join(MAPSTER_SRC, "#{component}.js")
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
desc "Concatenate source files to build jquery.imagemapster.zepto.js"
|
||||
task :concatzepto, [:addons] => :whitespace do |task, args|
|
||||
# colon-separated arguments such as `concat[foo:bar:-baz]` specify
|
||||
# which components to add or exclude, depending on if it starts with "-"
|
||||
add, exclude = args[:addons].to_s.split(':').partition {|c| c !~ /^-/ }
|
||||
exclude.each {|c| c.sub!('-', '') }
|
||||
files = (MAPSTER_ZEPTO_COMPONENTS | add) - exclude
|
||||
|
||||
unless files == MAPSTER_ZEPTO_COMPONENTS
|
||||
puts "Building jquery.imagemapster.zepto.js by including: #{files.join(', ')}"
|
||||
end
|
||||
|
||||
File.open(File.join(MAPSTER_DIST, 'jquery.imagemapster.zepto.js'), 'w') do |f|
|
||||
f.puts files.map { |component|
|
||||
File.read File.join(MAPSTER_SRC, "#{component}.js")
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def google_compiler(src, target)
|
||||
puts "Minifying #{src} with Google Closure Compiler..."
|
||||
`java -jar vendor/google-compiler/compiler.jar --js #{src} --summary_detail_level 3 --js_output_file #{target}`
|
||||
end
|
||||
|
||||
def yui_compressor(src, target)
|
||||
puts "Minifying #{src} with YUI Compressor..."
|
||||
`java -jar vendor/yuicompressor/yuicompressor-2.4.2.jar #{src} -o #{target}`
|
||||
end
|
||||
|
||||
def uglifyjs(src, target)
|
||||
begin
|
||||
require 'uglifier'
|
||||
rescue LoadError => e
|
||||
if verbose
|
||||
puts "\nYou'll need the 'uglifier' gem for minification. Just run:\n\n"
|
||||
puts " $ gem install uglifier"
|
||||
puts "\nand you should be all set.\n\n"
|
||||
exit
|
||||
end
|
||||
return false
|
||||
end
|
||||
puts "Minifying #{src} with UglifyJS..."
|
||||
File.open(target, "w"){|f| f.puts Uglifier.new.compile(File.read(src))}
|
||||
end
|
||||
|
||||
def process_minified(src, target)
|
||||
msize = File.size(File.join(MAPSTER_DIST,'jquery.imagemapster.min.js'))
|
||||
osize = File.size(src)
|
||||
|
||||
puts "Original version: %.3fk" % (osize/1024.0)
|
||||
puts "Minified: %.3fk" % (msize/1024.0)
|
||||
end
|
||||
|
||||
desc "Generates a minified version for distribution, using UglifyJS."
|
||||
task :dist do
|
||||
src, target = File.join(MAPSTER_DIST,'jquery.imagemapster.js'), File.join(MAPSTER_DIST,'jquery.imagemapster.min.js')
|
||||
uglifyjs src, target
|
||||
#src, target = File.join(MAPSTER_DIST,'jquery.imagemapster.zepto.js'), File.join(MAPSTER_DIST,'jquery.imagemapster.zepto.min.js')
|
||||
#uglifyjs src, target
|
||||
process_minified src, target
|
||||
end
|
||||
|
||||
desc "Generates a minified version for distribution using the Google Closure compiler."
|
||||
task :googledist do
|
||||
src, target = File.join(MAPSTER_DIST,'jquery.imagemapster.js'), File.join(MAPSTER_DIST,'jquery.imagemapster.min.js')
|
||||
google_compiler src, target
|
||||
process_minified src, target
|
||||
end
|
||||
|
||||
desc "Generates a minified version for distribution using the YUI compressor."
|
||||
task :yuidist do
|
||||
src, target = File.join(MAPSTER_DIST,'jquery.imagemapster.js'), File.join(MAPSTER_DIST,'jquery.imagemapster.min.js')
|
||||
yui_compressor src, target
|
||||
process_minified src, target
|
||||
end
|
||||
|
||||
desc "Generate docco documentation from sources."
|
||||
task :docs do
|
||||
puts "Generating docs..."
|
||||
puts "Note: to work, install node.js first, then install docco with 'sudo npm install docco -g'."
|
||||
puts `docco src/*`
|
||||
end
|
||||
|
||||
Rake::PackageTask.new('mapster', MAPSTER_VERSION) do |package|
|
||||
package.need_tar_gz = true
|
||||
package.need_zip = true
|
||||
package.package_dir = MAPSTER_PKG
|
||||
package.package_files.include(
|
||||
'README.md',
|
||||
'dist/**/*',
|
||||
'src/**/*',
|
||||
'test/**/*',
|
||||
'examples/**/*'
|
||||
)
|
||||
end
|
||||
4691
rus/admin/_V4/_lib/ImageMapster-master/dist/jquery.imagemapster.js
vendored
Normal file
16
rus/admin/_V4/_lib/ImageMapster-master/dist/jquery.imagemapster.min.js
vendored
Normal file
165
rus/admin/_V4/_lib/ImageMapster-master/examples/altimages.html
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<!-- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>-->
|
||||
<script type="text/javascript" src="redist/jquery.1.7.2.min.js"></script>
|
||||
<script type="text/javascript" src="../src/redist/when.js"></script>
|
||||
<script type="text/javascript" src="../src/core.js"></script>
|
||||
<script type="text/javascript" src="../src/graphics.js"></script>
|
||||
<script type="text/javascript" src="../src/mapimage.js"></script>
|
||||
<script type="text/javascript" src="../src/mapdata.js"></script>
|
||||
<script type="text/javascript" src="../src/areadata.js"></script>
|
||||
<script type="text/javascript" src="../src/areacorners.js"></script>
|
||||
<script type="text/javascript" src="../src/scale.js"></script>
|
||||
<script type="text/javascript" src="../src/tooltip.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
var img = $('img');
|
||||
|
||||
$('#az-test').bind('click',function() {
|
||||
img.mapster('set',true,'AZ', { altImage: 'img2'});
|
||||
});
|
||||
|
||||
img.mapster({
|
||||
mapKey: 'state',
|
||||
altImages: {
|
||||
img2: '../examples/images/usa_map_720_alt_2.jpg',
|
||||
img3: '../examples/images/usa_map_720_alt_3.jpg',
|
||||
img4: '../examples/images/usa_map_720_alt_3.jpg',
|
||||
img5: '../examples/images/usa_map_720_alt_5.jpg'
|
||||
},
|
||||
|
||||
areas: [
|
||||
{
|
||||
key: 'TX',
|
||||
stroke: true,
|
||||
render_highlight: {
|
||||
altImage: 'img5'
|
||||
},
|
||||
render_select: {
|
||||
|
||||
stroke: false,
|
||||
fillOpacity: 0.3,
|
||||
altImageOpacity: 0.5,
|
||||
altImage: 'img5'
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
key: 'NM',
|
||||
render_select: {
|
||||
fillOpacity: 0.2
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a id="az-test" href="#">click to bind az with altimage2</a>
|
||||
<img src="../examples/images/usa_map_720.png"
|
||||
usemap="#usa" style="width:600px;height:371px;">
|
||||
<map id="usa_image_map" name="usa">
|
||||
<area href="#" state="NH" full="New Hampshire" shape="rect" coords="512,29,586,44">
|
||||
<area href="#" state="VT" full="Vermont" shape="rect" coords="543,49,586,62">
|
||||
<area href="#" state="MA" full="Massachusetts" shape="rect" coords="515,68,585,80">
|
||||
<area href="#" state="RI" full="Rhode Island" shape="rect" coords="650,149,711,161">
|
||||
<area href="#" state="CT" full="Connecticut" shape="rect" coords="655,167,711,179">
|
||||
<area href="#" state="NJ" full="New Jersey" shape="rect" coords="656,185,711,198">
|
||||
<area href="#" state="DE" full="Delaware" shape="rect" coords="665,204,711,216">
|
||||
<area href="#" state="MD" full="Maryland" shape="rect" coords="667,223,711,235">
|
||||
<area href="#" state="DC" full="District of Columbia" shape="rect" coords="654,239,711,252">
|
||||
<area href="#" state="WV" full="West Virginia" shape="rect" coords="649,257,711,270">
|
||||
<area href="#" state="SC" full="South Carolina" shape="poly" coords="551,314,551,314,548,314,548,312,547,310,545,308,544,308,542,304,540,299,537,299,536,297,535,295,533,293,532,293,530,290,528,289,524,287,524,287,523,284,522,284,520,280,518,280,515,278,513,277,513,276,514,275,515,274,515,272,520,270,526,267,531,266,543,266,545,267,546,270,549,269,559,269,560,269,570,275,577,281,573,284,572,289,571,293,569,294,569,296,567,296,566,299,563,301,562,303,561,304,558,306,556,307,557,309,553,313,551,314">
|
||||
<area href="#" state="HI" full="Hawaii" shape="poly" coords="169,391,170,389,172,388,172,389,170,391,169,391">
|
||||
<area href="#" state="HI" shape="poly" coords="176,389,181,390,182,390,183,387,183,385,180,384,177,386,176,389">
|
||||
<area href="#" state="HI" shape="poly" coords="199,395,201,400,203,399,204,399,205,400,208,400,208,398,206,398,205,395,203,392,199,395,199,395">
|
||||
<area href="#" state="HI" shape="poly" coords="213,402,214,401,218,401,218,401,222,401,222,402,221,404,217,403,213,402">
|
||||
<area href="#" state="HI" shape="poly" coords="217,406,218,409,221,407,221,407,220,405,217,405,217,406">
|
||||
<area href="#" state="HI" shape="poly" coords="222,405,224,403,227,404,230,405,233,407,233,409,231,410,227,411,226,410,222,405">
|
||||
<area href="#" state="HI" shape="poly" coords="234,416,236,415,238,416,243,419,245,421,247,422,248,425,251,428,251,428,248,431,245,431,244,431,242,432,240,435,239,437,237,437,235,435,234,431,235,430,233,426,232,425,232,422,233,422,235,419,236,419,234,418,234,416">
|
||||
<area href="#" state="AK" full="Alaska" shape="poly" coords="114,344,114,405,116,406,118,406,119,405,121,405,121,407,125,413,126,414,128,413,129,413,129,410,131,410,131,409,133,408,135,410,135,412,137,413,137,414,140,416,143,420,145,422,146,425,147,428,151,428,155,430,155,434,156,436,155,438,154,440,152,439,152,437,149,436,149,435,148,436,149,437,149,440,148,440,146,440,145,438,146,440,146,441,146,441,143,437,143,435,141,434,141,430,140,430,140,433,140,433,139,430,138,428,137,427,138,431,138,432,137,431,134,427,133,426,132,424,131,422,130,421,130,419,131,419,131,418,129,419,127,417,125,415,122,413,119,411,119,409,119,407,118,409,116,410,113,409,109,407,105,407,104,407,100,404,98,404,96,400,94,400,92,401,92,404,92,402,93,403,92,406,95,404,95,405,92,408,91,408,91,407,90,406,89,407,87,405,85,407,83,408,81,410,77,410,77,408,80,408,80,407,78,407,79,404,80,402,80,401,80,400,84,398,85,399,86,399,86,398,83,397,80,399,77,401,77,404,75,405,72,406,70,408,70,410,71,410,72,411,70,414,65,417,60,420,59,421,54,422,50,423,52,424,51,425,50,426,49,425,46,425,46,427,45,427,45,425,43,426,41,427,38,426,36,428,34,428,32,428,31,429,29,428,27,428,26,428,25,429,24,428,24,427,26,426,31,426,34,425,35,424,38,423,39,422,41,422,42,424,43,423,44,422,47,421,49,420,50,420,50,420,51,420,52,418,55,416,56,414,58,410,59,410,59,407,58,409,56,409,55,407,54,407,53,408,53,410,53,410,51,406,50,407,50,406,50,405,47,405,45,406,43,406,44,404,44,403,44,401,45,401,46,401,45,399,45,396,45,395,44,396,40,396,38,395,38,392,37,390,37,389,38,389,38,387,39,386,38,386,38,386,37,384,38,380,41,378,43,377,44,374,46,374,48,374,48,376,50,376,53,374,53,374,54,375,56,375,57,374,58,371,58,366,56,367,54,368,53,367,50,366,47,366,44,363,44,360,44,359,43,357,41,355,42,354,47,353,48,353,49,354,50,354,50,353,53,353,54,353,55,353,54,355,54,356,56,357,59,359,61,358,59,355,59,353,59,352,56,350,56,350,56,349,56,346,54,342,52,339,54,338,56,338,58,338,61,338,64,335,65,333,67,332,68,332,71,332,73,330,74,330,74,331,78,331,80,329,80,329,83,330,85,332,84,332,85,333,86,332,89,332,89,335,90,336,95,337,100,340,101,339,105,341,107,341,108,340,111,341,114,344">
|
||||
<area href="#" state="AK" shape="poly" coords="31,365,32,368,32,369,30,368,29,366,28,365,26,365,26,363,27,361,28,363,29,364,31,365">
|
||||
<area href="#" state="AK" shape="poly" coords="29,389,32,389,35,390,35,391,34,393,32,393,29,391,29,389">
|
||||
<area href="#" state="AK" shape="poly" coords="14,378,15,380,16,381,15,382,14,380,14,378,14,378">
|
||||
<area href="#" state="AK" shape="poly" coords="4,431,7,430,9,429,11,429,11,431,13,431,14,429,14,428,16,428,18,430,17,431,14,432,12,431,9,431,6,431,5,432,4,431">
|
||||
<area href="#" state="AK" shape="poly" coords="40,428,41,430,42,428,41,428,40,428">
|
||||
<area href="#" state="AK" shape="poly" coords="42,431,43,428,44,429,44,431,42,431">
|
||||
<area href="#" state="AK" shape="poly" coords="59,429,60,430,61,429,60,428,59,429">
|
||||
<area href="#" state="AK" shape="poly" coords="65,420,66,424,68,425,72,422,75,421,74,419,74,417,73,418,71,418,71,417,73,417,76,416,77,415,74,414,75,413,73,414,70,417,66,419,65,420">
|
||||
<area href="#" state="AK" shape="poly" coords="96,406,98,404,97,403,95,404,96,406">
|
||||
<area href="#" state="FL" full="Florida" shape="poly" coords="548,337,549,343,552,350,556,356,558,361,562,365,565,368,566,370,565,371,565,372,566,377,569,380,571,383,573,387,577,393,578,399,578,407,578,409,578,411,576,413,577,413,576,415,576,417,577,419,575,421,572,422,569,422,569,423,567,424,566,423,565,422,565,421,564,418,562,414,559,413,557,413,556,413,554,410,553,407,551,404,550,404,549,405,548,405,546,401,544,398,542,395,540,392,537,390,539,388,541,384,541,383,538,383,536,383,537,383,539,384,538,387,537,388,536,385,535,381,535,379,536,376,536,369,533,366,533,364,529,363,527,362,526,361,524,359,523,357,521,356,519,353,516,353,514,351,512,351,509,352,509,353,509,354,509,355,507,355,504,357,502,359,499,359,497,360,497,358,495,356,493,356,492,355,486,352,481,350,477,351,473,351,469,353,466,353,466,347,464,346,463,344,463,342,470,341,489,339,494,339,498,339,500,341,501,343,507,343,515,342,530,341,534,341,538,341,538,343,540,344,540,341,539,337,539,336,544,337,548,337">
|
||||
<area href="#" state="FL" shape="poly" coords="557,434,558,433,560,433,560,431,562,430,563,431,564,431,564,431,562,432,559,433,557,434,557,434">
|
||||
<area href="#" state="FL" shape="poly" coords="566,430,567,431,569,429,573,426,576,423,578,419,578,417,578,415,578,415,577,417,576,420,574,425,571,428,568,428,566,430">
|
||||
<area href="#" state="GA" full="Georgia" shape="poly" coords="500,274,497,275,490,275,484,276,484,278,484,279,485,281,487,287,489,295,490,299,491,302,492,308,494,312,495,314,496,317,497,317,497,319,496,323,496,325,496,326,497,329,497,333,497,335,497,336,498,336,498,339,500,341,501,343,507,343,515,342,530,341,534,341,538,341,538,343,540,344,540,341,539,337,539,336,544,337,548,337,547,332,548,325,550,322,549,320,552,315,551,314,551,314,548,314,548,312,547,310,545,308,544,308,542,304,540,299,537,299,536,297,535,295,533,293,532,293,530,290,528,289,524,287,524,287,523,284,522,284,520,280,518,280,515,278,513,277,513,276,514,275,515,274,515,272,514,272,510,273,505,274,500,274">
|
||||
<area href="#" state="AL" full="Alabama" shape="poly" coords="453,353,452,342,450,329,450,318,451,296,451,284,451,279,457,278,476,277,484,276,484,278,484,279,485,281,487,287,489,295,490,299,491,302,492,308,494,312,495,314,496,317,497,317,497,319,496,323,496,325,496,326,497,329,497,333,497,335,497,336,498,336,499,339,494,339,489,339,470,341,463,342,463,344,464,346,466,347,467,353,461,355,460,355,461,353,461,353,459,348,458,348,457,351,456,353,455,353,453,353">
|
||||
<area href="#" state="NC" full="North Carolina" shape="poly" coords="603,231,605,234,607,239,608,241,609,242,608,242,608,243,608,246,606,247,605,248,605,251,602,252,600,251,599,251,598,251,598,251,598,252,599,252,600,253,599,257,602,257,602,259,604,257,605,257,603,260,601,263,600,263,599,263,597,263,593,265,589,269,587,272,585,277,584,278,581,279,577,281,570,275,560,269,559,269,549,269,546,270,545,267,543,266,531,266,526,267,520,270,515,272,514,272,510,273,505,274,500,274,500,271,501,269,503,269,504,266,507,264,509,263,512,260,516,259,516,257,519,254,520,254,523,252,525,252,527,252,527,250,530,248,530,246,530,243,533,244,539,243,550,242,563,239,578,237,591,234,599,232,603,231">
|
||||
<area href="#" state="NC" shape="poly" coords="606,255,608,253,610,251,611,251,611,249,611,245,610,243,609,242,610,242,612,245,612,248,612,251,610,252,608,254,607,255,606,255">
|
||||
<area href="#" state="TN" full="Tennessee" shape="poly" coords="505,247,467,251,456,252,453,252,450,252,450,255,444,255,439,256,431,256,431,260,429,265,428,267,428,270,427,272,424,274,425,276,425,279,423,281,429,281,447,279,451,279,457,278,476,277,484,276,490,275,497,275,500,274,500,271,501,269,503,269,504,266,507,264,509,263,512,260,516,259,516,257,519,254,520,254,523,252,525,252,527,252,527,250,530,248,530,246,530,243,529,243,527,245,521,245,512,246,505,247">
|
||||
<area href="#" state="RI" full="Rhode Island" shape="poly" coords="633,145,633,142,632,139,632,134,635,134,637,134,639,137,641,140,639,142,638,141,638,143,635,144,633,145">
|
||||
<area href="#" state="CT" full="Connecticut" shape="poly" coords="634,145,633,142,632,139,632,134,628,135,612,139,612,141,614,146,614,152,613,154,614,155,617,153,620,151,621,149,622,149,624,149,628,148,634,145">
|
||||
<area href="#" state="MA" full="Massachusetts" shape="poly" coords="653,140,654,140,654,139,655,139,656,140,655,141,652,141,653,140">
|
||||
<area href="#" state="MA" shape="poly" coords="645,141,647,139,648,139,650,140,648,141,647,142,645,141">
|
||||
<area href="#" state="MA" shape="poly" coords="620,125,633,122,635,122,636,119,639,118,641,122,639,125,639,126,641,128,641,128,642,128,644,129,647,134,650,134,651,134,653,132,652,130,650,129,649,129,648,128,649,128,650,128,652,128,653,131,654,132,654,134,651,135,648,137,645,140,644,141,644,140,646,140,646,138,645,136,644,137,643,138,643,140,641,140,639,137,637,134,635,134,632,134,628,135,612,139,611,134,611,127,615,126,620,125">
|
||||
<area href="#" state="ME" full="Maine" shape="poly" coords="669,71,671,72,672,75,672,76,671,80,669,80,667,83,663,86,660,85,659,86,658,87,657,88,659,89,658,89,658,92,656,92,656,90,656,89,655,89,653,87,652,88,653,89,653,90,653,91,653,93,653,95,652,96,650,97,650,98,646,101,644,101,644,100,641,103,642,105,641,106,641,110,640,115,638,114,638,112,635,111,635,109,629,92,626,81,628,81,629,81,629,80,629,75,631,72,632,69,631,68,631,63,632,62,632,60,632,59,632,56,633,52,635,46,637,43,638,43,638,43,638,44,639,45,641,46,642,45,642,44,645,42,647,41,647,41,652,43,653,44,659,65,664,65,665,67,665,70,667,72,668,72,668,71,667,71,669,71">
|
||||
<area href="#" state="ME" shape="poly" coords="654,92,655,92,656,92,656,94,655,95,654,92">
|
||||
<area href="#" state="ME" shape="poly" coords="659,88,660,89,662,87,662,86,660,86,659,88">
|
||||
<area href="#" state="NH" shape="poly" coords="639,118,639,117,640,115,638,114,638,112,635,111,635,109,629,92,626,81,626,81,625,83,624,82,623,81,623,83,622,87,622,91,623,93,623,96,621,99,619,100,619,101,620,102,620,108,619,115,619,118,620,119,620,122,620,124,620,125,633,122,635,122,636,119,639,118">
|
||||
<area href="#" state="VT" shape="poly" coords="611,127,611,123,609,115,608,115,606,113,607,112,606,110,605,107,605,104,605,100,603,95,602,92,622,87,622,91,623,93,623,96,621,99,619,100,619,101,620,102,620,108,619,115,619,118,620,119,620,122,620,124,620,125,615,126,611,127">
|
||||
<area href="#" state="NY" full="New York" shape="poly" coords="600,152,599,152,598,152,596,150,594,146,592,146,590,144,577,147,545,153,539,155,539,149,541,148,542,147,542,146,543,146,545,144,545,143,547,141,548,140,548,140,547,137,545,137,544,133,546,131,549,131,552,129,554,129,559,129,560,130,562,130,563,129,565,128,569,128,570,127,572,125,572,123,574,123,575,122,575,120,575,119,575,118,575,116,575,115,574,115,572,115,572,114,572,112,576,108,577,107,578,105,580,102,582,99,584,98,585,96,587,95,591,95,593,95,597,93,602,92,603,95,605,100,605,104,605,107,606,110,607,112,606,113,608,115,609,115,611,123,611,127,611,134,611,138,612,141,614,146,614,152,613,154,614,155,614,156,612,158,613,158,614,158,614,158,616,155,617,155,618,155,620,155,626,153,628,151,629,150,632,151,629,154,626,155,621,160,620,160,615,161,612,162,611,162,611,160,611,158,611,156,609,155,605,155,603,154,600,152">
|
||||
<area href="#" state="NJ" full="New Jersey" shape="poly" coords="600,152,599,155,599,156,597,158,597,160,598,161,598,163,596,164,597,165,597,166,599,167,600,168,602,170,604,171,604,172,602,174,601,176,599,178,598,179,597,179,597,180,596,182,597,184,599,185,603,188,606,188,606,189,605,190,605,191,606,191,608,190,608,186,611,183,613,179,614,175,613,174,613,167,611,164,611,165,609,165,608,165,609,164,611,163,611,162,611,160,611,158,611,156,609,155,605,155,603,154,600,152">
|
||||
<area href="#" state="PA" full="Pennsylvania" shape="poly" coords="597,179,598,179,599,178,601,176,602,174,604,172,604,171,602,170,600,168,599,167,597,166,597,165,596,164,598,163,598,161,597,160,597,158,599,156,599,155,600,152,599,152,598,152,596,150,594,146,592,146,590,144,577,147,545,153,539,155,539,149,535,153,534,154,531,156,533,170,534,178,537,191,540,191,549,190,576,185,587,182,593,181,594,180,596,179,597,179">
|
||||
<area href="#" state="DE" shape="poly" coords="596,182,597,180,597,179,596,179,594,180,593,182,594,185,596,188,597,196,599,200,602,200,606,199,605,194,604,194,602,192,600,189,599,186,597,185,596,183,596,182">
|
||||
<area href="#" state="MD" shape="poly" coords="606,199,602,200,599,200,597,196,596,188,594,185,593,181,587,182,576,185,549,190,550,194,551,197,551,197,552,196,554,194,556,194,557,192,558,191,559,191,561,191,563,189,565,188,566,188,567,188,569,190,571,191,572,192,575,193,575,195,578,196,580,197,581,196,582,197,581,200,581,201,580,203,580,205,580,206,584,207,587,207,589,208,590,208,591,206,590,205,590,203,588,202,587,198,588,194,588,193,587,191,590,188,591,186,591,187,590,188,590,191,590,192,591,192,591,196,590,197,590,200,590,199,591,197,593,199,591,200,591,203,593,205,596,205,597,205,599,209,600,209,600,212,599,215,599,220,599,222,601,222,602,219,602,217,602,212,605,208,606,203,606,199">
|
||||
<area href="#" state="MD" shape="poly" coords="595,206,596,208,596,209,596,211,596,206,595,206">
|
||||
<area href="#" state="WV" shape="poly" coords="549,190,550,194,551,197,551,197,552,196,554,194,556,194,557,192,558,191,559,191,561,191,563,189,565,188,566,188,567,188,569,190,571,191,572,192,571,195,566,193,563,192,563,196,563,197,562,200,561,200,559,202,559,204,557,204,556,206,555,210,554,210,552,209,551,208,550,208,550,211,548,216,545,224,545,224,545,227,544,228,542,227,540,230,538,229,537,232,530,233,528,234,527,233,525,233,524,230,521,229,520,227,518,224,517,223,515,221,515,221,515,217,516,216,518,216,518,214,518,213,519,209,519,206,521,206,521,207,521,208,523,207,524,206,523,205,523,203,523,202,525,200,526,199,527,199,529,198,531,195,533,193,533,188,533,185,533,182,533,179,533,178,534,177,537,191,540,191,549,190">
|
||||
<area href="#" state="VA" full="Virginia" shape="poly" coords="524,230,525,233,527,233,528,234,530,233,532,232,538,229,540,230,542,227,544,228,545,227,545,224,545,224,548,216,550,211,550,208,551,208,552,209,554,210,555,210,556,206,557,204,559,204,559,202,561,200,562,200,563,197,563,196,563,192,566,193,571,195,572,191,575,193,575,195,578,196,580,197,581,196,582,197,581,200,581,201,580,203,580,205,580,206,584,207,585,208,589,209,590,210,593,210,594,212,593,215,594,215,594,217,596,218,596,220,593,219,593,220,594,221,594,221,596,222,596,224,596,225,595,227,595,227,597,227,599,226,600,226,603,231,599,232,591,234,578,237,563,239,550,242,539,243,533,244,530,243,529,243,527,245,521,245,512,246,505,247,507,246,511,244,514,242,514,241,515,239,518,236,521,233,524,230">
|
||||
<area href="#" state="KY" full="Kentucky" shape="poly" coords="524,230,521,233,518,236,515,239,514,241,514,242,511,244,507,246,505,247,467,251,456,252,453,252,450,252,450,255,444,255,439,256,431,256,432,255,434,254,435,253,435,251,436,249,435,248,435,246,437,245,439,245,440,245,443,246,444,246,444,245,443,242,443,241,445,240,446,239,448,239,447,238,446,236,448,236,449,233,450,232,455,231,458,231,458,233,460,233,461,230,463,230,464,231,465,232,467,231,467,229,469,227,470,227,470,228,473,228,474,227,474,225,476,222,479,220,480,216,482,216,485,215,487,213,486,212,485,211,485,209,488,209,491,209,493,210,494,213,498,213,499,215,500,215,503,214,505,214,506,215,508,213,509,212,510,212,511,214,512,215,515,216,515,221,515,221,517,223,518,224,520,227,521,229,524,230">
|
||||
<area href="#" state="OH" full="Ohio" shape="poly" coords="531,156,526,159,523,161,521,163,518,166,515,167,513,167,509,169,508,169,505,167,501,167,500,166,497,165,494,166,487,167,481,167,482,179,483,188,485,205,485,209,488,209,491,209,493,210,494,213,498,213,499,215,500,215,503,214,505,214,506,215,508,213,509,212,510,212,511,214,512,215,515,217,516,216,518,216,518,214,518,213,519,209,519,206,521,206,521,207,521,208,523,207,524,206,523,205,523,203,523,202,525,200,526,199,527,199,529,198,531,195,533,193,533,188,533,185,533,182,533,179,533,178,534,178,533,170,531,156">
|
||||
<area href="#" state="MI" full="Michigan" shape="poly" coords="422,74,423,73,425,72,428,69,430,68,431,69,427,73,424,74,422,75,422,74">
|
||||
<area href="#" state="MI" shape="poly" coords="484,98,485,99,487,99,488,98,485,96,484,96,483,97,484,98">
|
||||
<area href="#" state="MI" shape="poly" coords="506,143,503,137,502,131,500,128,498,127,497,128,494,129,493,133,491,135,490,136,489,135,490,129,491,127,491,125,493,124,493,116,491,115,491,114,490,113,491,112,491,113,491,111,490,110,489,107,487,107,484,107,480,104,478,104,477,104,476,104,474,103,473,104,470,106,470,108,471,108,473,109,473,110,471,110,470,110,468,111,468,113,468,114,468,118,466,119,465,119,465,116,467,115,467,113,467,113,465,113,464,116,462,117,461,118,461,119,461,119,461,122,459,122,459,122,460,125,459,128,458,131,458,135,458,136,458,137,458,138,458,140,460,145,462,149,463,152,463,156,462,161,460,164,460,166,458,168,457,169,461,169,476,167,481,167,481,167,487,167,494,166,498,165,497,164,497,164,499,161,500,159,500,156,501,155,502,155,502,152,503,149,504,150,504,151,505,151,506,150,506,143">
|
||||
<area href="#" state="MI" shape="poly" coords="410,95,412,95,414,94,416,92,416,92,417,92,421,91,423,89,426,88,426,87,428,85,429,84,430,83,431,81,434,80,438,79,439,80,439,80,436,81,435,83,433,84,433,86,431,88,431,90,431,90,432,89,434,87,436,89,437,89,440,89,440,90,442,92,444,94,446,94,448,93,449,95,450,95,451,94,452,94,453,93,456,91,458,90,463,89,467,89,468,87,470,87,470,92,470,92,472,92,473,92,478,91,479,90,479,90,479,95,482,98,483,98,484,99,483,99,482,99,479,98,478,99,476,99,474,100,473,100,468,99,464,99,464,101,458,101,457,102,455,104,455,105,455,105,453,104,450,106,449,106,449,104,448,104,447,107,446,110,443,116,442,116,441,115,440,107,437,107,437,104,428,103,425,102,419,100,413,99,410,95">
|
||||
<area href="#" state="WY" full="Wyoming" shape="poly" coords="257,119,249,118,226,116,214,114,194,111,179,109,178,117,175,135,171,157,170,164,169,173,174,174,186,176,192,176,207,178,234,181,252,182,255,150,257,132,257,119">
|
||||
<area href="#" state="MT" full="Montana" shape="poly" coords="259,104,260,95,261,77,262,66,263,56,240,53,219,51,197,48,174,44,161,41,137,37,134,52,137,57,135,61,137,64,139,65,142,73,144,75,145,76,147,77,147,78,142,91,142,93,144,95,145,95,148,93,149,92,150,93,149,97,152,106,154,107,155,108,156,110,155,112,156,115,157,116,158,113,161,113,163,115,164,114,167,114,170,116,172,115,173,113,175,113,176,113,176,116,178,117,179,109,194,111,214,114,226,116,249,118,257,119,259,107,259,104">
|
||||
<area href="#" state="ID" full="Idaho" shape="poly" coords="102,143,105,130,108,117,110,114,111,110,110,108,109,108,108,107,108,107,109,104,112,101,113,100,114,99,114,97,115,96,118,92,121,89,121,86,119,84,117,81,118,74,120,62,124,47,126,38,127,35,137,37,134,52,137,57,135,61,137,64,139,65,142,73,144,75,145,76,147,77,147,78,142,91,142,93,144,95,145,95,148,93,149,92,150,93,149,97,152,106,154,107,155,108,156,110,155,112,156,115,157,116,158,113,161,113,163,115,164,114,167,114,170,116,172,115,173,113,175,113,176,113,176,116,178,117,175,135,172,157,168,156,162,155,155,154,146,152,137,151,131,149,124,148,117,146,102,143">
|
||||
<area href="#" state="WA" full="Washington" shape="poly" coords="68,19,71,20,78,22,84,23,98,28,116,32,127,35,126,38,124,47,120,62,118,74,118,81,107,79,96,76,85,76,85,75,81,77,77,77,76,75,75,76,71,75,71,74,67,73,66,73,63,72,62,74,57,73,53,70,53,69,53,64,52,61,49,61,48,59,47,59,45,57,44,58,42,56,42,54,44,53,46,50,44,50,44,47,47,47,45,44,44,40,44,38,44,32,43,29,44,23,47,23,48,25,50,27,53,29,56,30,58,30,60,32,62,32,64,32,64,30,65,29,67,29,67,29,67,31,65,31,65,32,66,33,67,35,68,37,69,36,69,35,68,35,68,32,68,31,68,30,68,29,69,26,68,24,67,20,67,20,68,19">
|
||||
<area href="#" state="WA" shape="poly" coords="61,23,62,23,62,24,64,23,65,23,66,24,65,26,65,26,65,28,64,28,63,26,63,26,62,27,61,26,61,23">
|
||||
<area shape="circle" state="TX" coords="300,350,30" nohref>
|
||||
<area href="#" state="TX" full="Texas" shape="poly" coords="259,256,275,257,298,258,296,275,296,288,296,289,299,292,301,293,302,293,302,291,303,293,305,293,305,291,307,293,306,295,309,296,311,296,314,296,316,298,317,296,320,297,322,299,323,299,323,301,324,302,326,300,327,300,329,300,329,302,333,304,334,303,335,300,336,300,337,302,340,302,343,303,345,304,347,303,347,301,350,301,351,302,353,300,354,300,355,302,358,302,359,300,360,300,362,302,364,304,366,304,368,305,370,307,372,305,374,306,374,314,374,321,375,329,376,331,377,334,378,338,381,341,381,344,382,344,381,350,379,354,380,356,380,358,380,363,378,365,379,368,374,369,367,372,366,374,364,375,362,376,362,377,358,380,356,382,352,385,347,386,343,389,342,390,338,392,335,393,332,397,329,397,329,398,330,400,329,404,329,407,328,410,327,413,328,415,329,420,329,425,331,426,330,428,328,429,324,426,320,425,319,425,317,425,314,423,310,422,304,419,302,417,302,412,299,411,299,409,299,409,299,406,299,406,298,405,299,402,298,400,296,399,293,396,290,392,287,389,287,388,284,379,283,376,282,374,282,374,278,370,275,368,275,367,274,365,269,365,263,364,261,362,258,364,255,365,254,367,253,370,250,374,248,376,246,375,245,374,243,374,241,372,241,372,239,371,236,369,230,363,229,360,229,354,227,350,226,347,224,347,224,345,221,344,219,342,214,337,213,335,210,332,209,329,207,327,206,327,205,323,211,324,232,326,253,327,254,310,257,270,259,256,260,256">
|
||||
<area href="#" state="TX" shape="poly" coords="332,426,331,421,329,416,329,410,329,404,332,399,335,395,337,393,338,393,334,398,331,403,329,407,329,411,329,416,332,421,332,425,332,425,332,426">
|
||||
|
||||
<area href="#" state="CA" full="California" shape="poly" coords="99,296,102,295,104,293,104,291,101,291,101,290,101,289,101,285,103,284,105,282,105,278,107,276,108,275,110,273,112,272,112,271,111,270,110,269,110,266,107,262,108,260,106,257,95,241,81,220,65,195,56,182,57,177,62,158,68,135,58,133,48,130,39,127,34,125,26,123,20,122,20,125,19,131,15,139,13,141,13,142,11,143,11,146,10,148,12,151,13,154,14,156,14,161,13,164,12,167,11,170,13,173,14,176,17,180,17,182,17,185,17,185,17,187,21,191,20,194,20,195,20,197,20,203,21,205,23,207,25,207,26,209,24,212,23,213,22,213,22,216,22,218,24,221,26,225,26,228,27,230,30,235,31,236,32,239,32,239,32,241,32,242,31,248,30,249,32,251,35,251,38,253,41,254,43,254,45,257,47,260,48,262,51,263,54,264,56,266,56,268,55,268,55,269,57,269,59,269,62,273,65,276,65,278,67,281,67,283,67,290,68,291,74,292,89,294,99,296">
|
||||
<area href="#" state="CA" shape="poly" coords="35,259,36,260,36,261,34,261,33,260,33,259,35,259">
|
||||
<area href="#" state="CA" shape="poly" coords="37,259,38,258,40,260,42,261,41,261,38,261,37,260,37,259">
|
||||
<area href="#" state="CA" shape="poly" coords="52,273,53,275,53,275,55,276,55,275,54,274,53,272,52,272,52,273">
|
||||
<area href="#" state="CA" shape="poly" coords="50,279,52,282,53,283,52,284,51,282,50,279">
|
||||
<area href="#" state="AZ" full="Arizona" shape="poly" coords="100,296,98,297,98,298,98,299,112,306,120,312,131,318,143,326,152,327,172,330,173,320,176,301,181,262,184,239,165,237,146,233,122,229,119,242,119,242,118,245,116,245,115,242,113,242,113,241,112,241,111,242,110,242,110,248,110,248,109,258,108,260,107,262,110,266,110,269,111,270,112,271,112,272,110,273,108,275,107,276,105,278,105,282,103,284,101,285,101,289,101,290,101,291,104,291,104,293,102,295,100,296">
|
||||
<area href="#" state="NV" full="Nevada" shape="poly" coords="102,143,117,146,124,148,131,149,137,151,136,155,133,167,131,182,129,189,128,199,125,211,123,221,122,230,119,242,119,242,118,245,116,245,115,242,113,242,113,241,112,241,111,242,110,242,110,248,110,248,109,258,108,260,106,257,95,241,81,220,65,195,56,182,57,177,62,158,68,135,92,141,102,143">
|
||||
<area href="#" state="UT" full="Utah" shape="poly" coords="184,240,165,237,146,233,122,229,123,221,125,211,128,199,129,189,131,182,133,167,136,155,137,151,146,152,155,154,162,155,168,156,172,157,170,164,169,173,174,174,186,176,193,176,191,192,188,209,185,229,185,237,184,240">
|
||||
<area href="#" state="CO" full="Colorado" shape="poly" coords="272,248,275,201,276,185,252,182,234,181,207,178,192,176,191,192,188,209,185,229,185,237,184,240,209,242,236,246,260,248,264,248,272,248">
|
||||
<area href="#" state="NM" full="New Mexico" shape="poly" coords="206,327,205,323,211,324,232,326,253,327,254,310,257,270,259,256,260,256,260,248,236,246,209,242,184,240,181,262,176,301,173,320,172,330,183,331,184,324,196,326,206,327">
|
||||
<area href="#" state="OR" full="Oregon" shape="poly" coords="102,143,105,130,108,117,110,114,111,110,110,108,109,108,108,107,108,107,109,104,112,101,113,100,114,99,114,97,115,96,118,92,121,89,121,86,119,84,118,81,107,79,96,76,85,76,85,75,81,77,77,77,76,75,75,76,71,75,71,74,67,73,66,73,63,72,62,74,57,73,53,70,53,69,53,64,52,61,49,61,48,59,47,59,42,60,41,65,38,72,36,77,32,87,28,97,22,106,20,108,20,114,19,119,20,122,26,123,34,125,39,127,48,130,58,133,68,135">
|
||||
<area href="#" state="OR" shape="poly" coords="102,143,68,135,92,141,102,143">
|
||||
<area href="#" state="ND" full="North Dakota" shape="poly" coords="342,107,341,101,341,96,339,86,338,80,338,77,336,73,336,65,337,63,335,59,314,59,300,58,281,57,263,56,262,66,261,77,260,95,259,104,300,107,342,107">
|
||||
<area href="#" state="SD" full="South Dakota" shape="poly" coords="343,162,343,161,341,159,343,155,344,152,341,150,341,148,342,146,344,146,344,141,344,119,343,117,340,115,339,113,339,112,341,111,342,110,342,107,300,107,259,104,259,107,257,119,257,132,255,151,266,152,281,152,294,153,311,154,319,154,320,155,324,158,325,158,328,157,331,157,333,157,334,158,338,158,340,160,341,161,341,163,342,163,343,162">
|
||||
<area href="#" state="NE" full="Nebraska" shape="poly" coords="352,194,353,195,353,197,354,200,356,203,352,203,320,203,291,201,275,200,276,185,252,182,255,151,266,152,281,152,294,153,311,154,319,154,320,155,324,158,325,158,328,157,331,157,333,157,334,158,338,158,340,160,341,161,341,163,342,163,344,162,344,167,347,172,347,176,349,178,349,182,350,185,350,190,352,194">
|
||||
<area href="#" state="IA" full="Iowa" shape="poly" coords="411,161,411,162,413,162,413,163,414,164,417,167,417,169,417,171,416,174,415,176,413,177,412,177,408,179,407,180,407,182,407,182,409,183,409,186,407,188,407,188,407,191,406,191,404,192,404,193,404,194,404,196,401,193,400,191,395,192,387,192,369,193,359,193,353,194,352,194,350,190,350,185,349,182,349,178,347,176,347,172,344,167,344,162,342,161,341,159,343,155,344,152,341,150,341,148,342,146,343,146,352,146,388,146,401,146,404,145,404,148,406,149,406,150,404,152,404,155,407,158,408,158,410,158,411,161">
|
||||
<area href="#" state="MS" full="Mississippipi" shape="poly" coords="453,353,452,354,449,354,448,353,446,353,441,355,440,354,438,357,437,358,437,356,436,353,433,350,434,345,434,344,432,344,426,345,409,346,408,344,409,338,411,334,415,328,414,326,415,326,416,324,414,323,414,321,413,318,413,314,413,312,413,309,412,307,413,305,412,304,413,303,413,299,416,296,415,295,418,291,419,290,419,289,419,287,421,284,423,283,423,281,429,281,447,279,451,279,451,284,451,296,450,318,450,329,452,342,453,353">
|
||||
<area href="#" state="IN" full="Indiana" shape="poly" coords="449,233,448,230,449,227,450,225,452,222,453,219,453,215,452,213,452,211,452,207,452,202,451,190,450,179,449,170,452,171,452,172,453,172,455,170,457,169,461,169,476,167,481,167,481,167,482,179,483,188,485,205,485,209,485,211,486,212,487,213,485,215,482,216,480,216,479,220,476,222,474,225,474,227,473,228,470,228,470,227,469,227,467,229,467,231,465,232,464,231,463,230,461,230,460,233,458,233,458,231,455,231,450,232,449,233">
|
||||
<area href="#" state="IL" full="Illinois" shape="poly" coords="448,233,448,230,449,227,450,225,452,222,453,219,453,215,452,213,452,211,452,207,452,202,451,190,450,179,449,170,449,170,448,168,447,165,446,164,445,162,444,158,437,159,418,161,411,160,411,162,413,162,413,163,414,164,417,167,417,169,417,171,416,174,415,176,413,177,412,177,408,179,407,180,407,182,407,182,409,183,409,186,407,188,407,188,407,191,406,191,404,192,404,193,404,194,404,195,403,197,403,200,404,206,410,211,414,213,413,217,414,218,419,218,421,219,421,221,419,226,419,228,420,231,425,235,428,236,429,239,431,241,431,243,431,246,433,248,435,248,435,246,437,245,439,245,440,245,443,246,444,246,444,245,443,242,443,241,445,240,446,239,448,239,447,238,446,236,448,236,448,233">
|
||||
<area href="#" state="MN" full="Minnesota" shape="poly" coords="342,107,341,101,341,96,339,86,338,80,338,77,336,73,336,65,337,63,335,59,357,59,357,53,358,53,359,53,361,54,362,58,362,62,364,63,367,63,368,65,372,65,372,66,376,66,376,65,377,65,378,64,379,65,381,65,384,67,388,68,389,68,390,68,391,68,392,70,393,71,394,71,395,71,395,72,397,73,399,73,400,72,402,70,404,69,404,71,405,71,406,71,407,71,413,71,414,73,415,73,415,72,419,72,418,74,415,75,408,78,405,80,403,81,401,84,399,86,398,87,395,91,394,91,392,93,392,94,390,95,389,98,389,104,389,105,385,107,383,112,383,112,386,113,386,116,385,119,385,121,385,126,387,128,389,128,391,131,393,131,396,135,401,138,403,140,404,146,401,146,388,146,352,146,343,146,344,141,344,119,343,117,340,115,339,113,339,112,341,111,342,110,342,107">
|
||||
<area href="#" state="WI" full="Wisconsin" shape="poly" coords="444,158,444,155,443,152,443,148,442,146,443,143,443,141,444,140,444,137,443,134,444,134,445,131,446,130,445,128,445,127,446,125,448,120,449,116,449,113,449,113,449,113,446,118,444,121,443,122,442,124,441,125,440,126,439,125,439,125,440,122,441,119,443,118,443,116,442,116,441,115,440,107,437,107,437,104,428,103,425,102,419,100,413,99,410,95,410,96,410,96,409,95,407,95,406,95,404,95,404,95,404,94,406,92,407,91,405,89,404,90,401,92,396,94,394,95,392,94,392,94,390,95,389,98,389,104,389,105,385,107,383,112,383,112,386,113,386,116,385,119,385,121,385,126,387,128,389,128,391,131,393,131,396,135,401,138,403,140,404,145,404,148,406,149,406,150,404,152,404,155,407,158,408,158,410,158,411,161,418,161,437,159,444,158">
|
||||
<area href="#" state="MO" full="Missouri" shape="poly" coords="404,196,401,193,400,191,395,192,387,192,369,193,359,193,353,194,352,194,353,195,353,197,354,200,356,203,359,205,361,205,362,206,362,208,360,209,360,210,362,213,363,215,365,216,366,225,365,251,365,254,366,259,383,258,400,258,415,257,423,257,424,259,424,261,422,263,421,265,425,266,429,265,431,260,431,256,433,255,434,254,435,253,435,251,436,249,435,248,433,248,431,246,431,243,431,241,429,239,428,236,425,235,420,231,419,228,419,226,421,221,421,219,419,218,414,218,413,217,414,213,410,211,404,206,403,200,403,197,404,196">
|
||||
<area href="#" state="AR" full="Arkansas" shape="poly" coords="429,265,425,266,421,265,422,263,424,261,424,259,423,257,415,257,400,258,383,258,366,259,367,264,367,270,368,278,368,305,370,307,372,305,374,306,374,314,391,314,404,314,413,314,413,312,413,309,412,307,413,305,412,304,413,303,413,299,416,296,415,295,418,291,419,290,419,289,419,287,421,284,423,283,423,281,425,280,425,276,424,274,427,272,428,270,428,267,429,265">
|
||||
<area href="#" state="OK" full="Oklahoma" shape="poly" coords="272,248,264,248,260,248,260,248,260,256,275,257,298,258,296,275,296,288,296,289,299,292,301,293,302,293,302,291,303,293,305,293,305,291,307,293,306,295,309,296,311,296,314,296,316,298,317,296,320,297,322,299,323,299,323,301,324,302,326,300,327,300,329,300,329,302,333,304,334,303,335,300,336,300,337,302,340,302,343,303,345,304,347,303,347,301,350,301,351,302,353,300,354,300,355,302,358,302,359,300,360,300,362,302,364,304,366,304,368,305,368,278,367,270,367,264,366,259,365,254,365,251,356,251,322,251,290,249,272,248">
|
||||
<area href="#" state="KS" full="Kansas" shape="poly" coords="365,251,356,251,322,251,290,249,272,248,275,200,291,201,320,203,352,203,356,203,359,205,361,205,362,206,362,208,360,209,360,210,362,213,363,215,365,216,366,225,365,251">
|
||||
<area href="#" state="LA" full="Louisiana" shape="poly" coords="437,357,437,356,436,353,433,350,434,345,434,344,432,344,426,345,409,346,408,344,409,338,411,334,415,328,414,326,415,326,416,324,414,323,414,321,413,318,413,314,404,314,391,314,374,314,374,321,375,329,376,331,377,334,378,338,381,341,381,344,382,344,381,350,379,354,380,356,380,358,380,363,378,365,379,368,382,367,388,366,395,369,400,370,403,369,405,370,407,371,408,369,406,368,404,368,401,367,406,366,407,366,410,366,410,368,410,370,414,370,416,371,415,372,414,373,415,374,421,377,424,376,425,374,426,374,428,372,428,373,429,375,428,376,428,377,431,375,432,373,433,373,431,372,431,371,431,370,433,370,434,369,434,369,440,374,441,374,443,374,444,375,446,373,446,372,445,372,443,370,438,369,436,368,437,366,438,366,439,365,437,365,437,365,440,365,441,362,440,361,440,359,439,359,437,361,437,362,434,362,434,361,435,359,437,358,437,357">
|
||||
</map>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 3 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 153 KiB |
|
After Width: | Height: | Size: 136 KiB |
4
rus/admin/_V4/_lib/ImageMapster-master/examples/redist/jquery.1.7.2.min.js
vendored
Normal file
102
rus/admin/_V4/_lib/ImageMapster-master/examples/shapes-ie.html
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>shapes</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
|
||||
<script type="text/javascript" src="../dist/jquery.imagemapster.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
function state_change(data) {
|
||||
//alert(data.state+":"+data.selected);
|
||||
}
|
||||
$('img').mapster({
|
||||
onStateChange: state_change,
|
||||
fillColor: '0a7a0a',
|
||||
fillOpacity: 0.7,
|
||||
mapKey: "group",
|
||||
noHrefIsMask: false,
|
||||
render_select: {
|
||||
fillColor: 'adadad',
|
||||
fillOpacity: 0.5
|
||||
|
||||
},
|
||||
areas: [
|
||||
{
|
||||
key: 'blue-circle',
|
||||
includeKeys: 'rectangle'
|
||||
},
|
||||
{
|
||||
key: 'rectangle',
|
||||
stroke: true,
|
||||
strokeWidth: 3
|
||||
},
|
||||
{
|
||||
key: 'outer-circle',
|
||||
includeKeys: 'outer-circle-perimeter,inner-circle-perimeter'
|
||||
},
|
||||
{
|
||||
key: 'inner-circle',
|
||||
stroke: true,
|
||||
strokeColor: 'adadad',
|
||||
strokeWidth:3,
|
||||
fill: true
|
||||
|
||||
},
|
||||
{
|
||||
key: 'outer-circle-perimeter',
|
||||
stroke: true,
|
||||
strokeWidth:3,
|
||||
fill: false
|
||||
|
||||
},
|
||||
{
|
||||
key: 'inner-circle-perimeter',
|
||||
stroke: true,
|
||||
strokeWidth: 3,
|
||||
fill: false
|
||||
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
|
||||
|
||||
<h2>Shapes Demo (For Full IE Compatibility)</h2>
|
||||
<p>While masks sort of work for Internet Explorer 6-8, if you really want to create areas within areas, you can use polygons to split
|
||||
a shape into two connecting parts and combine them as a group. This example is created by rendering the outer circle in two
|
||||
"c-shaped" halves and rendering the inner circle separately. The other "shapes" demo uses masks and much less markup to do the same thing,
|
||||
but more complex situations where the inner area is not a solid color might not work as well in IE.</p>
|
||||
<p><ul><li>The outer circle is selected independently from the inner circle.</li>
|
||||
<li>The rightmost rectangle is selected with the center circle (and has independent rendering options), but does not itself respond to mouse events.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p><a href="/imagemapster">Return to ImageMapster home</a></p>
|
||||
<img src="images/shapes.jpg" width="512" height="176" border="0" alt="" usemap="#shapes_Map">
|
||||
<map name="shapes_Map">
|
||||
<!-- ImageReady Slices (shapes.jpg) -->
|
||||
<area shape="rect" group="rectangle" alt="" coords="378,39,463,116" nohref>
|
||||
<area shape="poly" group="blue-circle" alt="" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#">
|
||||
<area shape="poly" group="outer-circle" alt="" coords="100,22, 100,46, 90,47, 88,48, 82,51, 73,58, 66,68, 64,81, 65,90, 66,92, 69,98, 77,107, 85,112, 95,115, 100,115, 100,139, 93,138, 83,137, 81,136, 73,133, 71,132, 60,125, 49,113, 42,99, 39,85, 40,69, 41,67, 44,57, 51,45, 65,32, 81,25, 85,24, 91,23" href="#">
|
||||
<area shape="poly" group="outer-circle" alt="" coords="108,23, 123,26, 139,35, 151,48, 158,62, 161,76, 160,92, 159,94, 156,104, 149,116, 135,129, 125,134, 115,137, 109,138, 100,138, 100,115, 111,114, 113,113, 122,108, 132,98, 135,92, 137,83, 136,71, 135,69, 132,63, 124,54, 113,48, 109,47, 105,46, 100,46, 100,22"
|
||||
href="#">
|
||||
<!-- End ImageReady Slices -->
|
||||
|
||||
<area shape="circle" group="inner-circle" coords="101,81,36" href="#">
|
||||
|
||||
<!-- concentric circles for stroke highlighting -->
|
||||
<area shape="circle" group="inner-circle-perimeter" coords="101,81,36" nohref>
|
||||
<area shape="circle" group="outer-circle-perimeter" coords="100,81,59" nohref>
|
||||
<!-- End circles -->
|
||||
|
||||
</map>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
111
rus/admin/_V4/_lib/ImageMapster-master/examples/shapes.html
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>shapes</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../src/redist/when.js"></script>
|
||||
<script type="text/javascript" src="../src/core.js"></script>
|
||||
<script type="text/javascript" src="../src/graphics.js"></script>
|
||||
<script type="text/javascript" src="../src/mapimage.js"></script>
|
||||
<script type="text/javascript" src="../src/mapdata.js"></script>
|
||||
<script type="text/javascript" src="../src/areadata.js"></script>
|
||||
<script type="text/javascript" src="../src/areacorners.js"></script>
|
||||
<script type="text/javascript" src="../src/scale.js"></script>
|
||||
<script type="text/javascript" src="../src/tooltip.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
function state_change(data) {
|
||||
//alert(data.state+":"+data.selected);
|
||||
}
|
||||
$('img').mapster({
|
||||
noHrefIsMask: false,
|
||||
onStateChange: state_change,
|
||||
fillColor: '0a7a0a',
|
||||
fillOpacity: 0.7,
|
||||
mapKey: "group",
|
||||
strokeWidth: 2,
|
||||
stroke:true,
|
||||
strokeColor: 'F88017',
|
||||
render_select: {
|
||||
fillColor: 'adadad',
|
||||
fillOpacity: 0.5
|
||||
|
||||
},
|
||||
areas: [
|
||||
{
|
||||
key: 'blue-circle',
|
||||
includeKeys: 'rectangle',
|
||||
stroke:false
|
||||
},
|
||||
{
|
||||
key: 'rectangle',
|
||||
stroke: true,
|
||||
strokeWidth: 3
|
||||
},
|
||||
{
|
||||
key: 'outer-circle',
|
||||
includeKeys: 'inner-circle-mask,outer-circle-mask',
|
||||
stroke: true
|
||||
},
|
||||
{
|
||||
key: 'outer-circle-mask',
|
||||
isMask: true,
|
||||
fillColorMask: 'ff002a'
|
||||
},
|
||||
{
|
||||
key: 'inner-circle-mask',
|
||||
fillColorMask: 'ffffff',
|
||||
isMask: true
|
||||
}
|
||||
]
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
|
||||
|
||||
<h2>Shapes Demo</h2>
|
||||
<p>This demo shows some advanced features using multiple groups and exclusions.<p>
|
||||
<p><ul><li>The outer circle is selected independently from the inner circle.</li>
|
||||
<li>The inner circle area is used twice - once as an exclusion from the outer circle to create the ring effect, and again as its own
|
||||
area. This is done by specifying two different groups in its "mapKey" and then specifying options for both to create the desired effect.</li>
|
||||
<li>The small circle within the ring when highlighed is another exclusion and shows excluding multiple areas.</li>
|
||||
<li>The rightmost rectangle is selected with the center circle (and has independent rendering options), but does not itself respond to mouse events.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
With Internet Explorer 6-8, masking is not possible. In this case the effect is simulated by rendering the masked area with a specific color
|
||||
that can be defined with the "fillColorMask" option. This option is ignored when using HTML5 canvases. The default is white, which is used
|
||||
for the inner circle, and 2nd small circle in the ring is set specifically to match the color of the ring area.
|
||||
</p>
|
||||
<p><a href="/imagemapster">Return to ImageMapster home</a></p>
|
||||
<img src="images/shapes.jpg" width="512" height="176" border="0" alt="" usemap="#shapes_Map">
|
||||
<map name="shapes_Map">
|
||||
<!-- ImageReady Slices (shapes.jpg) -->
|
||||
<area shape="rect" group="rectangle" alt="" coords="378,39,463,116" href="#">
|
||||
<area shape="poly" group="blue-circle" alt="" coords="286,34, 298,42, 308,54, 314,79, 307,103, 292,118, 270,125, 242,122, 227,112, 216,97, 212,73, 219,53, 227,43, 240,34, 264,29" href="#">
|
||||
<!--
|
||||
<area shape="poly" group="outer-circle" alt="" coords="100,22, 100,46, 90,47, 88,48, 82,51, 73,58, 66,68, 64,81, 65,90, 66,92, 69,98, 77,107, 85,112, 95,115, 100,115, 100,139, 93,138, 83,137, 81,136, 73,133, 71,132, 60,125, 49,113, 42,99, 39,85, 40,69, 41,67, 44,57, 51,45, 65,32, 81,25, 85,24, 91,23" href="#">
|
||||
<area shape="poly" group="outer-circle" alt="" coords="108,23, 123,26, 139,35, 151,48, 158,62, 161,76, 160,92, 159,94, 156,104, 149,116, 135,129, 125,134, 115,137, 109,138, 100,138, 100,115, 111,114, 113,113, 122,108, 132,98, 135,92, 137,83, 136,71, 135,69, 132,63, 124,54, 113,48, 109,47, 105,46, 100,46, 100,22"
|
||||
href="#">
|
||||
|
||||
<area shape="circle" group="inner-circle" coords="101,81,36" href="#">
|
||||
-->
|
||||
<!-- concentric circles for stroke highlighting -->
|
||||
<area shape="circle" group="inner-circle,inner-circle-mask" coords="101,81,36" href="#">
|
||||
<area shape="circle" group="outer-circle-mask" coords="148,81,12" nohref >
|
||||
<area shape="circle" group="outer-circle" coords="100,81,59" href="#">
|
||||
<!-- End circles -->
|
||||
|
||||
</map>
|
||||
|
||||
</body>
|
||||
</html>
|
||||