Up to [Local Repository] / interchange / code / UI_Tag
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Fix incorrect license in headers GPL v2 -> GPL v2 "or later". Update copyrights.
Fix incorrect license in headers GPL v2 -> GPL v2 "or later". Update copyrights.
Big copyright and version number update to prepare for 5.3.2 release.
Header/license fix or Version update+minor formatting fix, or both
* Remove attribute aliases that conflict with already-defined paramters to the [display ...] tag. (See column names in mv_metadata.)
Add some common attribute aliases that are also used in tag accessories.
updated LINUXIA branch to 4.9 sources in order to use it as testbed again
* Commit the new table editor. I have tested in quite a few situations
and found no problems.
* Add [tabbed-display] tag.
[tabbed-display OPTIONS]
[tabbed-panel The title of one]
The contents of one
[/tabbed-panel]
[tabbed-panel The titel of two]
The contents of two
[/tabbed-panel]
[/tabbed-display]
It is pretty much that simple. It is documented.
* The final update (at least from me) for the [table-editor] tag as we know it. This adds some additional formatting capability, but no one will ever use it (at least I hope). The plan is to create a new module, Vend::TableEditor (or Vend::Table::Editor?) which will break out all of the table-editor functions into a module. More on that on the core list.
Don't display table label or anything else when mv_metadata type of 'hidden' is chosen. As it currently stands, it's not possible to have automatically-generated tables with completely hidden values. This patch makes that possible from display and table-editor. Note that the normal 'hidden' choice in the UI is actually hidden_text, which isn't affected by this patch and will still show up.
Fixes: * Allow two types of return so that the widget can be inserted into a template by the calling routine. When called with the array return, returns the widget code, the help, help_url, and label. * Fix bad subroutine call.
* Major changes to the content editing scheme. I finally think it is really usable. * Requires a CSS/Javascript 1.3 compliant browser. Tested on Mozilla 0.9.8, MSIE 5.51, Opera 6.0tp2. All work pretty well; Mozilla is a bit slow, Opera doesn't have CSS widths down. * Page editor has a quasi-visual layout that should be much more intuitive. Support for a "PAGE_PICTURE" file in the templates allows visual links to the editor page. * Components, templates, and pages are now all editable. Template and component editors need to be brought up to speed with the page editor, but work fairly well. * Publishing scripting not yet done. * Added new lib/UI/ContentEditor.pm module which implements this stuff in conjunction with lib/UI/pages/include/*_editor. A bit of a JavaScript dependency nightmare on the generated attribute editors, but I make get this more canned as time goes on. * Lets get this on record -- this content editiing WILL NOT UNDER ANY CIRCUMSTANCES EVER WORK ON NETSCAPE 4. Do not ask, though I know the people who monitor this stuff won't. * Added new "auto_wizard" which builds a wizard from a file like in the example. I think this is pretty cool, if I do say so myself. It will be the method to provide scripted content addition. * More table-editor updates -- added notable option, and all_opts option which allows building the options in Perl and then doing: [table-editor all-opts=`\%opts`] * Look for major updates on the table editor to make it completely templateable. * That's all the comments for now -- try it out!
* Fired what I think is a major blow in the ongoing escaping problems. Set up an ESCAPE_CHARS::std variable which encodes everything HTML::Entities normally does plus [. This should be used almost exclusively for encoding. * Fix encoding in most places it is done. * Fix a couple of default/override bugs in Vend/Form.pm at the same time. * Add a "admin/test_code.html" page for testing short snippets of ITL without having to create a test page. * Make the table populator JavaScript honor the db tables the particular admin user is supposed to see.
* Fix problem with $Tag->display() called with null table, affecting "wizard" mode. * Re-introduce "restrict" tag into Interchange, unintentionally omitted when the great tag move was made. * Clean up of [sql ...] tag, which now becomes useful as a way of doing [query list=1 ...]. * Give proper encoding behavior to [display type=value ...] * Fix bad status code on PGP failure.
* Further break out Vend::Form access to display tag. Eliminate all widget routines from UI::Primitive. * Add ability to get back an array instead of a joined string to $Tag->list_databases,$Tag->list_keys,$Tag->db_columns,
* The great tag breakout!
* Almost all tags are now UserTag definitions. The only exceptions
are:
and bounce goto if label or unless
* New TagDir directive (default is VENDROOT/code) sets the
directory (or directories) which are searched for code definitions
set by UserTag and CodeDef.
* New TagGroup directive establishes groups of ITL tags which can
be included.
TagGroup :crufty "banner default ecml html_table onfly sql"
The default groups include :core, which contains all of the
ITL tags defined in 4.8/early 4.9. The groups are defined
in $Vend::Cfg::StdTags and can be undefined if desired
with "TagGroup :group".
* New TagInclude directive allows inclusion of tags (or groups
of tags). If a tag is defined as a core tag (with a .coretag
or .tag or .ct extension) and is not included, it will not
be compiled and placed in the tag map. This is for all catalogs,
so if *any* catalog uses a tag it must be included.
Examples:
# Include the base tags
TagInclude :core
# Not the commerce tags
TagInclude !:commerce
# But make sure item-list is included even though
# it is in :commerce
TagInclude item-list
## Double negatives are honored
TagGroup :foo "bar !baz buz"
## With the group above, the below is equivalent
## to TagInclude !bar baz !buz
TagInclude !:foo
* New CodeDef directive allows the setting of filters,
order checks, FormAction, ActionMap, ItemAction,
and LocaleChange.
## filters
CodeDef mixedcase Filter
CodeDef mixedcase Routine <<EOR
sub {
my $val = shift;
## [filter mixedcase]mixed case[/filter]
## outputs "MiXeD CaSe"
$val =~ s/(.)(.)/\u$1\l$2/g;
return $val;
}
EOR
## order checks
CodeDef mixedcase OrderCheck
CodeDef foo Routine <<EOR
sub {
my ($ref, $var, $val) = @_;
return (1,$var) if $val eq 'bar';
return (0,$var, "foo must be bar");
}
EOR
All work in catalog.cfg; LocaleChange and ItemAction are not
global. FormAction, ActionMap, and ItemAction directives
are equivalent to their CodeDef equivalents.