From ae64d8e094660baaffd29f808fa0e9ab49b34e37 Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Thu, 12 Jun 2014 23:58:34 +0400 Subject: [PATCH 1/3] Fixed trim regex --- app/client/dom.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/client/dom.coffee b/app/client/dom.coffee index b22e8a7..ef97628 100644 --- a/app/client/dom.coffee +++ b/app/client/dom.coffee @@ -190,7 +190,7 @@ define ["utils/guid", "lib/domReady", "underscore"], (guid, domReady, _) -> if this instanceof domQuery return selector if selector instanceof domQuery if _.isString(selector) - selector = selector.replace /^\s+|\s+$/, "" + selector = selector.replace /^\s+|\s+$/g, "" if selector.charAt(0) is "<" and selector.charAt(selector.length - 1) is ">" and selector.length >= 3 elements = parseHtml selector else From 8181108ef7bb1ce7ac7387954604765b3ff11c3a Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Fri, 25 Jul 2014 17:23:15 +0400 Subject: [PATCH 2/3] Added support for Location header when using redirect rules + fixed lint warnings --- app/client/sections/loader.coffee | 2 ++ app/client/sections/section.coffee | 2 +- app/client/utils/sections.coffee | 8 ++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/client/sections/loader.coffee b/app/client/sections/loader.coffee index 36e9be2..f9671da 100644 --- a/app/client/sections/loader.coffee +++ b/app/client/sections/loader.coffee @@ -101,6 +101,8 @@ define [ sectionsLoader (request.getResponseHeader "X-Che-Redirect"), null, redirectSections.join(";"), index, null, sectionsParams else window.location.href = request.getResponseHeader "X-Che-Redirect" + else if request.getResponseHeader "Location" + window.location.href = request.getResponseHeader "Location" else state = getState (request.getResponseHeader "X-Che-Url"), sections, request.getResponseHeader "X-Che-Params" diff --git a/app/client/sections/section.coffee b/app/client/sections/section.coffee index 555dfdc..9421c6b 100644 --- a/app/client/sections/section.coffee +++ b/app/client/sections/section.coffee @@ -56,7 +56,7 @@ define [ container.appendChild element turnOnWidgets: () -> - loader.search @getSectionHtml(), (widgetsList) => + loader.search @getSectionHtml(), (widgetsList) -> # удобно, но пока кажется избыточным такой notify #notifyAll "turnedOn", "-widgets", widgetsList on diff --git a/app/client/utils/sections.coffee b/app/client/utils/sections.coffee index 8cb87a0..fa1d592 100644 --- a/app/client/utils/sections.coffee +++ b/app/client/utils/sections.coffee @@ -1,14 +1,14 @@ #### *module* utils/sections # -# Вспомогательный модуль для загрузки модулей без использования навигационого +# Вспомогательный модуль для загрузки модулей без использования навигационого # модуля. # Модули загружаются без событий pageTransition. -# Модули могут быть загружены данным модулем, как вызовом на прямую, так и +# Модули могут быть загружены данным модулем, как вызовом на прямую, так и # через параметры в ссылках. -# +# # Загрузка модуля на прямую: # require("utils/sections").load("UserBarWidget", "#UserBarWidget") -# +# # Загрузка модуля через ссылку: # Text # From 6f220e0d265747a4122429763f9d07d422695b23 Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Fri, 25 Jul 2014 18:07:48 +0400 Subject: [PATCH 3/3] Better realization of 30x response status --- app/client/ajax.coffee | 7 +++++++ app/client/sections/loader.coffee | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/client/ajax.coffee b/app/client/ajax.coffee index f55ad21..1c174b2 100644 --- a/app/client/ajax.coffee +++ b/app/client/ajax.coffee @@ -40,6 +40,13 @@ define ['events', 'utils/params', "utils/destroyer", "underscore"], (events, par request.onreadystatechange = -> return if request.readyState isnt 4 or request.status is 0 + switch request.status + when 301, 302, 303 + newLocation = request.getResponseHeader? "Location" + if newLocation? + window.location.href = newLocation + return + if request.status isnt 200 and request.status isnt 304 eventsSprout.trigger "error", [request, null] eventsSprout.trigger "complete", [request, null] diff --git a/app/client/sections/loader.coffee b/app/client/sections/loader.coffee index f9671da..36e9be2 100644 --- a/app/client/sections/loader.coffee +++ b/app/client/sections/loader.coffee @@ -101,8 +101,6 @@ define [ sectionsLoader (request.getResponseHeader "X-Che-Redirect"), null, redirectSections.join(";"), index, null, sectionsParams else window.location.href = request.getResponseHeader "X-Che-Redirect" - else if request.getResponseHeader "Location" - window.location.href = request.getResponseHeader "Location" else state = getState (request.getResponseHeader "X-Che-Url"), sections, request.getResponseHeader "X-Che-Params"