1 | 'use strict';
|
2 |
|
3 | var gulp = require('gulp');
|
4 | var concat = require('gulp-concat');
|
5 | var uglify = require('gulp-uglify');
|
6 | var rename = require('gulp-rename');
|
7 | var minifycss = require('gulp-minify-css');
|
8 | var util = require('gulp-util');
|
9 | var makeumd = require('./makeumd.js');
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | var errHandle = function ( err ) {
|
20 |
|
21 | var fileName = err.fileName;
|
22 |
|
23 | var name = err.name;
|
24 |
|
25 | var message = err.message;
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | this.end();
|
34 | }
|
35 |
|
36 |
|
37 | var globs = {
|
38 | js: {
|
39 | dtJs:[
|
40 | 'js/dtJs/core.js',
|
41 | 'js/app.js',
|
42 | 'js/dataTable.js',
|
43 | 'js/dtJs/mixins/enableMixin.js',
|
44 | 'js/dtJs/mixins/requiredMixin.js',
|
45 | 'js/dtJs/mixins/validateMixin.js',
|
46 | 'js/dtJs/mixins/valueMixin.js',
|
47 | 'js/dtJs/baseAdapter.js',
|
48 | 'js/dtJs/integer.js',
|
49 | 'js/dtJs/float.js',
|
50 | 'js/dtJs/currency.js',
|
51 | 'js/dtJs/ckeditor.js',
|
52 | 'js/dtJs/percent.js',
|
53 | 'js/dtJs/string.js',
|
54 | 'js/dtJs/textarea.js',
|
55 | 'js/dtJs/textfield.js',
|
56 | 'js/dtJs/checkbox.js',
|
57 | 'js/dtJs/switch.js',
|
58 | 'js/dtJs/combobox.js',
|
59 | 'js/dtJs/radio.js',
|
60 | 'js/dtJs/native-radio.js',
|
61 | 'js/dtJs/native-checkbox.js',
|
62 | 'js/dtJs/pagination.js',
|
63 | 'js/dtJs/datetime.js',
|
64 | 'js/dtJs/time.js',
|
65 | 'js/dtJs/yearmonth.js',
|
66 | 'js/dtJs/year.js',
|
67 | 'js/dtJs/month.js',
|
68 | 'js/dtJs/progress.js',
|
69 | 'js/dtJs/url.js',
|
70 | 'js/dtJs/password.js',
|
71 | ],
|
72 | coreJs:[
|
73 | 'js/core/core.js',
|
74 | 'js/core/event.js',
|
75 | 'js/utilities/jsExtensions.js',
|
76 | 'js/core/ajax.js',
|
77 | 'js/core/base.js',
|
78 | 'js/core/compMgr.js',
|
79 | 'js/utilities/i18n.js',
|
80 | 'js/utilities/rsautils.js',
|
81 | 'js/utilities/masker.js',
|
82 | 'js/utilities/formater.js',
|
83 | 'js/utilities/dateUtils.js',
|
84 | 'js/utilities/dataRender.js',
|
85 | 'js/utilities/hotKeys.js'
|
86 | ],
|
87 | treeJs:'js/dtJs/tree.js',
|
88 | gridJs:'js/dtJs/grid.js'
|
89 | }
|
90 | };
|
91 |
|
92 | gulp.task('js-init', function() {
|
93 | return gulp.src(globs.js.dtJs)
|
94 | .pipe(concat('model.js'))
|
95 | .pipe(gulp.dest('dist/js'))
|
96 | .pipe(uglify())
|
97 | .on('error', errHandle)
|
98 | .pipe(rename('model.min.js'))
|
99 | .pipe(gulp.dest('dist/js'));
|
100 | });
|
101 |
|
102 | gulp.task('js', ['js-init'], function(){
|
103 | makeumd.init([
|
104 | 'dist/js/model.js',
|
105 | 'dist/js/model.min.js',
|
106 | ]);
|
107 | });
|
108 |
|
109 | gulp.task('ujs-init', ['js-init'], function(){
|
110 | return gulp.src(globs.js.coreJs.concat(globs.js.dtJs))
|
111 | .pipe(concat('u-model.js'))
|
112 | .pipe(gulp.dest('dist/js'))
|
113 | .pipe(uglify())
|
114 | .on('error', errHandle)
|
115 | .pipe(rename('u-model.min.js'))
|
116 | .pipe(gulp.dest('dist/js'));
|
117 | });
|
118 |
|
119 | gulp.task('ujs', ['ujs-init'], function(){
|
120 | makeumd.init([
|
121 | 'dist/js/u-model.js',
|
122 | 'dist/js/u-model.min.js',
|
123 | ]);
|
124 | });
|
125 |
|
126 |
|
127 |
|
128 | gulp.task('tree-init', function() {
|
129 | return gulp.src(globs.js.treeJs)
|
130 | .pipe(rename('tree.kero.js'))
|
131 | .pipe(gulp.dest('dist/js'))
|
132 | .pipe(uglify())
|
133 | .on('error', errHandle)
|
134 | .pipe(rename('tree.kero.min.js'))
|
135 | .pipe(gulp.dest('dist/js'));
|
136 | });
|
137 |
|
138 | gulp.task('tree', ['tree-init'], function(){
|
139 | makeumd.init([
|
140 | 'dist/js/tree.kero.js',
|
141 | 'dist/js/tree.kero.min.js',
|
142 | ]);
|
143 | });
|
144 |
|
145 |
|
146 | gulp.task('grid-init', function() {
|
147 | return gulp.src(globs.js.gridJs)
|
148 | .pipe(rename('grid.kero.js'))
|
149 | .pipe(gulp.dest('dist/js'))
|
150 | .pipe(uglify())
|
151 | .on('error', errHandle)
|
152 | .pipe(rename('grid.kero.min.js'))
|
153 | .pipe(gulp.dest('dist/js'));
|
154 | });
|
155 |
|
156 | gulp.task('grid', ['grid-init'], function(){
|
157 | makeumd.init([
|
158 | 'dist/js/grid.kero.js',
|
159 | 'dist/js/grid.kero.min.js',
|
160 | ]);
|
161 | });
|
162 |
|
163 | gulp.task('distWatch', function(){
|
164 | gulp.watch(globs.js.coreJs.concat(globs.js.dtJs), ['ujs']);
|
165 | gulp.watch(globs.js.treeJs, ['tree']);
|
166 | gulp.watch(globs.js.gridJs, ['grid']);
|
167 | })
|
168 |
|
169 |
|
170 | gulp.task('dev', ['js', 'ujs', 'tree', 'grid'],function(){
|
171 | gulp.run('distWatch');
|
172 | });
|
173 |
|
174 | gulp.task('dist', ['js', 'ujs', 'tree', 'grid'], function(){
|
175 | });
|