1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 10:42:41 +01:00
phorge-phorge/webroot/rsrc/js/application/releeph/releeph-preview-branch.js
epriestley 0569218201 Use JsShrink if jsxmin is not available
Summary: If `jsxmin` is not available, use a pure PHP implementation instead (JsShrink).

Test Plan:
  - Ran `arc lint --lintall` on all JS and fixed every relevant warning.
  - Forced minification on and browsed around the site using JS behaviors. Didn't hit anything problematic.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5670
2013-05-18 17:04:22 -07:00

48 lines
1.1 KiB
JavaScript

/**
* @provides javelin-behavior-releeph-preview-branch
* @requires javelin-behavior
* javelin-dom
* javelin-uri
* javelin-request
*/
JX.behavior('releeph-preview-branch', function(config) {
var uri = JX.$U(config.uri);
for (var param_name in config.params.static) {
var value = config.params.static[param_name];
uri.setQueryParam(param_name, value);
}
var output = JX.$(config.outputID);
var dynamics = config.params.dynamic;
function renderPreview() {
for (var param_name in dynamics) {
var node_id = dynamics[param_name];
var input = JX.$(node_id);
uri.setQueryParam(param_name, input.value);
}
var request = new JX.Request(uri, function(response) {
JX.DOM.setContent(output, JX.$H(response.markup));
});
request.send();
}
renderPreview();
for (var ii in dynamics) {
var node_id = dynamics[ii];
var input = JX.$(node_id);
JX.DOM.listen(
input,
['keyup', 'click', 'change'],
null,
function(e) {
renderPreview();
}
);
}
});