ARSObject
view release on metacpan or search on metacpan
lib/ARSObject.pod view on Meta::CPAN
=item Variable files
C<-vfbase>, C<-storable>;
C<vfname>, C<vfload>, C<vfstore>, C<vfclear>, C<vfdata>, C<vfhash>, C<vfdistinct>
=item ARS methods
C<connect>, C<query>, C<entry>, C<entryNew>, C<entryIns>, C<entryUpd>, C<entryDel>, C<entryBLOB>, C<AUTOLOAD>;
C<-strFields>, C<strIn>, C<strOut>;
C<arsquot>;
C<-maxRetrieve>
=item Utility Methods
C<strquot>, C<strquot2>, C<arsquot>;
C<cptran>, C<cpcon>;
C<strtime>, C<timestr>, C<timeadd>;
C<dsquot>, C<dsquot1>;
C<dsdump>, C<dsparse>, C<dscmp>, C<dsmerge>, C<dsunique>;
C<fopen>, C<fload>, C<fstore>, C<fdirls>;
C<soon>
=item Utility Objects
C<dbi>, C<-dbi>, C<dbiconnect>, C<-dbiconnect>;
C<dbiquery>, C<dbido>; C<dbierrstr>
C<cgi>, C<-cgi>, C<cgiconnect>;
C<cgipar>, C<cgiesc>, C<cgitfrm>, C<cgitext>, C<cgistring>, C<cgiselect>, C<cgiddlb>
C<smtp>, C<-smtp>, C<smtpconnect>, C<-smtphost>; C<smtpsend>
=item SQL Data Store Methods
C<arsmetasql>, C<sqlname>, C<dbidsmetasync>, C<dbidsrpl>, C<dbidsquery>;
C<-meta-sql>; C<-sqlschema>;
C<-sqlname>, C<-sqlntbl>, C<-sqlncol>, C<-sqlninc>
=item CGI Form Presenter
C<-fpl> => [-formdb=>'...',-record=>'...', {action field},.. {view/edit field},.., {button field},..}]
C<-fphc> => {'cgi field name' => {field definition},..}
C<-fphd> => {'db field name' => {field definition},..}
C<cfprun>, C<cfpaction>, C<cfpv>, C<cfpvv>, C<cfpvl>, C<cfpvp>
* action field: C<-name>.., C<-preact> || C<-action>, C<-widget>=>undef, C<-used>=>condition sub{}
* key field: C<-name>.., C<-key>=>1, C<-readonly>=>1
* text: C<-widget>=>'html'
* edit field: C<-name>..,
* computed: C<-name>.., C<-computed>=>sub{}
* readonly: C<-name>.., C<-readonly>=>1
* do not store: C<-name>.., C<-entryIns>=>0, C<-entryUpd>=>0, C<-vfstore>=>0
* list&refresh: C<-name>.., C<-onchange>=>1, C<-labels>, C<-values>
* optional button field: C<-name>.., C<-action>=>1, C<-used>=>condition
=item CGI Form Presenter - Field Definitions
(for each field inside C<CGI Form Presenter - Fields>)
C<-name>, C<-namecgi>, C<-namedb>, C<-metadb> => 'field name'
C<-namelbl>, C<-namecmt> => 'text for user'
C<-namehtml> => sub{} -> 'html for user'
C<-formdb> => 'name', C<-record> => 'name' || 'nameRowNumber'
C<-used>, C<-unused> => boolean || 'field name' || ['field',...] || condition sub{}
C<-entryIns>, C<-entryUpd>, C<-vfstore> => !exists ||false
C<-preact> || C<-action> => 'action name' || action sub{} -> success
C<-vfname> => 'name', C<-vfrenew>, C<-vfedit>, C<-vftran> => boolean
C<-key> => boolean
C<-master> => 'field name'
C<-computed>, C<-value> => value || ['field from'] || sub{} -> value
C<-undef> => value
C<-values> => [value,..] || sub{}, C<-labels> => {value => label,..} || sub{}; C<-lbtran>, C<-lbadd> => boolean
C<-reset> => 'field name' || ['field',...] || condition sub{}
C<-change> => {set field values}
C<-error>, C<-warn> => sub{} -> 'text'
C<-widget> => {definitions for cgi field in the C<Utility Objects>} || html || sub{}->html
Field definitions may be used also:
C<-action> => 1;
C<-labels>, C<-values>;
C<-disabled>, C<-readonly>, C<-hidden>, C<-onchange> => boolean.
C<-widget0> => html above C<-widget> || sub{} -> html
C<-widget1> => html below C<-widget> || sub{} -> html
=back
=head1 SLOTS
=over
=item Slots
=item -action
=> not exists
|| sub{}({self}, action, '-action'
, {key field}, $_= key value, key pv
, {field db name=>value,..}, prev return)
-> success || {field db name => value}
|| 'entryIns' || 'entryUpd' || 'entryDel' || 'entrySave'
|| 1
(C<CGI Form Presenter - Field Definitions>)
Action to execute after the form performance,
should be at the top of the form, before C<-key> fields.
May be several actions with the same C<-namecgi>.
1 - action button, it should to be at the bottom of the form.
For 'entrySave' action, 'entryUpd' is used when non-empty key value,
'entryDel' otherwise with non-empty previous key value.
See also C<-preact>.
=item -cgi
lib/ARSObject.pod view on Meta::CPAN
=item -die
=> undef || sub{}
=> set(-die => 'Carp' || 'CGI::Carp' || 'CGI::Carp qw(fatalsToBrowser warningsToBrowser)' || 'CGI::Die')
(C<Error Processing and Echo>)
Error die sub{}.
The most C<Methods> dies when error.
Call C<set>(C<-die> => 'Carp') to use L<Carp|Carp> module.
Call C<set>(C<-die> => 'CGI::Carp fatalsToBrowser') to use L<CGI::Carp|CGI/Carp> module.
See also C<-diemsg>, C<-warn>, C<-cpcon>
=item -diemsg
=> undef || sub{}(string)
Message for C<-die>, alike L<CGI::Carp|CGI/Carp>::set_message()
=item -echo
=> 0 | 1
(C<Error Processing and Echo>)
Echo printout switch.
Temporarilly may be used as an argument for specific methods.
alike C<query> and C<entryIns>.
=item -entryNo
=> entryIns()
(C<ARS methods>)
The logical number of the entry inserted by C<entryIns>().
=item -error
=> not exists
|| sub{}({self}, {field}, $_ =field value, previous value) -> 'error text'
|| 'error text for empty field'
(C<CGI Form Presenter - Field Definitions>)
Field value error evaluator
See also C<-warn>.
=item -fpl
=> [-formdb=>'...',-record=>'...'
, {action field},.. {view/edit field},.., {button field},..}]
=item -fphc
=> {'cgi field name' => {field definition},..}
=item -fphd
=> {'db field name' => {field definition},..}
(C<CGI Form Presenter>)
Definitions of fields:
list of field in order to be evaluated,
field definitions by cgi names,
field definitions by ARS names.
=item -formdb
=> 'db form name'
(C<CGI Form Presenter - Field Definitions>)
db form name, may be defined as a
special C<-fpl> entry before field definitions.
=item -key
=> => not exists || boolean
(C<CGI Form Presenter - Field Definitions>)
Key database field?
=item -labels
=> not exists || {value=>label,..} || {value=>{{-label=>label, field=>value,..},..}
|| sub{}({self},{field},$_=value) -> {value=>label,..}
(C<CGI Form Presenter - Field Definitions>)
Labels for the drop-down list box field.
If no C<-values>, this will be generated automatically.
Special {-name=>name, field=>value,..} form is to define C<-change>.
See also C<-values>.
=item -lbtran
=item -lbadd
=> not exists || true || false (default)
(C<CGI Form Presenter - Field Definitions>)
Translate list box value with C<-labels> if needed?
Add field value to C<-values> if not listed?
=item -lang
lib/ARSObject.pod view on Meta::CPAN
=> not exists == 1 || boolean || 'field name' || ['field name',..]
|| sub{}({self}, {field})
=item -unused
=> not exists == 0 || boolean || 'field name' || ['field name',..]
|| sub{}({self}, {field})
(C<CGI Form Presenter - Field Definitions>)
Condition to use or unuse field in the screen and actions.
=item -usr
=> undef || 'ARS user name'
(C<Connection>)
ARS user name to login under
=item -value
=> not exists || value || [field name] || sub{}({self},{field}) -> value
(C<CGI Form Presenter - Field Definitions>)
Default field value or field value evaluator.
See also C<-computed>.
=item -values
=> not exists || [value,..] || [{-name=>name, field=>value,..},..]
|| sub{}({self},{field},$_=value) -> [value,..]
(C<CGI Form Presenter - Field Definitions>)
Values for the drop-down list box field
Special {-name=>name, field=>value,..} form is to define C<-change>.
See also C<-labels>.
=item -vfbase
=> 'script file path name-' || 'base file path name' || 'directory path/'
(C<Variable files>)
Variable files base path name, used by C<vfstore>(), C<vfload>(), C<vfname>().
Default is formed from script file name without extensions and with '-' added.
=item -vfname
=> not exists || '-slotName'
=item -vfrenew
=> not exists || boolean
=item -vfedit
=> not exists || boolean
=item -vftran
=> not exists || boolean
(C<CGI Form Presenter - Field Definitions>)
Short name of the C<Variable File>
to read record from with C<-action>=>'vfentry' or C<-action>=>'vfhash';
or to renew or update after C<-action>=>'entryIns' || 'entryUpd' || 'entryDel'
May be used with C<-action> or C<-key> field.
C<-vfrenew> - renew variable file after 'entryIns' || 'entryUpd' || 'entryDel'
C<-vfedit> - update variable file after 'entryIns' || 'entryUpd' || 'entryDel'
C<-vftran> - translate value with C<-labels> for variable file
=item -warn
=> undef
(C<Error Processing and Echo>)
Error warn sub{}.
Call C<set>(C<-die> => 'Carp') to use L<Carp|Carp> module,
or C<set>(C<-die> => 'CGI::Carp') to use L<CGI::Carp|CGI/Carp> module.
See also C<-cpcon>.
=item -warn
=> not exists
|| sub{}({self}, {field}, $_ =field value, previous value) -> 'warning text'
|| 'warning text for empty field'
(C<CGI Form Presenter - Field Definitions>)
Field value warning evaluator.
See also C<-error>.
=item -warnmsg
=> undef || sub{}(string)
Message for C<-warn>, alike C<-diemsg>.
=item -widget
=> not exists || undef == skip || 'html'
|| sub{}({self}, {field}, value, previous value) -> html
|| {option=>value,..}
(C<CGI Form Presenter - Field Definitions>)
Definition of html field to display (C<Utility Objects>):
not exists - use default widget,
undef - field not included in form,
'html' - html to display,
hidden field with previous value added if '-namecgi'
sub{} -> html to display,...
{option=>value,..} - parameters for 'cgi...' or 'CGI' field
Field definitions may be used also to generate default widget:
C<-action> => 1;
C<-labels>, C<-values>;
C<-disabled>, C<-readonly>, C<-hidden>, C<-onchange> => boolean.
=item -widget0
lib/ARSObject.pod view on Meta::CPAN
Action evaluator, called from C<cfprun>(),
may be called from C<-action> or C<-preact> sub{}.
=item cfpl ('field name' || {field definition}) -> [possible field values]
(C<CGI Form Presenter>)
List of C<-values> of the field, may be used in sub{}s executed by C<cfprun>.
=item cfpp ('field name' || {field definition}) -> previous field value
(C<CGI Form Presenter>)
Previous value of the field, may be used in sub{}s executed by C<cfprun>.
=item cfprun (? msg sub{}(self, 'label', 'comment'), ? form row sub{}(self, {field}, 'html'), ? 'form start html', ? 'form end html') -> success
(C<CGI Form Presenter>)
Evaluate C<-fpl> and present html form with actions.
The order of the fields is important, it is preferred to refer from
the field definition to previous fields, not to subsequent.
=item cfpv ('field name' || {field definition}) -> current field value
(C<CGI Form Presenter>)
Current value of the field, may be used in sub{}s executed by C<cfprun>.
=item cfpvv ('field name' || {field definition}) -> current or default field value
(C<CGI Form Presenter>)
Current or default value of the field, may be used in sub{}s executed by C<cfprun>.
=item C<cgi> () -> CGI object
=item C<cgi> (CGI->new args) -> CGI object
(C<Utility Objects>)
Access to L<CGI|CGI> object in C<-cgi>.
It will be automatically created with C<cgiconnect>() if not exists.
=item cgiconnect (CGI args) -> CGI object
(C<Utility Objects>)
Connect to L<CGI|CGI>.
=item cgiddlb (-name=>name, ?-title=>comment, ?-values=>[values], ?-labels=>{value=>display,..}, ?-default=>value, ?-override=>bool,...) -> drop-down list box HTML
(C<Utility Objects>)
Generate drop-down list box HTML using L<CGI|CGI> widgets.
This is alike C<cgiselect>, but more complex.
-strict=> - disable text editing, allow only to choose value from list
=item cgiesc (string) -> escaped string
(C<Utility Objects>)
Escape string to HTML using L<CGI|CGI>->escapeHTML(@_)
=item cgitfrm (?-table=>{table attrs}, ?-tr=>{tr attrs}, ?-td=>{...}, ?-th=>{...}, [cell value,...],...) -> HTML
(C<Utility Objects>)
Generate simple HTML form in table layout using L<CGI|CGI>->start_form(),
L<CGI|CGI>->table(), L<CGI|CGI>->end_form().
'th' tag will be used for simple strings as usual labels, 'td' tag - for strings started with HTML tags.
=item cgipar() -> parameters
=item cgipar(name) -> value
=item cgipar(name, value)
(C<Utility Objects>)
Get or set L<CGI|CGI> parameter - L<CGI|CGI>->param(@_)
=item cgiselect (-name=>name, ?-title=>comment, ?-values=>[values], ?-labels=>{value=>display,..}, ?-default=>value, ?-override=>bool,...) -> selection HTML field
(C<Utility Objects>)
Generate selection field HTML using L<CGI|CGI>->popup_menu(@_)
-onchange=>1 - reload form when value changed
=item cgistring (-name=>name, ?-title=>comment, ?-default=>value, ?-override=>bool, ?-size=>number, ?-maxlength=>number,...) -> text HTML field
(C<Utility Objects>)
Generate text field HTML using L<CGI|CGI>->textfield(@_)
=item cgitext(-name=>name, ?-title=>comment, ?-default=>value, ?-override=>bool, ?-rows=>number, ?-columns=>number,...) -> textarea HTML field
(C<Utility Objects>)
Generate HTML textarea field using L<CGI|CGI>->textarea(@_)
=item connect (-param => value,...) -> connected
(C<Connection>)
Connect to ARS server with ARS::ars_Login()
or verify existed connection with ARS::ars_VerifyUser().
Load metadata (C<vfload>/C<vfstore>(C<-meta>), C<-metadn>, C<-metaid>).
( run in 2.176 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )