From 2af9191c751b8fe4d0cb4f461d6410b8e306e511 Mon Sep 17 00:00:00 2001 From: mo Date: Fri, 8 Sep 2017 21:08:26 -0600 Subject: install autoview on ajax load but skip elements that are already setup. --- app/assets/javascripts/initializers/auto_view_setup.js.coffee | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/initializers/auto_view_setup.js.coffee b/app/assets/javascripts/initializers/auto_view_setup.js.coffee index 8ac2dd83..2dce804e 100644 --- a/app/assets/javascripts/initializers/auto_view_setup.js.coffee +++ b/app/assets/javascripts/initializers/auto_view_setup.js.coffee @@ -2,10 +2,12 @@ class CakeSide.AutoViewSetup extends CakeSide.Behaviour @on "ready" + @on "ajaxComplete" execute: -> for element in $('[data-autoview]') - @install($(element)) + $element = $(element) + @install($element) unless $element.data('autoview-setup-complete') install: (element) -> viewName = element.data('autoview') @@ -14,3 +16,4 @@ class CakeSide.AutoViewSetup extends CakeSide.Behaviour else constructor = CakeSide.Proxy.create(CakeSide.Views, viewName) CakeSide.AutoView.create(viewName, element, constructor) + element.data('autoview-setup-complete', true) -- cgit v1.2.3