Skip to content

Commit 8d4036c

Browse files
committed
Merge branch 'manifest'
2 parents dcea4f0 + 99c4dde commit 8d4036c

File tree

5 files changed

+318
-0
lines changed

5 files changed

+318
-0
lines changed

build/core.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"core": {
3+
"description": "The core of jQuery UI, required for all interactions and widgets.",
4+
"homepage": "http://jqueryui.com/",
5+
"demo": "http://jqueryui.com/",
6+
"docs": "http://api.jqueryui.com/category/ui-core/"
7+
},
8+
"datepicker": {
9+
"description": "Displays a calendar from an input or inline for selecting dates.",
10+
"dependencies": [ "core" ],
11+
"keywords": [
12+
"form",
13+
"calendar",
14+
"date",
15+
"i18n"
16+
],
17+
"category": "widget"
18+
},
19+
"effect": {
20+
"title": "jQuery UI Effects Core",
21+
"description": "Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.",
22+
"keywords": [
23+
"animation",
24+
"show",
25+
"hide",
26+
"color",
27+
"class",
28+
"transition",
29+
"easing"
30+
],
31+
"category": "effect",
32+
"homepage": "http://jqueryui.com/",
33+
"demo": "http://jqueryui.com/effects/",
34+
"docs": "http://api.jqueryui.com/category/effects-core/"
35+
},
36+
"position": {
37+
"description": "Positions elements relative to other elements.",
38+
"keywords": [
39+
"offset",
40+
"relative",
41+
"absolute",
42+
"fixed",
43+
"collision"
44+
]
45+
},
46+
"transfer": {
47+
"name": "ui.effect-transfer",
48+
"title": "jQuery UI Transfer Effect",
49+
"description": "Displays a transfer effect from one element to another.",
50+
"keywords": [
51+
"effect"
52+
],
53+
"homepage": "http://jqueryui.com/transfer-effect/",
54+
"demo": "http://jqueryui.com/transfer-effect/",
55+
"docs": "http://api.jqueryui.com/transfer-effect/",
56+
"dependencies": [ "effect" ],
57+
"category": "effect"
58+
},
59+
"widget": {
60+
"description": "Provides a factory for creating stateful widgets with a common API.",
61+
"keywords": [
62+
"abstraction",
63+
"state",
64+
"factory"
65+
]
66+
}
67+
}

build/effect.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"blind": {
3+
"description": "Blinds the element."
4+
},
5+
"bounce": {
6+
"description": "Bounces an element horizontally or vertically n times."
7+
},
8+
"clip": {
9+
"description": "Clips the element on and off like an old TV."
10+
},
11+
"drop": {
12+
"description": "Moves an element in one direction and hides it at the same time."
13+
},
14+
"explode": {
15+
"description": "Explodes an element in all directions into n pieces. Implodes an element to its original wholeness."
16+
},
17+
"fade": {
18+
"description": "Fades an element."
19+
},
20+
"fold": {
21+
"description": "Folds an element first horizontally and then vertically."
22+
},
23+
"highlight": {
24+
"description": "Highlights the background of an element in a defined color for a custom duration."
25+
},
26+
"pulsate": {
27+
"description": "Pulsates an element n times by changing the opacity to zero and back."
28+
},
29+
"scale": {
30+
"description": "Grows or shrinks an element and its content. Restores an elemnt to its original size."
31+
},
32+
"shake": {
33+
"description": "Shakes an element horizontally or vertically n times."
34+
},
35+
"slide": {
36+
"description": "Slides an element in and out of the viewport."
37+
}
38+
}

build/interaction.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"draggable": {
3+
"description": "Enables dragging functionality for any element.",
4+
"keywords": [
5+
"drag",
6+
"drop"
7+
]
8+
},
9+
"droppable": {
10+
"dependencies": [ "draggable" ],
11+
"description": "Enables drop targets for draggable elements.",
12+
"keywords": [
13+
"drag",
14+
"drop"
15+
]
16+
},
17+
"resizable": {
18+
"description": "Enables resize functionality for any element.",
19+
"keywords": [
20+
"resize"
21+
]
22+
},
23+
"selectable": {
24+
"description": "Allows groups of elements to be selected with the mouse.",
25+
"keywords": [
26+
"selection"
27+
]
28+
},
29+
"sortable": {
30+
"description": "Enables items in a list to be sorted using the mouse.",
31+
"keywords": [
32+
"sort",
33+
"list"
34+
]
35+
}
36+
}

build/tasks/build.js

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,85 @@ module.exports = function( grunt ) {
22

33
var path = require( "path" );
44

5+
grunt.registerTask( "manifest", "Generate jquery.json manifest files", function() {
6+
var pkg = grunt.config( "pkg" ),
7+
base = {
8+
core: {
9+
name: "ui.{plugin}",
10+
title: "jQuery UI {Plugin}"
11+
},
12+
widget: {
13+
name: "ui.{plugin}",
14+
title: "jQuery UI {Plugin}",
15+
dependencies: [ "core", "widget" ]
16+
},
17+
interaction: {
18+
name: "ui.{plugin}",
19+
title: "jQuery UI {Plugin}",
20+
dependencies: [ "core", "widget", "mouse" ]
21+
},
22+
effect: {
23+
name: "ui.effect-{plugin}",
24+
title: "jQuery UI {Plugin} Effect",
25+
keywords: [ "effect", "show", "hide" ],
26+
homepage: "http://jqueryui.com/{plugin}-effect/",
27+
demo: "http://jqueryui.com/{plugin}-effect/",
28+
docs: "http://api.jqueryui.com/{plugin}-effect/",
29+
dependencies: [ "effect" ]
30+
}
31+
};
32+
33+
Object.keys( base ).forEach(function( type ) {
34+
var baseManifest = base[ type ],
35+
plugins = grunt.file.readJSON( "build/" + type + ".json" );
36+
37+
Object.keys( plugins ).forEach(function( plugin ) {
38+
var manifest,
39+
data = plugins[ plugin ],
40+
name = plugin.charAt( 0 ).toUpperCase() + plugin.substr( 1 );
41+
42+
function replace( str ) {
43+
return str.replace( "{plugin}", plugin ).replace( "{Plugin}", name );
44+
}
45+
46+
manifest = {
47+
name: data.name || replace( baseManifest.name ),
48+
title: data.title || replace( baseManifest.title ),
49+
description: data.description,
50+
keywords: [ "ui", plugin ]
51+
.concat( baseManifest.keywords || [] )
52+
.concat( data.keywords || [] ),
53+
version: pkg.version,
54+
author: pkg.author,
55+
maintainers: pkg.maintainers,
56+
licenses: pkg.licenses,
57+
bugs: pkg.bugs,
58+
homepage: data.homepage || replace( baseManifest.homepage ||
59+
"http://jqueryui.com/{plugin}/" ),
60+
demo: data.demo || replace( baseManifest.demo ||
61+
"http://jqueryui.com/{plugin}/" ),
62+
docs: data.docs || replace( baseManifest.docs ||
63+
"http://api.jqueryui.com/{plugin}/" ),
64+
download: "http://jqueryui.com/download/",
65+
dependencies: {
66+
jquery: ">=1.6"
67+
},
68+
// custom
69+
category: data.category || type
70+
};
71+
72+
(baseManifest.dependencies || [])
73+
.concat(data.dependencies || [])
74+
.forEach(function( dependency ) {
75+
manifest.dependencies[ "ui." + dependency ] = pkg.version;
76+
});
77+
78+
grunt.file.write( manifest.name + ".jquery.json",
79+
JSON.stringify( manifest, null, "\t" ) );
80+
});
81+
});
82+
});
83+
584
grunt.registerMultiTask( "copy", "Copy files to destination folder and replace @VERSION with pkg.version", function() {
685
function replaceVersion( source ) {
786
return source.replace( /@VERSION/g, grunt.config( "pkg.version" ) );

build/widget.json

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"accordion": {
3+
"dependencies": [],
4+
"description": "Displays collapsible content panels for presenting information in a limited amount of space.",
5+
"keywords": [
6+
"navigation",
7+
"panel",
8+
"collapse",
9+
"expand"
10+
]
11+
},
12+
"autocomplete": {
13+
"dependencies": [ "menu", "position" ],
14+
"description": "Lists suggested words as the user is typing.",
15+
"keywords": [
16+
"form",
17+
"word",
18+
"predict",
19+
"suggest"
20+
]
21+
},
22+
"button": {
23+
"dependencies": [],
24+
"description": "Enhances a form with themable buttons.",
25+
"keywords": [
26+
"form",
27+
"radio",
28+
"checkbox"
29+
]
30+
},
31+
"dialog": {
32+
"dependencies": [ "button", "draggable", "position", "resizable" ],
33+
"description": "Displays customizable dialog windows.",
34+
"keywords": [
35+
"modal",
36+
"alert",
37+
"popup"
38+
]
39+
},
40+
"menu": {
41+
"dependencies": [ "position" ],
42+
"description": "Creates nestable menus.",
43+
"keywords": [
44+
"dropdown",
45+
"flyout"
46+
]
47+
},
48+
"mouse": {
49+
"dependencies": [],
50+
"description": "Abstracts mouse-based interactions to assist in creating certain widgets.",
51+
"keywords": [
52+
"abstraction"
53+
],
54+
"category": "core"
55+
},
56+
"progressbar": {
57+
"dependencies": [],
58+
"description": "Displays a status indicator for loading state, standard percentage, and other progress indicators.",
59+
"keywords": [
60+
"determinate",
61+
"status"
62+
]
63+
},
64+
"slider": {
65+
"dependencies": [ "mouse" ],
66+
"description": "Displays a flexible slider with ranges and accessibility via keyboard.",
67+
"keywords": [
68+
"form",
69+
"number",
70+
"range"
71+
]
72+
},
73+
"spinner": {
74+
"dependencies": [ "button" ],
75+
"description": "Displays buttons to easily input numbers via the keyboard or mouse.",
76+
"keywords": [
77+
"form",
78+
"number",
79+
"spinbutton",
80+
"stepper"
81+
]
82+
},
83+
"tabs": {
84+
"dependencies": [],
85+
"description": "Transforms a set of container elements into a tab structure.",
86+
"keywords": [
87+
"navigation",
88+
"panel",
89+
"collapse",
90+
"expand"
91+
]
92+
},
93+
"tooltip": {
94+
"dependencies": [ "position" ],
95+
"description": "Shows additional information for any element on hover or focus.",
96+
"keywords": []
97+
}
98+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy