Package Weblocks - external symbols

See internal symbols too
Weblocks is a Common Lisp framework that eases the pain of web
application development. It achieves its goals by standardizing on
various libraries, providing flexible and extensible generic views,
and exposing a unique widget-based approach to maintaining UI
state.
Package Weblocks uses the packages Cl-Cont, Cl-Who, Closer-Mop, Common-Lisp, Fare-Matcher, Hunchentoot, Json, Metabang.Moptilities and Metabang.Utilities. It has 782 total symbols and 414 external ones.

Class

checkbox-presentationTreats values as predicates and presents them as a
checkbox.
choices-presentation-mixin
compositeA composite widget is simply a container for other
widgets. The 'widgets' slot accessible with ...
data-scaffoldData scaffold.
data-viewA view designed to present data to the user.
data-view-fieldA field class of the data view.
dataformA class that represents a dataform widget. By default this widget
renders the data object with a ...
datagridRepresents a sortable, pagable table. This
widget is inspired by ASP.NET's datagrid control.
datagrid-drilldown-fieldA field used to render drilldown control.
dropdown-presentation
excerpt-presentationPresents a large amount of text as an HTML
paragraph.
flashA widget that allows displaying a message that
disappears on the following request. It is usefu...
form-presentationA base class for all presentations that output form
constructs. All form presentations should d...
form-scaffoldForm scaffold.
form-viewA view designed to interact with the user via input
forms.
form-view-fieldA field class of the form view.
form-view-field-writer-mixinA writer slot mixin
grid-scaffoldGrid scaffold.
grid-viewA view designed to present sequences of object in a
grid to the user. This view inherits from t...
grid-view-fieldA field class representing a column in the grid
view.
grid-view-field-order-by-mixinThis class is used in inline and mixin grid
field for ordering options.
grideditA widget based on the 'datagrid' that enhances it
with user interface to add, remove, and modif...
inline-view-fieldInline fields are fields that are rendered as part
of the view.
input-presentationA default presentation for forms renders an input
field.
integer-parserA parser designed to parse strings into
integers.
keyword-parserA parser designed to parse strings into
keywords.
mixin-form-view-fieldA field class of the form view.
mixin-view-fieldMixin fields render a field with another view.
navigationThe navigation widget can act as a menu controls, a
tabbed control, etc. It contains a list of ...
object-id-parserA parser designed to convert an object id into an
object instance.
paginationThe pagination widget can be used to provide UI to
break up large amount of data into pages.
paragraph-presentationPresents a large amount of text as an HTML
paragraph.
parser
password-presentationA presentation for passwords.
predicate-parserA parser designed to parse strings into
predicates.
predicate-presentationA default presentation that renders values as
predicates, where nil is treated as false, and an...
radio-presentation
scaffoldBase class to be used for scaffolds.
symbol-parserA parser designed to parse strings into
symbols.
table-scaffoldTable scaffold.
table-viewA view designed to present sequences of object in a
table to the user.
table-view-fieldA field class representing a column in the table
view.
text-parserA default parser for forms. Simply returns strings
obtained from the request.
text-presentationA default presentation that renders values as
text.
textarea-presentationPresent values in a text area HTML control.
us-state-parserA parser designed to parse strings into
a US state.
us-state-presentation
viewA meta description of the user interface.
view-fieldContains a meta description of a given field in the
view.
widgetBase class for all widget objects.
widget-classA metaclass used for all widget classes. A
custom metaclass is necessary to specialize
'slot-...

Variable

*application-public-dependencies*A list of dependencies on scripts and/or stylesheets that will
persist throughout the whole appli...
*cancel-control-name*The name of the control responsible for cancellation of form
submission.
*current-navigation-url*Always contains a navigation URL at the given point in rendering
cycle. This is a special variabl...
*custom-view-field-argument-compilers*A hash map of keywords, each mapped to a compilation
function. When a keyword is encountered ...
*default-cascade-delete-mixins-p*Default value for 'gridedit-cascade-delete-mixins-p'. See its
documentation for more details.
*default-store*The default store to which objects are persisted.
*dropdown-welcome-message*A welcome message used by dropdowns as the first entry.
*form-default-error-summary-threshold*When the number of fields in a form is longer than this threshold,
an error summary is rendered a...
*invalid-input-message*This message will be passed to 'format' along with the humanized
name of the field and humanized ...
*isearch-input-delay*Delay in seconds after keystrokes a client should wait before it
sends an isearch request.
*isearch-max-input-length*Maximum input length allowed in an isearch.
*max-password-length*Default maximum for the length of the password field
*max-raw-input-length*Default maximum allowed input length for input fields.
*max-textarea-input-length*Maximum number of characters that can be entered before the server complains.
*pagination-items-per-page*Default number of items visible on a page.
*public-files-path*Must be set to a directory on the filesystem that contains public
files that should be available ...
*render-empty-sequence-string*The default string used by the table view to signify that there is
no information available.
*required-field-message*This message will be passed to 'format' along with the humanized
name of the field to inform user...
*submit-control-name*The name of the control responsible for form submission.
*text-data-cutoff-threshold*In the excerpt mode, the number of characters to be rendered
before the text is cut off and an el...
*textarea-cols*Default number of columns rendered in textarea
*textarea-rows*Default number of rows rendered in textarea
*us-states*A alist of us state names and their abbreviations.
*use-suggest-for-us-states*If true, suggest snippet will be used to render us-state types in
forms. A simple dropdown will b...
*webapp-description*The description of the web application. Please note, this
description will be used for the compos...
*weblocks-output-stream*Output stream for Weblocks framework created for each request
and available to code executed with...

Function

add-get-param-to-urlBased on Edi's code in URL-REWRITE but uses & instead of &
which is more appropriate for our ...
ajax-request-pDetects if the current request was initiated via AJAX by looking
for 'X-Requested-With' http head...
alist->plistConverts an alist to plist.
answerReturns control to location saved in 'continuation', which may be a
callee widget or the continua...
append-custom-fieldsAppends 'custom-fields' to the end of custom fields that are
already defined in 'args'.
articlizePrepends a word with a proper indefinite article. Returns 'an
apple' for 'apple' and 'a table' fo...
asdf-system-directoryComputes the directory in which the .asdf file for a given ASDF
system resides.
attributize-presentationAttributizes presentation name.
class-visible-slotsConverts 'cls' to class object if it is a name, and calls
'class-visible-slots-impl'.
compute-public-files-pathComputes the directory of public files. The function uses the
following protocol: it finds the ca...
consonantpChecks if a character is a consonant.
count-view-fieldsCounts the number of fields in a given view.
current-pane-widgetAccepts a navigation object and returns the widget that represents its
currently selected pane.
datagrid-clear-selectionClears selected items.
datagrid-dataReturns the items in the grid. If 'datagrid-on-query' is not nil,
calls the function designated b...
datagrid-data-countReturns the number of items in the grid. This function works
similarly to datagrid-data in princi...
datagrid-item-selected-pChecks if an item in the datagrid is marked as selected.
datagrid-select-itemMarks an item in the datagrid as selected.
datagrid-selection-empty-pReturns true if no items are selected, nil otherwise.
'selection-or-grid' should either be a data...
datagrid-sort-directionThe current sort direction in a given datagrid.
datagrid-sort-pathThe current sort path in a given datagrid.
datagrid-sort-slotThe current sort slot in a given datagrid.
defwebappSets the application name (the *webapp-name* variable). 'name'
must be a symbol. This symbol will...
do-choice
do-confirmation
do-dialog
do-information
do-modal
do-page
drop-lastReturns a copy of the list without the last element.
entity-class-nameA helper function that generates a class name from an entity name
and a suffix.
field-info-field
field-info-object
find-slot-dsdReturns a direct-slot-definition object of a slot with 'slot-name'
in 'class'.
find-slot-esdReturns an effective-slot-definition object of a slot with
'slot-name' in 'class'.
find-viewFinds a view. If 'view' is a symbol, looks up the appropriate view
object. If 'view' is a view ob...
find-widget-by-path
flash-messageAdd a 'msg' to a list of messages to show on this request in the
'flash' object.
form-field-intermediate-valueReturns an intermediate value for 'slot-name' from
'intermediate-values'. The second value is tru...
get-object-view-fieldsReturns a list of 'field-info' structures. If 'include-invisible-p'
is set to true, fields declar...
gridedit-delete-items
gridedit-reset-stateResets the state of the gridedit. This function should be used by
'gridedit-create-new-item-widge...
hash-keysReturns all keys in the hashtable.
highlight-regex-matchesThis function highlights regex matches in text by wrapping them in
HTML 'string' tag. The complex...
init-navigationA helper function to create a navigation widget

ex:

(init-navigation
“test1” (make-instance ...
initial-request-pReturns true if the request is the first request for the session.
insert-afterDestructively inserts 'newelt' into 'list' after 'index'.
inspect-typespecConverts 'typespec' into a representation suitable for further
inspection. Returns two values. Th...
intersperseIntersperses a list with a delimeter.

If 'last' is specified, it will be used for the last delim...
make-actionCoverts a function into an action that can be rendered into HTML. A
unique, hard to guess string ...
make-action-urlAccepts action code and returns a URL that can be used to render
the action. Used, among others, ...
make-isearch-regexCreate a regular expression from the user's input that tries to be
faithful to Emacs' isearch.
make-navigationInstantiates 'navigation' widget via 'make-instance' and forwards
it along with 'args' to 'init-n...
make-slot-writerReturns a function that accepts a value and object and stores the
value transformed by 'slot-read...
map-mixin-fields
map-view-fieldsActs like mapcar for view fields. FN should expect a structure of
type field-info.
mapstoresMaps a function over existing stores in the order in which they
were defined. Returns NIL.
ninsert
object-id-slot-nameReturns the slot name of the slot that holds the unique identifier
of 'obj'. This information is ...
object-storeReturns the store for the object by calling 'class-store'.
obtain-presentation-choicesAccepts a 'choices-presentation-mixin' and an object being rendered
and returns a list as specifi...
obtain-view-field-valueObtains the view field value of object. See documentation for
'reader' slot of 'field' for more d...
page-titleGenerates a page title from the application name, application
description, and current navigation...
pagination-page-countReturns the total number of pages necessary to present the data
managed by a given pagination wid...
pagination-page-item-rangeReturns a range of items that belong to a currently selected
page. This function returns two valu...
pane-exists-pGiven a navigation object and a name determines if there is a pane
with the specified name.
persist-objectsPersists all objects in 'objects' sequence into 'store'.
pluralizePluralizes word. Converts 'thing' to 'things'.
proper-indefinite-articleReturns a proper indefinite article for a word. Returns 'an' for
'apple' and 'a' for 'table'.
proper-number-formTurns 'singular-word' into proper number form. If 'number' is 1,
leaves 'singular-word' as is, ot...
public-file-relative-pathConstructs a relative path to a public file from the “/pub” directory.

'type' - currently either...
public-files-relative-pathsA helper function that returns a list of paths for files provided
in 'args'. Each argument must b...
pure-request-pDetects if the current request is declared as 'pure', i.e. affects
no widgets or internal applica...
refresh-request-pDetermines if a request is a result of the user invoking a browser
refresh function. Note that a ...
remove-keyword-parameterRemoves a keyword parameter from a parameter-list.
(remove-keyword-parameter '(1 2 3 :a 1 :b 2 :c...
remove-keyword-parametersRemoves all parameters with keys in 'keywords' from
'parameter-list'.
remove-parameter-from-uriRemoves the given parameter from a URI.
render-buttonRenders a button in a form.

'name' - name of the html control. The name is attributized before
b...
render-checkboxRenders a checkbox in a form.

'name' - name of the html control. The name is attributized before...
render-close-buttonRenders a close button. If the user clicks on the close button,
'close-action' is called back. If...
render-dropdownRenders a dropdown HTML element (select).

'name' - the name of html control. The name is attribu...
render-extra-tagsRenders extra tags to get around CSS limitations. 'tag-class'
is a string that specifies the clas...
render-isearchRenders an input bar with 'input-name' that calls back 'isearch-fn'
in delayed manner. This is us...
render-linkRenders an action into an href link. If 'ajaxp' is true (the
default), the link will be rendered ...
render-object-viewA helper function that finds the view and calls
'render-object-view-impl'.
render-passwordRenders a password in a form.
'name' - name of the html control. The name is attributized before ...
render-radio-buttonsRenders a group of radio buttons.

'name' - name of radio buttons.
'selections' - a list of selec...
render-suggestRenders a block that provides functionality similar to google-suggest.

'input-name' - the 'name'...
render-textareaRenders a textarea in a form.
'name' - name of the html control. The name is attributized before ...
render-widgetRenders a widget ('render-widget-body') wrapped in a
header ('with-widget-header'). If 'inlinep' ...
request-parameterGet parameter 'name' from the request. If the request was
submitted via GET method, the parameter...
request-parametersGet parameters alist from the request. If the request was submitted
via GET method, the parameter...
request-parameters-for-object-viewReturns request parameters taking into account a particular view of
an object. This function is n...
request-uri-pathReturns the path component of the request URI. The path component
does not include the domain nam...
reset-current-paneSets the current pane to the first available pane in the list.
server-type
server-version
singularizeSingularizes word. Converts 'things' to 'thing'.
slot-value-by-pathRetrieves a value of a slot from a hierarchy of objects. A nil on
the path is ignored.

ex:
(slo...
stable-set-differenceReturns a list of element of 'list-1' that do not appear in 'list-2'.
start-weblocksStarts weblocks framework hooked into Hunchentoot server. Set
':debug' keyword to true in order f...
stop-weblocksStops weblocks. Closes all stores declared via 'defstore'.
string-invert-case
string-remove-leftIf string 'str' starts with 'suffix', remove 'suffix' from the
start of 'str'.
string-remove-rightIf string 'str' ends with 'suffix', remove 'suffix' from the end of
'str'.
string-whitespace-pReturns true if every character in a string is a whitespace
character, nil otherwise.
symbol-statusReturns a status of 'symbol' in its package (internal, external,
etc.)
text-input-present-pReturns true if the text input is to be considered non-empty.
vowelpChecks if a character is a vowel.
widget-dirty-pReturns true if the widget 'w' has been marked dirty.

Generic-Function

attributize-nameConvert objects to a format suitable for
serialization (in particular for markup languages like H...
class-id-slot-nameMust return the symbol that identifies the slot name which
represents the unique ID of the class ...
class-storeReturns the store where objects of class name
should be persisted. This function should be used b...
class-visible-slots-implReturns a list of 'standard-direct-slot-definition'
objects for a class and its subclasses. Slots...
composite-widgets
dataform-data-view
dataform-form-view
dataform-submit-actionCalled when the user invokes a submit action on a dataform
widget. The default implementation upd...
datagrid-render-item-ops-barThis function is responsible for rendering item-ops bar for the
datagrid. Specialize this functio...
datagrid-render-mining-barThis function renders the data mining bad for the data
grid (including selection controls, search...
datagrid-render-pagination-widgetThis function is responsible for rendering the pagination widget
for the datagrid.
find-widget-by-path*Returns a widget object located at 'path', where 'path' is a list
of widget names starting from r...
generate-scaffold-viewGenerates and returns a scaffold view of a given
scaffold type for a given object class. Scaffold...
generate-scaffold-view-fieldGenerates a sensible view field from a direct slot
definition. Specialize this function to genera...
gridedit-add-itemIf 'on-add-item' is specified, simply calls
'on-add-item'. Otherwise, if 'data' is a sequence, ad...
gridedit-create-drilldown-widgetThe default implementation creates a dataform that allows editing
an existing entry. Specialize t...
gridedit-create-new-item-widgetThe default implementation creates a dataform that allows adding a
new entry. Note, in order for ...
gridedit-delete-itemCalled by 'gridedit-delete-items' to delete a single item. The
default implementation deletes the...
handle-client-requestThis method handles each request as it comes in from the
server. It is a hunchentoot handler and ...
humanize-nameConvert objects to a human-readable string suitable
for presentation. Default implementations bea...
mark-dirtyDefault implementation adds a widget to a list of dirty
widgets. Normally used during an AJAX req...
mixin-form-view-field-persist-p
navigation-default-paneMust return the name of the default pane for the navigation
object. The default implementation re...
object-class-nameReturns an object's class name (i.e. “Employee”). This method is
be used to present the name of a...
object-idReturns a value that uniquely identifies an object in memory or in
a backend store. The default i...
pagination-render-total-item-countThis function is responsible for rendering the total number of
items if 'show-total-items' is set...
parse-view-field-valueParse a string 'value' obtained from a request
using a specified 'parser' and save it into an app...
parser-class-nameGiven a type of the parser, returns its class
name. Default implementation adds '-parser' to the ...
parser-error-message
presentation-choices-default-label-keyDefault key for choice labels. See
'presentation-choices-label-key' for more details.
presentation-choices-default-value-keyDefault key for choice values. See
'presentation-choices-value-key' for more details.
presentation-class-nameGiven a type of the presentation, returns its class
name. Default implementation adds '-presentat...
print-view-field-valueConverts a value to a textual representation.
Specialize this function to change the way a value ...
render-dataformRenders the dataform widget in its current state. Normally called
by 'render-widget-body'. Overri...
render-dataform-dataRenders the dataform widget when it's in ':data'
state. Normally called by 'render-dataform'. Ove...
render-dataform-formRenders the dataform widget when it's in ':form'
state. Normally called by 'render-dataform'. Ove...
render-datagrid-table-bodyRenders the actual data of the datagrid without any controls
before or after. This function is us...
render-form-view-buttonsRenders buttons specified view 'buttons' slot of the 'form-view'
object. By default, this method ...
render-navigation-bodyRenders the body of the navigation widget. Unlike
'render-widget-body', which in case of navigati...
render-object-view-implRenders 'obj' using 'view'.
render-page-bodyRenders the body of the page (exluding the <body>
tag). The default implementation wraps the alre...
render-table-view-body-rowRenders the rows in the 'tbody' element of the table. The
default implementation uses 'render-tab...
render-table-view-header-rowRenders the row in the 'thead' element of the table. The default
implementation uses 'render-view...
render-validation-summaryRenders a summary of validation errors on top of
the form. This function can be redefined to rend...
render-view-fieldRenders a given view field. This function should
render appropriate structural markup, and call r...
render-view-field-headerRenders a table header cell.
render-view-field-header-valueRenders a table header cell value.
render-view-field-valueRenders 'value' obtained from 'field' using
'presentation'. If this function requires a textual r...
render-widget-bodyA generic function that renders a widget in its current state. In
order to actually render the wi...
scaffold-class-nameGiven a scaffold 'type', converts it to the class
name of the scaffold. Default implementation ad...
scaffold-view-field-typeGiven a scaffold object, returns its view field
type. Default implementation removes '-scaffold' ...
scaffold-view-typeGiven a scaffold object, returns its view
type. Default implementation removes '-scaffold' from t...
typespec->form-view-field-parserConverts a typespec to a parser argument. See
'typespec->view-field-presentation' for more inform...
typespec->view-field-presentationExpects a scaffold type, a typespec and the
typespec's arguments arguments (obtained via
'inspect...
update-object-view-from-requestParses view fields from request into a given
object. The 'form-view-field-parser' slot of each fi...
validate-form-view-fieldCalled by 'validate-object-form-view' during form
deserialization to validate a form view field. ...
validate-object-form-viewCalled by the framework during form deserialization
to validate a form view. Default implementati...
view-argument-quoting-strategyA quoting strategy for an argument of a given
name. Possible values are :quote, in which case...
view-class-nameGiven a view 'type', converts it to the class name
of the view. Default implementation adds '-vie...
view-default-field-typeGiven 'view-type' and 'field-type', returns the
type of the fields of the view. Default implement...
view-field-class-nameGiven a type of the field, returns its class
name. Default implementation adds '-view-field' to t...
widget-continuation
widget-css-classesReturns a string that represents applicable CSS
classes for 'widget'. Normally includes the class...
widget-name
widget-prefix-fn
widget-public-dependenciesWhenever a widget is rendered by weblocks in a non-AJAX request,
this function is called to deter...
widget-rendered-p
widget-suffix-fn
with-navigation-headerRenders the header of the navigation widget. Unlike
'with-widget-header', which in case of the na...
with-table-view-body-rowUsed by table view to render body rows. Specialize this function
to modify HTML around a given ro...
with-table-view-headerTable specific header responsible for rendering
table, thead, and tbody HTML.
with-table-view-header-rowUsed by table view to render header rows. This functions calls
'render-table-view-header-row' to ...
with-view-headerRenders header and footer around the body of the
view. Specialize this function to customize rend...
with-widget-headerRenders a header and footer for the widget and calls 'body-fn'
within it. Specialize this functio...

Macro

defstoreA macro that helps define a store. A global variable 'name' is
defined, and 'open-store' is calle...
defviewA macro used to easily define user interface views in a declarative
manner.
defview-anonA macro used to easily define anonymous user interface views in a
declarative manner.
defwidgetA macro used to define new widget classes. Behaves exactly as
defclass, except adds 'widget-class...
do-placeExpands to code that sets 'callee' as the widget in 'place', saves
the continuation, and returns ...
extract-view-property-from-typeHelper macro to obtain view properties from typespecs.
insert-atDestructively inserts 'newelt' into 'list' before 'index'.
request-hookAllows access to a series of hooks exposed by 'handle-client-request'.

scope - the scope of the ...
root-compositeExpands to code that can be used as a place to access to the root
composite.
safe-applyApply 'fn' if it isn't nil. Otherwise return nil.
safe-funcallFuncall 'fn' if it isn't nil. Otherwise return nil.
with-extra-tagsA macro used to wrap html into extra tags necessary for
hacking CSS formatting. The macro wraps t...
with-flowEases the burden of creating flows. Instead of using 'do-place' in
the body, one can use 'yield',...
with-htmlA wrapper around cl-who with-html-output macro.
with-html-formTransforms to cl-who (:form) with standard form code (AJAX support, actions, etc.)
with-javascriptPlaces 'source' between script and CDATA elements. Used to avoid
having to worry about special ch...