PageRenderTime 19ms CodeModel.GetById 10ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/mod_signal/actions/action_signal_emit.erl

http://github.com/zotonic/zotonic
Erlang | 34 lines | 12 code | 5 blank | 17 comment | 0 complexity | b0368da8abedad40e4a788c8c0b95f0a MD5 | raw file
 1%% @author Maas-Maarten Zeeman <mmzeeman@xs4all.nl>
 2%% @copyright 2010 Maas-Maarten Zeeman
 3%% Date: 2010-12-03
 4%% @doc Emit a signal to connected pages.
 5
 6%% Copyright 2010 Maas-Maarten Zeeman
 7%%
 8%% Licensed under the Apache License, Version 2.0 (the "License");
 9%% you may not use this file except in compliance with the License.
10%% You may obtain a copy of the License at
11%% 
12%%     http://www.apache.org/licenses/LICENSE-2.0
13%% 
14%% Unless required by applicable law or agreed to in writing, software
15%% distributed under the License is distributed on an "AS IS" BASIS,
16%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17%% See the License for the specific language governing permissions and
18%% limitations under the License.
19
20-module(action_signal_emit).
21-author("Maas-Maarten Zeeman <mmzeeman@xs4all.nl>").
22
23-include("zotonic.hrl").
24-export([render_action/4, event/2]).
25
26render_action(TriggerId, TargetId, Args, Context) ->
27    Signal = proplists:get_value(signal, Args),
28    Postback = {emit, [{signal, Signal}]},
29    {Script, _Context} = z_render:make_postback(Postback, click, TriggerId, TargetId, ?MODULE, Context),
30    {Script, Context}.
31
32event(#postback{message={emit, [{signal, Signal}]}}, Context) ->
33    mod_signal:emit(Signal, Context),
34    Context.