From f15921cb02af7c42f23281e2d427ca1b14880818 Mon Sep 17 00:00:00 2001 From: Zeno Rocha Date: Fri, 16 Feb 2018 15:52:23 -0800 Subject: [PATCH 1/2] Makes Toggler SSR compatible #21 --- packages/metal-toggler/src/Toggler.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/metal-toggler/src/Toggler.js b/packages/metal-toggler/src/Toggler.js index 7da054242..6d2e10cdf 100644 --- a/packages/metal-toggler/src/Toggler.js +++ b/packages/metal-toggler/src/Toggler.js @@ -1,6 +1,6 @@ 'use strict'; -import core from 'metal'; +import {core, isServerSide} from 'metal'; import dom from 'metal-dom'; import {EventHandler} from 'metal-events'; import State from 'metal-state'; @@ -15,6 +15,10 @@ class Toggler extends State { constructor(config) { super(config); + if (isServerSide()) { + return; + } + this.headerEventHandler_ = new EventHandler(); this.on('headerChanged', this.syncHeader); @@ -25,6 +29,10 @@ class Toggler extends State { * @inheritDoc */ disposeInternal() { + if (isServerSide()) { + return; + } + super.disposeInternal(); this.headerEventHandler_.removeAllListeners(); } From a30be9d595047a725df0f563fca5758880014327 Mon Sep 17 00:00:00 2001 From: Zeno Rocha Date: Fri, 16 Feb 2018 15:55:17 -0800 Subject: [PATCH 2/2] Makes Drag & Drop SSR compatible #21 --- packages/metal-drag-drop/src/Drag.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/metal-drag-drop/src/Drag.js b/packages/metal-drag-drop/src/Drag.js index 03a9370a1..4652fb9ef 100644 --- a/packages/metal-drag-drop/src/Drag.js +++ b/packages/metal-drag-drop/src/Drag.js @@ -1,6 +1,6 @@ 'use strict'; -import {core, object} from 'metal'; +import {core, object, isServerSide} from 'metal'; import dom from 'metal-dom'; import DragAutoScroll from './helpers/DragAutoScroll'; import DragScrollDelta from './helpers/DragScrollDelta'; @@ -21,6 +21,10 @@ class Drag extends State { constructor(config) { super(config); + if (isServerSide()) { + return; + } + /** * The drag placeholder that is active at the moment. * @type {Element} @@ -866,7 +870,11 @@ Drag.STATE = { container: { setter: dom.toElement, validator: 'validateElementOrString_', - value: document, + valueFn: function() { + if (!isServerSide()) { + return document; + } + }, }, /**