view release on metacpan or search on metacpan
share/scaffolds/bootstrap-blog/js/picoModal.js view on Meta::CPAN
/** Whether this element is visible */
isVisible: function () {
return !isHidden(this.elem);
}
};
/** Generates the grey-out effect */
function buildOverlay( getOption, close ) {
return Elem.make( getOption("parent") )
.clazz("pico-overlay")
.clazz( getOption("overlayClass", "") )
.stylize({
display: "none",
position: "fixed",
top: "0px",
left: "0px",
height: "100%",
width: "100%",
zIndex: 10000
})
.stylize(getOption('overlayStyles', {
opacity: 0.5,
background: "#000"
}))
.onClick(function () {
if ( getOption('overlayClose', true) ) {
close();
}
});
}
// An auto incrementing ID assigned to each modal
var autoinc = 1;
/** Builds the content of a modal */
function buildModal( getOption, close ) {
share/scaffolds/bootstrap-blog/js/picoModal.js view on Meta::CPAN
var value = options[opt];
if ( typeof value === "function" ) {
value = value( defaultValue );
}
return value === undefined ? defaultValue : value;
}
// The various DOM elements that constitute the modal
var modalElem = build.bind(window, 'modal');
var shadowElem = build.bind(window, 'overlay');
var closeElem = build.bind(window, 'close');
// This will eventually contain the modal API returned to the user
var iface;
/** Hides this modal */
function forceClose (detail) {
shadowElem().hide();
modalElem().hide();
share/scaffolds/bootstrap-blog/js/picoModal.js view on Meta::CPAN
// The constructed dom nodes
var built;
/** Builds a method that calls a method and returns an element */
function build (name, detail) {
if ( !built ) {
var modal = buildModal(getOption, close);
built = {
modal: modal,
overlay: buildOverlay(getOption, close),
close: buildClose(modal, getOption)
};
afterCreateEvent.trigger(iface, detail);
}
return built[name];
}
iface = {
/** Returns the wrapping modal element */
modalElem: buildElemAccessor(modalElem),
/** Returns the close button element */
closeElem: buildElemAccessor(closeElem),
/** Returns the overlay element */
overlayElem: buildElemAccessor(shadowElem),
/** Builds the dom without showing the modal */
buildDom: returnIface(build.bind(null, null)),
/** Returns whether this modal is currently being shown */
isVisible: function () {
return !!(built && modalElem && modalElem().isVisible());
},
/** Shows this modal */
share/scaffolds/bootstrap-blog/js/picoModal.js view on Meta::CPAN
/** Destroys this modal */
destroy: function () {
modalElem().destroy();
shadowElem().destroy();
shadowElem = modalElem = closeElem = undefined;
},
/**
* Updates the options for this modal. This will only let you
* change options that are re-evaluted regularly, such as
* `overlayClose`.
*/
options: function ( opts ) {
Object.keys(opts).map(function (key) {
options[key] = opts[key];
});
},
/** Executes after the DOM nodes are created */
afterCreate: returnIface(afterCreateEvent.watch),
share/scaffolds/bootstrap-blog/js/subcomment_popups.js view on Meta::CPAN
'<form action="',post_url,'" method="post">',
'<input name="parent_id" type="hidden" value="',parent_id,'" />',
'<textarea name="body" style="width:100%;height: 150px;"></textarea>',
'<button class="btn btn-primary" type="submit">Comment</button>',
'</form>'
].join('');
var modal = picoModal({
content: html,
overlayClose: false,
closeHtml: "<span>Cancel</span>",
closeStyles: {
position: "absolute", bottom: "15px", right: "10px",
background: "#eee", padding: "5px 10px", cursor: "pointer",
borderRadius: "5px", border: "1px solid #ccc"
},
focus: true,
width: 550
});
share/scaffolds/keep-it-simple/js/picoModal.js view on Meta::CPAN
/** Whether this element is visible */
isVisible: function () {
return !isHidden(this.elem);
}
};
/** Generates the grey-out effect */
function buildOverlay( getOption, close ) {
return Elem.make( getOption("parent") )
.clazz("pico-overlay")
.clazz( getOption("overlayClass", "") )
.stylize({
display: "none",
position: "fixed",
top: "0px",
left: "0px",
height: "100%",
width: "100%",
zIndex: 10000
})
.stylize(getOption('overlayStyles', {
opacity: 0.5,
background: "#000"
}))
.onClick(function () {
if ( getOption('overlayClose', true) ) {
close();
}
});
}
// An auto incrementing ID assigned to each modal
var autoinc = 1;
/** Builds the content of a modal */
function buildModal( getOption, close ) {
share/scaffolds/keep-it-simple/js/picoModal.js view on Meta::CPAN
var value = options[opt];
if ( typeof value === "function" ) {
value = value( defaultValue );
}
return value === undefined ? defaultValue : value;
}
// The various DOM elements that constitute the modal
var modalElem = build.bind(window, 'modal');
var shadowElem = build.bind(window, 'overlay');
var closeElem = build.bind(window, 'close');
// This will eventually contain the modal API returned to the user
var iface;
/** Hides this modal */
function forceClose (detail) {
shadowElem().hide();
modalElem().hide();
share/scaffolds/keep-it-simple/js/picoModal.js view on Meta::CPAN
// The constructed dom nodes
var built;
/** Builds a method that calls a method and returns an element */
function build (name, detail) {
if ( !built ) {
var modal = buildModal(getOption, close);
built = {
modal: modal,
overlay: buildOverlay(getOption, close),
close: buildClose(modal, getOption)
};
afterCreateEvent.trigger(iface, detail);
}
return built[name];
}
iface = {
/** Returns the wrapping modal element */
modalElem: buildElemAccessor(modalElem),
/** Returns the close button element */
closeElem: buildElemAccessor(closeElem),
/** Returns the overlay element */
overlayElem: buildElemAccessor(shadowElem),
/** Builds the dom without showing the modal */
buildDom: returnIface(build.bind(null, null)),
/** Returns whether this modal is currently being shown */
isVisible: function () {
return !!(built && modalElem && modalElem().isVisible());
},
/** Shows this modal */
share/scaffolds/keep-it-simple/js/picoModal.js view on Meta::CPAN
/** Destroys this modal */
destroy: function () {
modalElem().destroy();
shadowElem().destroy();
shadowElem = modalElem = closeElem = undefined;
},
/**
* Updates the options for this modal. This will only let you
* change options that are re-evaluted regularly, such as
* `overlayClose`.
*/
options: function ( opts ) {
Object.keys(opts).map(function (key) {
options[key] = opts[key];
});
},
/** Executes after the DOM nodes are created */
afterCreate: returnIface(afterCreateEvent.watch),
share/scaffolds/keep-it-simple/js/subcomment_popups.js view on Meta::CPAN
'<form action="',post_url,'" method="post">',
'<input name="parent_id" type="hidden" value="',parent_id,'" />',
'<textarea name="body" style="width:100%;height: 150px;"></textarea>',
'<button class="btn btn-primary" type="submit">Comment</button>',
'</form>'
].join('');
var modal = picoModal({
content: html,
overlayClose: false,
closeHtml: "<span>Cancel</span>",
closeStyles: {
position: "absolute", bottom: "15px", right: "10px",
background: "#eee", padding: "5px 10px", cursor: "pointer",
borderRadius: "5px", border: "1px solid #ccc"
},
focus: true,
width: 550
});