diff --git a/app/coffee/modules/base/bindonce.coffee b/app/coffee/modules/base/bindonce.coffee index 95f74285..48ef265f 100644 --- a/app/coffee/modules/base/bindonce.coffee +++ b/app/coffee/modules/base/bindonce.coffee @@ -19,16 +19,7 @@ # File: modules/base/bindonce.coffee ### -bindOnce = (scope, attr, continuation) => - val = scope.$eval(attr) - if val != undefined - return continuation(val) - - delBind = null - delBind = scope.$watch attr, (val) -> - return if val is undefined - continuation(val) - delBind() if delBind +bindOnce = @.taiga.bindOnce # Html bind once directive BindHtmlDirective = -> diff --git a/app/coffee/utils.coffee b/app/coffee/utils.coffee new file mode 100644 index 00000000..3fe4d186 --- /dev/null +++ b/app/coffee/utils.coffee @@ -0,0 +1,35 @@ +### +# Copyright (C) 2014 Andrey Antukh +# Copyright (C) 2014 Jesús Espino Garcia +# Copyright (C) 2014 David Barragán Merino +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +# File: utils.coffee +### + +bindOnce = (scope, attr, continuation) => + val = scope.$eval(attr) + if val != undefined + return continuation(val) + + delBind = null + delBind = scope.$watch attr, (val) -> + return if val is undefined + continuation(val) + delBind() if delBind + + +taiga = @.taiga +taiga.bindOnce = bindOnce