mirror of https://github.com/RubaXa/Ply.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RubaXa
79e2f25af7
|
11 years ago | |
---|---|---|
src | 11 years ago | |
st | 11 years ago | |
tests | 11 years ago | |
.gitignore | 11 years ago | |
Gruntfile.js | 11 years ago | |
MIT-LICENSE.md | 11 years ago | |
Ply.min.js | 11 years ago | |
README.md | 11 years ago | |
favicon.ico | 11 years ago | |
index.html | 11 years ago | |
package.json | 11 years ago | |
ply.css | 11 years ago |
README.md
Ply
Amazing layer/modal/dialog system. Wow!
Features
- Support browsers Chrome 20+, FireFox 20+, Safari 6+, Opera 12+, IE8+ (in progress)
- ES6 syntax
- No jQuery (but then need polyfill Promise polyfill)
- More than 90% test code coverage
Base usage
Include ply.css in <head/>
(optional)
<link href='./ply.css' rel='stylesheet' type='text/css'/>
Create a dialog:
Ply.dialog("alert", "Wow!").then(function (ui) {
ui.by; // submit, overlay, esc, "x"
ui.state; // true — "OK", false — "cancel"
});
Dialogs
Ply.dialog({
"init-state": {
ui: "alert",
data: "Wow!",
next: "other-step"
nextEffect: "3d-flip[180,-180]"
},
"other-step": {
ui: "confirm",
data: {
text: "What's next?",
ok: "Exit", // button text
cancel: "Back"
},
back: "init-state",
backEffect: "3d-flip[-180,180]"
}
}).then(function (ui) {
// ...
})
Low-level
var ply = new Ply({
el: "...", // HTML-content
effect: "fade", // or ["open-effect:duration", "close-effect:duration"]
layer: {}, // default css
overlay: { // defaults css
opacity: 0.6,
backgroundColor: "#000"
},
flags: { // defaults
bodyScroll: false, // disable scrollbar at body
closeByEsc: true, // close by press on `Esc` key
closeByOverlay: true // close by click on the overlay
},
// Callback
init: function () {},
open: function (ply) {},
close: function (ply) {},
destory: function (ply) {},
callback: function (ui) {},
});
// And
ply.open().then(function () {
ply.swap({ el: ".." }, "3d-flip").then(function () {
ply.close();
});
});
Preset effects
- fade
- scale
- fall
- slide
- 3d-flip
- 3d-sign
Combined effects
Ply.dialog("alert", { effect: ["fade", "scale"] }, "Fade & scale");
Custom effects
Ply.effects["my-effect"] = {
open: { layer: "fade-in", overlay: "background-in" },
close: { layer: "fade-out", overlay: "background-out" }
};
Ply.effects["background-in"] = {
"from": { opacity: 0, backgroundColor: "red" },
"to": { opacity: 1, backgroundColor: "white" }
};
Ply.effects["background-out"] = {
"from": { opacity: 1, backgroundColor: "white" },
"to": { opacity: 0, backgroundColor: "green" }
};
Ply.stack
- last
:Ply|null
- length
:Number
Ply.support
- transition
:String|Boolean
- transform
:String|Boolean
- perspective
:String|Boolean
- transformStyle
:String|Boolean
- transformOrigin
:String|Boolean
- backfaceVisibility
:String|Boolean