CurryInfo: wui2-3.1.0 / HTML.WUI.wMultiCheckSelect

definition:
wMultiCheckSelect :: Eq a => (a -> [HtmlExp]) -> [a] -> WuiSpec [a]
wMultiCheckSelect showelem selset =
  WuiSpec (renderTuple, tupleError, const True)
          (checkLegalInput checkWidget)
          (\wparams -> conditionOf wparams)
          (\env st ->
              concatMap (\ (ref,s) -> if env ref=="True" then [s] else [])
                        (zip (map state2cgiRef (state2states st)) selset))
 where
  checkWidget render vs =
    let refs = take (length selset) newVars
        numsetitems = zip refs selset
        showItem (ref,s) =
           inline ((if s `elem` vs then checkedBox else checkBox)
                                                       ref "True" : showelem s)
     in (render (map showItem numsetitems),
         states2state (map cgiRef2state refs))
demand:
no demanded arguments
deterministic:
possibly non-deterministic operation
documentation:
--- A widget to select a list of values from a given list of values
--- via check boxes.
--- The current values should be contained in the value list and are preselected.
--- The first argument is a mapping from values into HTML expressions
--- that are shown for each item after the check box.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_) |-> {WuiSpec}}
name:
wMultiCheckSelect
precedence:
no precedence defined
result-values:
{WuiSpec}
signature:
Prelude.Eq a => (a -> [HTML.Base.HtmlExp]) -> [a] -> WuiSpec [a]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term