finish datepicker move, build correct

This commit is contained in:
vitalets
2012-11-14 23:10:55 +04:00
parent 00a451278a
commit 2b9b6e7bd5
18 changed files with 582 additions and 105 deletions

185
grunt.js
View File

@@ -1,43 +1,37 @@
/*global module:false*/
module.exports = function(grunt) {
function getFiles() {
//directories
var
lib = 'src/',
forms = lib+'editable-form/',
inputs = lib+'inputs/',
containers = lib+'containers/';
grunt.loadNpmTasks('grunt-contrib');
//grunt.loadTasks('tasks/');
//config for different cores of lib
var config = {
bootstrap: {
form: [forms+'editable-form-bootstrap.js'],
container: [containers+'editable-popover.js'],
inputs: [inputs+'date/date.js', inputs+'date/bootstrap-datepicker/js/bootstrap-datepicker.js'],
css: [inputs+'date/bootstrap-datepicker/css/datepicker.css']
},
jqueryui: {
form: [forms+'editable-form-jqueryui.js'],
container: [containers+'editable-tooltip.js'],
inputs: [inputs+'dateui/dateui.js'],
css: []
},
jquery: {
form: [],
container: [containers+'editable-poshytip.js'],
inputs: [inputs+'dateui/dateui.js'],
css: []
}
};
//directories
var
lib = 'src/',
forms = lib+'editable-form/',
inputs = lib+'inputs/',
containers = lib+'containers/';
//config for different cores of lib
var config = {
bootstrap: {
form: [forms+'editable-form-bootstrap.js'],
container: [containers+'editable-popover.js'],
inputs: [inputs+'date/date.js', inputs+'date/bootstrap-datepicker.js'],
css: [inputs+'date/datepicker.css']
},
jqueryui: {
form: [forms+'editable-form-jqueryui.js'],
container: [containers+'editable-tooltip.js'],
inputs: [inputs+'dateui.js'],
css: []
},
jquery: {
form: [],
container: [containers+'editable-poshytip.js'],
inputs: [inputs+'dateui.js'],
css: []
}
};
var inline = [containers+'editable-inline.js'];
//common js files
var js = [
var inline = [containers+'editable-inline.js'];
//common js files
var js = [
'<banner:meta.banner>',
forms+'editable-form.js',
forms+'editable-form-utils.js',
@@ -47,60 +41,71 @@ containers = lib+'containers/';
inputs+'text.js',
inputs+'textarea.js',
inputs+'select.js'
];
//common css files
var css = [
];
//common css files
var css = [
'<banner:meta.banner>',
forms+'editable-form.css',
containers+'editable-container.css',
lib+'element/editable-element.css'
];
//create grunt concat task
var task, folder, dest, concat_files = {}, min_files = {};
for(var k in config) {
folder = '<%= dist %>/'+k+'-editable/';
];
//popup
task = k+'_popup_js';
dest = folder+'js/'+k+'-editable'+ (k === 'jquery' ? '-poshytip' : '');
concat_files[task] = {
src: js.concat(config[k].form).concat(config[k].container).concat(config[k].inputs),
dest: dest+'.js'
};
min_files[task] = {
src: ['<banner:meta.banner>', '<config:concat.'+task+'.dest>'],
dest: dest + '.min.js'
};
//inline
task = k+'_inline_js';
dest = folder+'js/'+k+'-editable-inline';
concat_files[task] = {
src: js.concat(config[k].form).concat(inline).concat(config[k].inputs),
dest: dest+'.js'
};
min_files[task] = {
src: ['<banner:meta.banner>', '<config:concat.'+task+'.dest>'],
dest: dest + '.min.js'
};
//create 'concat' config
var task, folder, dest, concat_files = {}, min_files = {};
for(var k in config) {
folder = '<%= dist %>/'+k+'-editable/';
//css
concat_files[k+'_css'] = {
src: css.concat(config[k].css),
dest: folder+'css/'+k+'-editable.css'
};
}
//popup
task = k+'_popup_js';
dest = folder+'js/'+k+'-editable'+ (k === 'jquery' ? '-poshytip' : '');
concat_files[task] = {
src: js.concat(config[k].form).concat(config[k].container).concat(config[k].inputs),
dest: dest+'.js'
};
min_files[task] = {
src: ['<banner:meta.banner>', '<config:concat.'+task+'.dest>'],
dest: dest + '.min.js'
};
//inline
task = k+'_inline_js';
dest = folder+'js/'+k+'-editable-inline';
concat_files[task] = {
src: js.concat(config[k].form).concat(inline).concat(config[k].inputs),
dest: dest+'.js'
};
min_files[task] = {
src: ['<banner:meta.banner>', '<config:concat.'+task+'.dest>'],
dest: dest + '.min.js'
};
//css
concat_files[k+'_css'] = {
src: css.concat(config[k].css),
dest: folder+'css/'+k+'-editable.css'
};
}
return {concat_files: concat_files, min_files: min_files};
}
/*global module:false*/
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib');
//module for testing
var module = '';
//module = '&module=textarea';
//module = '&module=select';
//module = '&module=text';
//get js and css for different builds
var files = getFiles();
// Project configuration.
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
dist: 'dist',
@@ -112,8 +117,8 @@ containers = lib+'containers/';
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
},
clean: ['<config:dist>'],
concat: concat_files,
min: min_files,
concat: files.concat_files,
min: files.min_files,
qunit: {
bootstrap: [
'http://localhost:8000/test/index.html?f=bootstrap&c=popup'+module,
@@ -143,8 +148,8 @@ containers = lib+'containers/';
'src/inputs/*.js',
'src/element/*.js',
'src/inputs/*.js',
'src/inputs/date/date.js'
//do not check bootstrap-datepicker
'src/inputs/date/date.js',
'src/inputs/dateui/dateui.js'
]
},
/*
@@ -178,14 +183,19 @@ containers = lib+'containers/';
'<%= dist %>/bootstrap-editable/css/img/' : 'src/editable-form/img/*',
'<%= dist %>/jqueryui-editable/css/img/' : 'src/editable-form/img/*',
'<%= dist %>/jquery-editable/css/img/' : 'src/editable-form/img/*',
//do not include locales. One can download it on-demand
// '<%= dist %>/bootstrap-editable/js/locales/' : 'src/inputs/date/locales/*',
//licences
'<%= dist %>/': ['LICENSE-MIT', 'README.md', 'CHANGELOG.txt']
},
options: {
flatten: true
}
}
},
ui_datepicker: {
files: {
//copy jquery ui datepicker
'<%= dist %>/jquery-editable/jquery-ui-datepicker/' : 'src/inputs/dateui/jquery-ui-datepicker/**'
}
}
},
yuidoc: {
compile: {
@@ -239,10 +249,11 @@ containers = lib+'containers/';
// Default task.
// grunt.registerTask('default', 'lint qunit');
grunt.registerTask('default', 'clean concat min copy');
grunt.registerTask('default', 'clean lint concat min copy');
// build
grunt.registerTask('build', 'clean lint concat min copy');
//to run particular task use ":", e.g. copy:libs
};