Packages

Bootstrap Nitrogen Plugin

Current section

Files

Jump to
coldstrap src element_bs_col.erl
Raw

src/element_bs_col.erl

-module (element_bs_col).
-include_lib("nitrogen_core/include/wf.hrl").
-include("records.hrl").
-export([
reflect/0,
transform_element/1
]).
reflect() -> record_info(fields,bs_col).
transform_element(Rec = #bs_col{}) ->
Panel = wf_utils:fast_copy_fields(Rec, #panel{}),
ColClasses = make_col_classes(Rec#bs_col.cols),
Panel#panel{class=[
Rec#bs_col.class,
ColClasses
]}.
make_col_classes(Cols) when is_list(Cols), not(?IS_STRING(Cols)) ->
[make_col_class(C) || C <- Cols];
make_col_classes(Col) ->
[make_col_class(Col)].
make_col_class(ColDef) when is_integer(ColDef) ->
make_col_class({col, md, ColDef});
make_col_class(ColDef) when is_atom(ColDef); is_binary(ColDef); ?IS_STRING(ColDef) ->
ColDef;
make_col_class(ColDef) when is_tuple(ColDef) ->
List = [wf:to_list(X) || X <- tuple_to_list(ColDef)],
wf:to_binary([wf:join(List,"-")]).