HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/nodejs/turbolinks/src/turbolinks/renderer.js
// Generated by CoffeeScript 1.12.8
(function() {
  var slice = [].slice;

  Turbolinks.Renderer = (function() {
    var copyElementAttributes;

    function Renderer() {}

    Renderer.render = function() {
      var args, callback, delegate, renderer;
      delegate = arguments[0], callback = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : [];
      renderer = (function(func, args, ctor) {
        ctor.prototype = func.prototype;
        var child = new ctor, result = func.apply(child, args);
        return Object(result) === result ? result : child;
      })(this, args, function(){});
      renderer.delegate = delegate;
      renderer.render(callback);
      return renderer;
    };

    Renderer.prototype.renderView = function(callback) {
      this.delegate.viewWillRender(this.newBody);
      callback();
      return this.delegate.viewRendered(this.newBody);
    };

    Renderer.prototype.invalidateView = function() {
      return this.delegate.viewInvalidated();
    };

    Renderer.prototype.createScriptElement = function(element) {
      var createdScriptElement;
      if (element.getAttribute("data-turbolinks-eval") === "false") {
        return element;
      } else {
        createdScriptElement = document.createElement("script");
        createdScriptElement.textContent = element.textContent;
        createdScriptElement.async = false;
        copyElementAttributes(createdScriptElement, element);
        return createdScriptElement;
      }
    };

    copyElementAttributes = function(destinationElement, sourceElement) {
      var i, len, name, ref, ref1, results, value;
      ref = sourceElement.attributes;
      results = [];
      for (i = 0, len = ref.length; i < len; i++) {
        ref1 = ref[i], name = ref1.name, value = ref1.value;
        results.push(destinationElement.setAttribute(name, value));
      }
      return results;
    };

    return Renderer;

  })();

}).call(this);