summaryrefslogtreecommitdiffstats
path: root/afb-client/bower_components/tether/docs/js
diff options
context:
space:
mode:
authorStephane Desneux <stephane.desneux@iot.bzh>2016-05-31 18:16:48 +0200
committerStephane Desneux <stephane.desneux@iot.bzh>2016-05-31 18:16:48 +0200
commit5b1e6cc132f44262a873fa8296a2a3e1017b0278 (patch)
tree43b2cd54e2e300b399ff3f2af4458a2c4ed8a144 /afb-client/bower_components/tether/docs/js
parentf7d2f9ac4168ee5064580c666d508667a73cefc0 (diff)
parent85ace9c1ce9a98e9b8a22f045c7dd752b38d9129 (diff)
Merge afb-client
Diffstat (limited to 'afb-client/bower_components/tether/docs/js')
-rw-r--r--afb-client/bower_components/tether/docs/js/intro.js117
1 files changed, 117 insertions, 0 deletions
diff --git a/afb-client/bower_components/tether/docs/js/intro.js b/afb-client/bower_components/tether/docs/js/intro.js
new file mode 100644
index 0000000..47ed6e5
--- /dev/null
+++ b/afb-client/bower_components/tether/docs/js/intro.js
@@ -0,0 +1,117 @@
+(function() {
+ var OUTPUT_HTML, SETUP_JS, activate, deactivate, getOutput, init, run, setupBlock, tethers, uniqueId;
+
+ uniqueId = Tether.Utils.uniqueId;
+
+ SETUP_JS = "yellowBox = $('.yellow-box', $output);\ngreenBox = $('.green-box', $output);\nscrollBox = $('.scroll-box', $output);";
+
+ OUTPUT_HTML = function(key) {
+ return "<div class=\"scroll-box\">\n <div class=\"scroll-content\">\n <div class=\"yellow-box\" data-example=\"" + key + "\"></div>\n <div class=\"green-box\" data-example=\"" + key + "\"></div>\n </div>\n</div>";
+ };
+
+ tethers = {};
+
+ getOutput = function($block) {
+ var key;
+ key = $block.data('example');
+ if (key && typeof key === 'string') {
+ return $("output[data-example='" + key + "']");
+ } else {
+ return $block.parents('pre').nextAll('output').first();
+ }
+ };
+
+ run = function(key) {
+ var $block, $output, code;
+ if (typeof key === 'string') {
+ $block = $("code[data-example='" + key + "']");
+ } else {
+ $block = key;
+ }
+ key = $block.attr('data-example');
+ $output = getOutput($block);
+ code = $block.text();
+ code = SETUP_JS + code;
+ window.$output = $output;
+ return tethers[key] = eval(code);
+ };
+
+ setupBlock = function($block) {
+ var $output, $scrollBox, $scrollContent, key;
+ key = $block.data('example');
+ $output = getOutput($block);
+ if (!key) {
+ key = uniqueId();
+ $block.attr('data-example', key);
+ $output.attr('data-example', key);
+ $output.find('.tether-element').attr('data-example', key);
+ }
+ $output.html(OUTPUT_HTML(key));
+ $scrollBox = $output.find('.scroll-box');
+ $scrollContent = $scrollBox.find('.scroll-content');
+ $scrollBox.scrollTop(parseInt($scrollContent.css('height')) / 2 - $scrollBox.height() / 2);
+ $scrollBox.scrollLeft(parseInt($scrollContent.css('width')) / 2 - $scrollBox.width() / 2);
+ setTimeout(function() {
+ return $scrollBox.on('scroll', function() {
+ return $output.addClass('scrolled');
+ });
+ });
+ $scrollBox.css('height', "" + ($block.parent().outerHeight()) + "px");
+ if ($output.attr('deactivated') == null) {
+ return run($block);
+ }
+ };
+
+ $(document.body).on('click', function(e) {
+ if ($(e.target).is('output[deactivated]')) {
+ activate($(e.target));
+ return false;
+ } else if ($(e.target).is('output[activated]')) {
+ deactivate($(e.target));
+ return false;
+ }
+ });
+
+ activate = function($output) {
+ var $block, key;
+ $block = $output.prev().find('code');
+ run($block);
+ $output.find('.tether-element').show();
+ key = $output.data('example');
+ $(tethers[key].element).show();
+ tethers[key].enable();
+ $output.removeAttr('deactivated');
+ return $output.attr('activated', true);
+ };
+
+ deactivate = function($output) {
+ var $block, $el, key;
+ $block = $output.prev().find('code');
+ key = $output.data('example');
+ tethers[key].disable();
+ $el = $(tethers[key].element);
+ $el.detach();
+ $output.find('.scroll-content').append($el);
+ $el.hide();
+ $output.removeAttr('activated');
+ return $output.attr('deactivated', true);
+ };
+
+ init = function() {
+ var $blocks, block, _i, _len, _results;
+ $blocks = $('code[data-example]');
+ _results = [];
+ for (_i = 0, _len = $blocks.length; _i < _len; _i++) {
+ block = $blocks[_i];
+ _results.push(setupBlock($(block)));
+ }
+ return _results;
+ };
+
+ window.EXECUTR_OPTIONS = {
+ codeSelector: 'code[executable]'
+ };
+
+ $(init);
+
+}).call(this);