mirror of
https://github.com/Mibew/mibew.git
synced 2024-11-15 00:24:12 +03:00
parent
6fb71835bf
commit
b18aef404a
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,6 +29,7 @@ src/composer.lock
|
||||
|
||||
# Do not index third-party libraries
|
||||
src/mibew/vendor
|
||||
src/mibew/js/vendor
|
||||
|
||||
# Do not index node.js modules that are used for building
|
||||
src/node_modules
|
||||
|
4
src/.bowerrc
Normal file
4
src/.bowerrc
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"directory": "./mibew/js/vendor",
|
||||
"analytics": false
|
||||
}
|
17
src/bower.json
Normal file
17
src/bower.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "mibew",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"underscore": "1.8.2",
|
||||
"json": "2012.10.08",
|
||||
"jquery": "1.11.2",
|
||||
"backbone": "1.1.2",
|
||||
"marionette": "2.4.1",
|
||||
"handlebars": "3.0.0",
|
||||
"vex": "2.3.2",
|
||||
"validator-js": "3.34.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"underscore": "1.8.2"
|
||||
}
|
||||
}
|
@ -7,6 +7,7 @@ var fs = require('fs'),
|
||||
lodash = require('lodash'),
|
||||
PoFile = require('pofile'),
|
||||
strftime = require('strftime'),
|
||||
bower = require('bower'),
|
||||
gulp = require('gulp'),
|
||||
uglify = require('gulp-uglify'),
|
||||
concat = require('gulp-concat'),
|
||||
@ -21,13 +22,15 @@ var fs = require('fs'),
|
||||
gzip = require('gulp-gzip'),
|
||||
chmod = require('gulp-chmod'),
|
||||
xgettext = require('gulp-xgettext'),
|
||||
concatPo = require('gulp-concat-po');
|
||||
concatPo = require('gulp-concat-po'),
|
||||
rename = require('gulp-rename');
|
||||
|
||||
// Set global configs.
|
||||
var config = {
|
||||
mibewPath: 'mibew',
|
||||
configsPath: 'mibew/configs',
|
||||
phpVendorPath: 'mibew/vendor',
|
||||
jsVendorPath: 'mibew/js/vendor',
|
||||
pluginsPath: 'mibew/plugins',
|
||||
avatarsPath: 'mibew/files/avatar',
|
||||
cachePath: 'mibew/cache',
|
||||
@ -98,6 +101,45 @@ gulp.task('composer-install-dev', ['get-composer'], function(callback) {
|
||||
});
|
||||
});
|
||||
|
||||
// Installs bower dependencies
|
||||
gulp.task('bower-install', function(callback) {
|
||||
bower.commands.install([], {}, {})
|
||||
.on('error', function(error) {
|
||||
callback(error);
|
||||
})
|
||||
.on('end', function() {
|
||||
// We should manually minify JavaScript files that was not minified
|
||||
// by bower packages' authors.
|
||||
// TODO: This is a temproary workaround and should be removed once
|
||||
// the packages will be fixed.
|
||||
var stream = eventStream.merge(
|
||||
gulp.src(config.jsVendorPath + '/backbone/backbone.js', {base: config.jsVendorPath})
|
||||
.pipe(uglify({preserveComments: 'some'}))
|
||||
// There are neither "@license" tag nor "!preserve" in the
|
||||
// header. Add the header manually.
|
||||
.pipe(header(
|
||||
"// Backbone.js 1.1.2\n"
|
||||
+ "// (c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n"
|
||||
+ "// Backbone may be freely distributed under the MIT license.\n"
|
||||
+ "// For all details and documentation:\n"
|
||||
+ "// http://backbonejs.org\n"
|
||||
))
|
||||
.pipe(rename('backbone/backbone-min.js')),
|
||||
gulp.src(config.jsVendorPath + '/json/json2.js', {base: config.jsVendorPath})
|
||||
.pipe(uglify({preserveComments: 'some'}))
|
||||
// There are neither "@license" tag nor "!preserve" in the
|
||||
// header. Add the header manually.
|
||||
.pipe(header("// json2.js. Public Domain. See http://www.JSON.org/js.html\n"))
|
||||
.pipe(rename('json/json2.min.js'))
|
||||
);
|
||||
|
||||
stream.pipe(gulp.dest(config.jsVendorPath));
|
||||
stream
|
||||
.on('error', callback)
|
||||
.on('end', callback);
|
||||
});
|
||||
});
|
||||
|
||||
// Compile all JavaScript files of the Mibew Core
|
||||
gulp.task('js', function() {
|
||||
return eventStream.merge(
|
||||
@ -214,7 +256,7 @@ gulp.task('generate-pot', function() {
|
||||
});
|
||||
|
||||
// Pack sources to .zip and .tar.gz archives.
|
||||
gulp.task('pack-sources', ['composer-install'], function() {
|
||||
gulp.task('pack-sources', ['composer-install', 'bower-install'], function() {
|
||||
var sources = [
|
||||
config.mibewPath + '/**/*',
|
||||
// Exclude user's config
|
||||
@ -232,7 +274,29 @@ gulp.task('pack-sources', ['composer-install'], function() {
|
||||
// Exclude vendors binaries
|
||||
'!' + config.phpVendorPath + '/bin/**/*',
|
||||
// Exclude JavaScript sources
|
||||
'!' + config.jsPath + '/source/**/*'
|
||||
'!' + config.jsPath + '/source/**/*',
|
||||
// Actually we does not need backbone.babysitter and backbone.wreqr
|
||||
// dependencies because they embed into marionette.js. So we exclude
|
||||
// "backbone.babysitter" and "backbone.wreqr" directories and all their
|
||||
// contents.
|
||||
'!' + config.jsVendorPath + '/backbone.babysitter{,/**}',
|
||||
'!' + config.jsVendorPath + '/backbone.wreqr{,/**}',
|
||||
// Exclude dot files within third-party JS libraries.
|
||||
'!' + config.jsVendorPath + '/**/.*',
|
||||
// Exclude config files of various package systems
|
||||
'!' + config.jsVendorPath + '/**/{bower,component,package,composer}.json',
|
||||
// Exclude config files of various build systems
|
||||
'!' + config.jsVendorPath + '/**/Gruntfile.*',
|
||||
'!' + config.jsVendorPath + '/**/gulpfile.*',
|
||||
'!' + config.jsVendorPath + '/**/Makefile',
|
||||
// Exclude HTML files from third-party JS libraries. Such files can be
|
||||
// used for docs or for tests, we need none of them.
|
||||
'!' + config.jsVendorPath + '/**/*.html',
|
||||
// There are too many useless files in Vex.js library. Exclude them.
|
||||
'!' + config.jsVendorPath + '/vex/sass{,/**}',
|
||||
'!' + config.jsVendorPath + '/vex/docs{,/**}',
|
||||
'!' + config.jsVendorPath + '/vex/docs{,/**}',
|
||||
'!' + config.jsVendorPath + '/vex/coffee{,/**}'
|
||||
];
|
||||
var srcOptions = {
|
||||
// Dot files (.htaccess, .keep, etc.) must be included in the package.
|
||||
|
@ -1,388 +0,0 @@
|
||||
@keyframes vex-flyin {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); }
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); } }
|
||||
|
||||
@-webkit-keyframes vex-flyin {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); }
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); } }
|
||||
|
||||
@-moz-keyframes vex-flyin {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); }
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); } }
|
||||
|
||||
@-ms-keyframes vex-flyin {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); }
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); } }
|
||||
|
||||
@-o-keyframes vex-flyin {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); }
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); } }
|
||||
|
||||
@keyframes vex-flyout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); }
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); } }
|
||||
|
||||
@-webkit-keyframes vex-flyout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); }
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); } }
|
||||
|
||||
@-moz-keyframes vex-flyout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); }
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); } }
|
||||
|
||||
@-ms-keyframes vex-flyout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); }
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); } }
|
||||
|
||||
@-o-keyframes vex-flyout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
-webkit-transform: translateY(0);
|
||||
-moz-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
-o-transform: translateY(0); }
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40px);
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px); } }
|
||||
|
||||
@keyframes vex-pulse {
|
||||
0% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
-webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
@-webkit-keyframes vex-pulse {
|
||||
0% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
-webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
@-moz-keyframes vex-pulse {
|
||||
0% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
-webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
@-ms-keyframes vex-pulse {
|
||||
0% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
-webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
@-o-keyframes vex-pulse {
|
||||
0% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
-webkit-box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: inset 0 0 0 300px transparent;
|
||||
-webkit-box-shadow: inset 0 0 0 300px transparent;
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
.vex.vex-theme-default {
|
||||
padding-top: 160px;
|
||||
padding-bottom: 160px; }
|
||||
.vex.vex-theme-default.vex-closing .vex-content {
|
||||
animation: vex-flyout 0.5s;
|
||||
-webkit-animation: vex-flyout 0.5s;
|
||||
-moz-animation: vex-flyout 0.5s;
|
||||
-ms-animation: vex-flyout 0.5s;
|
||||
-o-animation: vex-flyout 0.5s;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
.vex.vex-theme-default .vex-content {
|
||||
animation: vex-flyin 0.5s;
|
||||
-webkit-animation: vex-flyin 0.5s;
|
||||
-moz-animation: vex-flyin 0.5s;
|
||||
-ms-animation: vex-flyin 0.5s;
|
||||
-o-animation: vex-flyin 0.5s;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
.vex.vex-theme-default .vex-content {
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
background: #f0f0f0;
|
||||
color: #444;
|
||||
padding: 1em;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
width: 450px;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.5em; }
|
||||
.vex.vex-theme-default .vex-content h1, .vex.vex-theme-default .vex-content h2, .vex.vex-theme-default .vex-content h3, .vex.vex-theme-default .vex-content h4, .vex.vex-theme-default .vex-content h5, .vex.vex-theme-default .vex-content h6, .vex.vex-theme-default .vex-content p, .vex.vex-theme-default .vex-content ul, .vex.vex-theme-default .vex-content li {
|
||||
color: inherit; }
|
||||
.vex.vex-theme-default .vex-close {
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
cursor: pointer; }
|
||||
.vex.vex-theme-default .vex-close:before {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
content: "\00D7";
|
||||
font-size: 26px;
|
||||
font-weight: normal;
|
||||
line-height: 31px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
text-align: center;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
color: #bbb;
|
||||
background: transparent; }
|
||||
.vex.vex-theme-default .vex-close:hover:before, .vex.vex-theme-default .vex-close:active:before {
|
||||
color: #777;
|
||||
background: #e0e0e0; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-message {
|
||||
margin-bottom: 0.5em; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-input {
|
||||
margin-bottom: 1em; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-input textarea, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="date"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="datetime"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="datetime-local"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="email"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="month"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="number"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="password"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="search"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="tel"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="text"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="time"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="url"], .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="week"] {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
padding: 0.25em 0.67em;
|
||||
border: 0;
|
||||
font-family: inherit;
|
||||
font-weight: inherit;
|
||||
font-size: inherit;
|
||||
min-height: 2.5em;
|
||||
margin: 0 0 0.25em; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-default .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
|
||||
-moz-box-shadow: inset 0 0 0 2px #8dbdf1;
|
||||
-webkit-box-shadow: inset 0 0 0 2px #8dbdf1;
|
||||
box-shadow: inset 0 0 0 2px #8dbdf1;
|
||||
outline: none; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-buttons {
|
||||
*zoom: 1; }
|
||||
.vex.vex-theme-default .vex-dialog-form .vex-dialog-buttons:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both; }
|
||||
.vex.vex-theme-default .vex-dialog-button {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
border: 0;
|
||||
float: right;
|
||||
margin: 0 0 0 0.5em;
|
||||
font-family: inherit;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
font-size: 0.8em;
|
||||
line-height: 1em;
|
||||
padding: 0.75em 2em; }
|
||||
.vex.vex-theme-default .vex-dialog-button.vex-last {
|
||||
margin-left: 0; }
|
||||
.vex.vex-theme-default .vex-dialog-button:focus {
|
||||
animation: vex-pulse 1.1s infinite;
|
||||
-webkit-animation: vex-pulse 1.1s infinite;
|
||||
-moz-animation: vex-pulse 1.1s infinite;
|
||||
-ms-animation: vex-pulse 1.1s infinite;
|
||||
-o-animation: vex-pulse 1.1s infinite;
|
||||
-webkit-backface-visibility: hidden;
|
||||
outline: none; }
|
||||
@media (max-width: 568px) {
|
||||
.vex.vex-theme-default .vex-dialog-button:focus {
|
||||
animation: none;
|
||||
-webkit-animation: none;
|
||||
-moz-animation: none;
|
||||
-ms-animation: none;
|
||||
-o-animation: none;
|
||||
-webkit-backface-visibility: hidden; } }
|
||||
.vex.vex-theme-default .vex-dialog-button.vex-dialog-button-primary {
|
||||
background: #3288e6;
|
||||
color: #fff; }
|
||||
.vex.vex-theme-default .vex-dialog-button.vex-dialog-button-secondary {
|
||||
background: #e0e0e0;
|
||||
color: #777; }
|
||||
|
||||
.vex-loading-spinner.vex-theme-default {
|
||||
-moz-box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3);
|
||||
-webkit-box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 0 0 0 0.5em #f0f0f0, 0 0 1px 0.5em rgba(0, 0, 0, 0.3);
|
||||
-moz-border-radius: 100%;
|
||||
-webkit-border-radius: 100%;
|
||||
border-radius: 100%;
|
||||
background: #f0f0f0;
|
||||
border: 0.2em solid transparent;
|
||||
border-top-color: #bbb;
|
||||
top: -1.1em;
|
||||
bottom: auto; }
|
@ -1,248 +0,0 @@
|
||||
@keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@-webkit-keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@-moz-keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@-ms-keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@-o-keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-webkit-keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-moz-keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-ms-keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-o-keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes vex-rotation {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg); }
|
||||
|
||||
100% {
|
||||
transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
-moz-transform: rotate(359deg);
|
||||
-ms-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg); } }
|
||||
|
||||
@-webkit-keyframes vex-rotation {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg); }
|
||||
|
||||
100% {
|
||||
transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
-moz-transform: rotate(359deg);
|
||||
-ms-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg); } }
|
||||
|
||||
@-moz-keyframes vex-rotation {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg); }
|
||||
|
||||
100% {
|
||||
transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
-moz-transform: rotate(359deg);
|
||||
-ms-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg); } }
|
||||
|
||||
@-ms-keyframes vex-rotation {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg); }
|
||||
|
||||
100% {
|
||||
transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
-moz-transform: rotate(359deg);
|
||||
-ms-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg); } }
|
||||
|
||||
@-o-keyframes vex-rotation {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg); }
|
||||
|
||||
100% {
|
||||
transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
-moz-transform: rotate(359deg);
|
||||
-ms-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg); } }
|
||||
|
||||
.vex, .vex *, .vex *:before, .vex *:after {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box; }
|
||||
|
||||
.vex {
|
||||
position: fixed;
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
z-index: 1111;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0; }
|
||||
|
||||
.vex-scrollbar-measure {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
overflow: scroll; }
|
||||
|
||||
.vex-overlay {
|
||||
background: #000;
|
||||
filter: alpha(opacity=40);
|
||||
/* IE 5–7 */
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
|
||||
/* IE 8 */ }
|
||||
|
||||
.vex-overlay {
|
||||
animation: vex-fadein 0.5s;
|
||||
-webkit-animation: vex-fadein 0.5s;
|
||||
-moz-animation: vex-fadein 0.5s;
|
||||
-ms-animation: vex-fadein 0.5s;
|
||||
-o-animation: vex-fadein 0.5s;
|
||||
-webkit-backface-visibility: hidden;
|
||||
position: fixed;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0; }
|
||||
.vex.vex-closing .vex-overlay {
|
||||
animation: vex-fadeout 0.5s;
|
||||
-webkit-animation: vex-fadeout 0.5s;
|
||||
-moz-animation: vex-fadeout 0.5s;
|
||||
-ms-animation: vex-fadeout 0.5s;
|
||||
-o-animation: vex-fadeout 0.5s;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
|
||||
.vex-content {
|
||||
animation: vex-fadein 0.5s;
|
||||
-webkit-animation: vex-fadein 0.5s;
|
||||
-moz-animation: vex-fadein 0.5s;
|
||||
-ms-animation: vex-fadein 0.5s;
|
||||
-o-animation: vex-fadein 0.5s;
|
||||
-webkit-backface-visibility: hidden;
|
||||
background: #fff; }
|
||||
.vex.vex-closing .vex-content {
|
||||
animation: vex-fadeout 0.5s;
|
||||
-webkit-animation: vex-fadeout 0.5s;
|
||||
-moz-animation: vex-fadeout 0.5s;
|
||||
-ms-animation: vex-fadeout 0.5s;
|
||||
-o-animation: vex-fadeout 0.5s;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
|
||||
.vex-close:before {
|
||||
font-family: Arial, sans-serif;
|
||||
content: "\00D7"; }
|
||||
|
||||
.vex-dialog-form {
|
||||
margin: 0; }
|
||||
|
||||
.vex-dialog-button {
|
||||
text-rendering: optimizeLegibility;
|
||||
-moz-appearance: none;
|
||||
-webkit-appearance: none;
|
||||
cursor: pointer;
|
||||
-webkit-tap-highlight-color: transparent; }
|
||||
|
||||
.vex-loading-spinner {
|
||||
animation: vex-rotation 0.7s linear infinite;
|
||||
-webkit-animation: vex-rotation 0.7s linear infinite;
|
||||
-moz-animation: vex-rotation 0.7s linear infinite;
|
||||
-ms-animation: vex-rotation 0.7s linear infinite;
|
||||
-o-animation: vex-rotation 0.7s linear infinite;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
|
||||
-webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
|
||||
position: fixed;
|
||||
z-index: 1112;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 2em;
|
||||
width: 2em;
|
||||
background: #fff; }
|
||||
|
||||
body.vex-open {
|
||||
overflow: hidden; }
|
2
src/mibew/js/libs/backbone-min.js
vendored
2
src/mibew/js/libs/backbone-min.js
vendored
File diff suppressed because one or more lines are too long
23
src/mibew/js/libs/backbone.marionette.min.js
vendored
23
src/mibew/js/libs/backbone.marionette.min.js
vendored
File diff suppressed because one or more lines are too long
28
src/mibew/js/libs/handlebars.min.js
vendored
28
src/mibew/js/libs/handlebars.min.js
vendored
File diff suppressed because one or more lines are too long
4
src/mibew/js/libs/jquery.min.js
vendored
4
src/mibew/js/libs/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,13 +0,0 @@
|
||||
/*
|
||||
json2.js
|
||||
2011-10-19
|
||||
Public Domain.
|
||||
See http://www.JSON.org/js.html
|
||||
*/
|
||||
var JSON;JSON||(JSON={});
|
||||
(function(){function k(a){return 10>a?"0"+a:a}function o(a){p.lastIndex=0;return p.test(a)?'"'+a.replace(p,function(a){var c=r[a];return"string"===typeof c?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function m(a,j){var c,d,h,n,g=e,f,b=j[a];b&&("object"===typeof b&&"function"===typeof b.toJSON)&&(b=b.toJSON(a));"function"===typeof i&&(b=i.call(j,a,b));switch(typeof b){case "string":return o(b);case "number":return isFinite(b)?String(b):"null";case "boolean":case "null":return String(b);case "object":if(!b)return"null";
|
||||
e+=l;f=[];if("[object Array]"===Object.prototype.toString.apply(b)){n=b.length;for(c=0;c<n;c+=1)f[c]=m(c,b)||"null";h=0===f.length?"[]":e?"[\n"+e+f.join(",\n"+e)+"\n"+g+"]":"["+f.join(",")+"]";e=g;return h}if(i&&"object"===typeof i){n=i.length;for(c=0;c<n;c+=1)"string"===typeof i[c]&&(d=i[c],(h=m(d,b))&&f.push(o(d)+(e?": ":":")+h))}else for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(h=m(d,b))&&f.push(o(d)+(e?": ":":")+h);h=0===f.length?"{}":e?"{\n"+e+f.join(",\n"+e)+"\n"+g+"}":"{"+f.join(",")+
|
||||
"}";e=g;return h}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+k(this.getUTCMonth()+1)+"-"+k(this.getUTCDate())+"T"+k(this.getUTCHours())+":"+k(this.getUTCMinutes())+":"+k(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var q=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
||||
p=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e,l,r={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,j,c){var d;l=e="";if(typeof c==="number")for(d=0;d<c;d=d+1)l=l+" ";else typeof c==="string"&&(l=c);if((i=j)&&typeof j!=="function"&&(typeof j!=="object"||typeof j.length!=="number"))throw Error("JSON.stringify");return m("",{"":a})});
|
||||
"function"!==typeof JSON.parse&&(JSON.parse=function(a,e){function c(a,d){var g,f,b=a[d];if(b&&typeof b==="object")for(g in b)if(Object.prototype.hasOwnProperty.call(b,g)){f=c(b,g);f!==void 0?b[g]=f:delete b[g]}return e.call(a,d,b)}var d,a=String(a);q.lastIndex=0;q.test(a)&&(a=a.replace(q,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
|
||||
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){d=eval("("+a+")");return typeof e==="function"?c({"":d},""):d}throw new SyntaxError("JSON.parse");})})();
|
6
src/mibew/js/libs/underscore-min.js
vendored
6
src/mibew/js/libs/underscore-min.js
vendored
File diff suppressed because one or more lines are too long
23
src/mibew/js/libs/validator.min.js
vendored
23
src/mibew/js/libs/validator.min.js
vendored
File diff suppressed because one or more lines are too long
2
src/mibew/js/libs/vex.combined.min.js
vendored
2
src/mibew/js/libs/vex.combined.min.js
vendored
File diff suppressed because one or more lines are too long
@ -226,21 +226,21 @@ abstract class AbstractController implements
|
||||
public function render($template, array $parameters = array())
|
||||
{
|
||||
// Attach all default css files
|
||||
$this->getAssetManager()->attachCss('css/vex.css', AssetManagerInterface::RELATIVE_URL, -1000);
|
||||
$this->getAssetManager()->attachCss('css/vex-theme-default.css', AssetManagerInterface::RELATIVE_URL, -1000);
|
||||
$this->getAssetManager()->attachCss('js/vendor/vex/css/vex.css', AssetManagerInterface::RELATIVE_URL, -1000);
|
||||
$this->getAssetManager()->attachCss('js/vendor/vex/css/vex-theme-default.css', AssetManagerInterface::RELATIVE_URL, -1000);
|
||||
|
||||
// Attach all needed JavaScript files. This is done here to decouple
|
||||
// templates and JavaScript applications.
|
||||
$assets = array(
|
||||
// External libs
|
||||
'js/libs/jquery.min.js',
|
||||
'js/libs/json2.js',
|
||||
'js/libs/underscore-min.js',
|
||||
'js/libs/backbone-min.js',
|
||||
'js/libs/backbone.marionette.min.js',
|
||||
'js/libs/handlebars.min.js',
|
||||
'js/libs/vex.combined.min.js',
|
||||
'js/libs/validator.min.js',
|
||||
'js/vendor/jquery/dist/jquery.min.js',
|
||||
'js/vendor/json/json2.min.js',
|
||||
'js/vendor/underscore/underscore-min.js',
|
||||
'js/vendor/backbone/backbone-min.js',
|
||||
'js/vendor/marionette/lib/backbone.marionette.min.js',
|
||||
'js/vendor/handlebars/handlebars.min.js',
|
||||
'js/vendor/vex/js/vex.combined.min.js',
|
||||
'js/vendor/validator-js/validator.min.js',
|
||||
// Client side templates
|
||||
$this->getStyle()->getFilesPath() . '/templates_compiled/client_side/templates.js',
|
||||
// Default client side application files
|
||||
|
@ -14,6 +14,8 @@
|
||||
"gulp-chmod": "~1.2.0",
|
||||
"gulp-xgettext": "~0.2.1",
|
||||
"gulp-concat-po": "~0.1.0",
|
||||
"gulp-rename": "~1.2.0",
|
||||
"bower": "~1.3.12",
|
||||
"handlebars": "~3.0.0",
|
||||
"run-sequence": "~1.0.2",
|
||||
"through2": "~0.6.3",
|
||||
|
Loading…
Reference in New Issue
Block a user