Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion app/src/download.js
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,8 @@
model.defaults[ "version" ] = $( "#download-builder [name=version][checked]" ).val();

model.on( "change", function( changed, created ) {
var versionElement;

if ( "folderName" in changed && !model.get( "folderName" ).length ) {
delete model.attributes.folderName;
delete changed.folderName;
Expand Down Expand Up @@ -316,7 +318,11 @@
});

if ( "version" in changed ) {
$( "#download-builder [name=version][value=\"" + model.get( "version" ) + "\"]" ).trigger( "click" );
versionElement = $( "#download-builder [name=version][value=\"" + model.get( "version" ) + "\"]" );
versionElement.trigger( "click" );
themesLoad.done(function() {
$( ".advanced-settings .folder-name-area" ).toggle( !versionElement.data( "no-theme-folder" ) );
});
if ( created.version ) {
initComponents( initialComponents );
} else {
Expand Down
5 changes: 5 additions & 0 deletions download.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var downloadLogger, jqueryUis,
logger = require( "simple-log" ).init( "download.jqueryui.com" ),
Packer = require( "./lib/packer" ),
querystring = require( "querystring" ),
semver = require( "semver" ),
themeGallery = require( "./lib/themeroller-themegallery" )(),
ThemeRoller = require( "./lib/themeroller" ),
winston = require( "winston" );
Expand All @@ -26,6 +27,10 @@ Handlebars.registerHelper( "isVersionChecked", function( jqueryUi ) {
return JqueryUi.getStable().pkg.version === jqueryUi.pkg.version ? " checked=\"checked\"" : "";
});

Handlebars.registerHelper( "isThereThemeFolder", function( jqueryUi ) {
return semver.gte( jqueryUi.pkg.version, "1.11.0-a" ) ? " data-no-theme-folder=\"true\"" : "";
});

Handlebars.registerHelper( "join", function( array, sep, options ) {
return array.map(function( item ) {
return options.fn( item );
Expand Down
82 changes: 10 additions & 72 deletions lib/builder-1-11.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ function rjsConfig( attributes ) {
* Builder 1.11
*/
function Builder_1_11_0( build, jqueryUi, components, options, callback ) {
var _bundleCss, baseCss, baseCssMin, cssComponentFileNames, docsCategories, existingCss, selectedDemoRe, selectedRe,
var _bundleCss, cssComponentFileNames, docsCategories, existingCss, selectedDemoRe, selectedRe, structureCss, structureCssBanner, structureCssMin,
files = jqueryUi.files(),
min = function( file ) {
return files.min( file );
Expand All @@ -111,55 +111,31 @@ function Builder_1_11_0( build, jqueryUi, components, options, callback ) {
build.files = files;
build.pkg = jqueryUi.pkg;

build.baseTheme = util.stripBanner( files.get( "themes/base/theme.css" ) );
build.baseThemeMin = util.stripBanner( files.min( files.get( "themes/base/theme.css" ) ) );

build.commonFiles = files.commonFiles;
build.componentFiles = files.componentFiles.filter( selected );

build.componentMinFiles = build.componentFiles.filter(function( file ) {
return (/^ui\//).test( file.path );
}).map( min );

build.baseThemeFiles = files.baseThemeFiles;
build.baseThemeMinFiles = files.baseThemeFiles.filter( selected ).map( min );

build.baseThemeExceptThemeOrImages = files.baseThemeFiles.filter(function( file ) {
if ( (/theme\W|jquery-ui|images/).test( file.path ) ) {
return false;
}
if ( (/all|base/).test( file.path ) ) {
return true;
}
return selected( file );
});

build.baseThemeImages = files.baseThemeFiles.filter(function( file ) {
return (/images/).test( file.path );
});

// Bundle CSS (and minified)
existingCss = function( component ) {
return files.get( "themes/base/" + component + ".css" ) !== undefined;
};
baseCss = components.filter( existingCss ).reduce(function( sum, component ) {
structureCss = components.filter( existingCss ).reduce(function( sum, component ) {
return sum + stripBanner( files.get( "themes/base/" + component + ".css" ) );
}, "" );
baseCssMin = components.filter( existingCss ).reduce(function( sum, component ) {
structureCssMin = components.filter( existingCss ).reduce(function( sum, component ) {
return sum + stripBanner( files.min( files.get( "themes/base/" + component + ".css" ) ) );
}, "" );
cssComponentFileNames = components.filter( existingCss ).map(function( component ) {
return component + ".css";
});
if ( options.scope ) {
// Scope all rules due to specificity issue with tabs (see #gt87)
baseCss = util.scope( baseCss, options.scope );
baseCssMin = util.scope( baseCssMin, options.scope );
structureCss = util.scope( structureCss, options.scope );
structureCssMin = util.scope( structureCssMin, options.scope );
}
build.baseThemeMinFiles.push({
path: "themes/base/theme.min.css",
data: banner( jqueryUi.pkg, null, { minify: true } ) + build.baseCssMin
});
_bundleCss = function( base, theme, options ) {
var bundleCss = base,
fileNames = cssComponentFileNames;
Expand All @@ -182,60 +158,22 @@ function Builder_1_11_0( build, jqueryUi, components, options, callback ) {
}
return banner( jqueryUi.pkg, fileNames, options ) + bundleCss;
};
structureCssBanner = files.baseThemeCss.data.replace( /\*\/[\s\S]*/, "*/" ).replace( /\n.*\n.*themeroller.*/, "" );
build.structureCss = structureCssBanner + "\n\n" + structureCss;
build.structureCssMin = banner( jqueryUi.pkg, null, { minify: true } ) + structureCssMin;
build.bundleCss = function( theme ) {
return Files({
path: "jquery-ui.css",
data: _bundleCss( baseCss, theme )
data: _bundleCss( structureCss, theme )
});
};
build.bundleCssMin = function( theme ) {
return Files({
path: "jquery-ui.min.css",
data: _bundleCss( baseCssMin, theme, { minify: true } )
data: _bundleCss( structureCssMin, theme, { minify: true } )
});
};

// Demo files
selectedDemoRe = new RegExp( components.join( "|" ) );
build.demoFiles = files.demoFiles.filter(function( file ) {
var componentSubdir = file.path.split( "/" )[ 1 ];
return selectedDemos( componentSubdir );
});
build.demoFiles.push({
path: "demos/index.html",
data: demoIndexTemplate({
demos: files.demoSubdirs.filter( selectedDemos )
})
});

// Doc files
if ( files.docFiles.length && files.docsCategories ) {
build.docFiles = jqueryUi.components().filter( selected ).map(function( component ) {
return component.docs;
}).map(function( doc ) {
var slug;
// Expand categories's pages and posts
if ( (/\/category\//).test( doc ) ) {
slug = path.basename( doc );
return files.docsCategories[ slug ].posts;
}
return doc;
}).reduce( flatten, [] ).reduce(function( sum, doc ) {
var filename = path.basename( doc ) + ".html",
file = files.get( path.join( "docs", filename ) );
if ( file ) {
sum.push({
path: file.path,
data: docsTemplate({
component: path.basename( file.path ).replace( /\..*/, "" ),
body: file.data
})
});
}
return sum;
}, Files() );
}

// Test files
build.testFiles = files.testFiles;

Expand Down
Loading