adding initial rich editor code
This commit is contained in:
parent
da2623bea4
commit
923e99ccf2
5 changed files with 424 additions and 4 deletions
|
|
@ -37,7 +37,7 @@ my @newAssetList;
|
|||
foreach my $asset (@{$newConfig{assets}}) {
|
||||
push(@newAssetList, $asset) unless ($asset eq "WebGUI::Asset::Template");
|
||||
}
|
||||
$newConfig{utilityAssets} = ["WebGUI::Asset::Template"];
|
||||
$newConfig{utilityAssets} = ["WebGUI::Asset::Template","WebGUI::Asset::RichEdit"];
|
||||
$newConfig{assets} = \@newAssetList;
|
||||
$newConfig{shippingPlugins} = ['ByPrice', 'ByWeight', 'PerTransaction'];
|
||||
|
||||
|
|
|
|||
|
|
@ -48,4 +48,24 @@ alter table transaction add column shippingMethod varchar(15);
|
|||
alter table transaction add column shippingOptions text;
|
||||
alter table transaction add column shippingStatus varchar(15) default 'NotShipped';
|
||||
alter table transaction add column trackingNumber varchar(255);
|
||||
|
||||
create table RichEdit (
|
||||
assetId varchar(22) not null primary key,
|
||||
templateId varchar(22) not null default 'PBtmpl0000000000000180',
|
||||
askAboutRichEdit int not null default 0,
|
||||
preformated int not null default 0,
|
||||
editorWidth int not null default 0,
|
||||
editorHeight int not null default 0,
|
||||
sourceEditorWidth int not null default 0,
|
||||
sourceEditorHeight int not null default 0,
|
||||
useBr int not null default 0,
|
||||
convertNewLinesToBr int not null default 0,
|
||||
removeLineBreaks int not null default 0,
|
||||
npwrap int not null default 0,
|
||||
directionality varchar(3) not null default 'ltr',
|
||||
toolbarLocation varchar(6) not null default 'bottom',
|
||||
cssFile varchar(255),
|
||||
toolbarRow1 text,
|
||||
toolbarRow2 text,
|
||||
toolbarRow3 text,
|
||||
enableContextMenu int not null default 0
|
||||
);
|
||||
|
|
|
|||
|
|
@ -119,7 +119,8 @@ assetContainers = WebGUI::Asset::Wobject::Layout, \
|
|||
# and are not typically used as a normal part of content
|
||||
# management.
|
||||
|
||||
utilityAssets => WebGUI::Asset::Template
|
||||
utilityAssets => WebGUI::Asset::Template, \
|
||||
WebGUI::Asset::RichEdit
|
||||
|
||||
# Optionally specify a group id for assets to tell WebGUI what
|
||||
# group a user needs to be part of in order to add that type of
|
||||
|
|
|
|||
400
lib/WebGUI/Asset/RichEdit.pm
Normal file
400
lib/WebGUI/Asset/RichEdit.pm
Normal file
|
|
@ -0,0 +1,400 @@
|
|||
package WebGUI::Asset::RichEdit;
|
||||
|
||||
=head1 LEGAL
|
||||
|
||||
-------------------------------------------------------------------
|
||||
WebGUI is Copyright 2001-2005 Plain Black Corporation.
|
||||
-------------------------------------------------------------------
|
||||
Please read the legal notices (docs/legal.txt) and the license
|
||||
(docs/license.txt) that came with this distribution before using
|
||||
this software.
|
||||
-------------------------------------------------------------------
|
||||
http://www.plainblack.com info@plainblack.com
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=cut
|
||||
|
||||
use strict;
|
||||
use WebGUI::Asset;
|
||||
use WebGUI::Asset::Template;
|
||||
use WebGUI::Macro;
|
||||
use WebGUI::Session;
|
||||
|
||||
our @ISA = qw(WebGUI::Asset);
|
||||
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Package WebGUI::Asset::RichEdit
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
A configuration for rich editor.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use WebGUI::Asset::RichEdit;
|
||||
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
These methods are available from this class:
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 definition ( definition )
|
||||
|
||||
Defines the properties of this asset.
|
||||
|
||||
=head3 definition
|
||||
|
||||
A hash reference passed in from a subclass definition.
|
||||
|
||||
=cut
|
||||
|
||||
sub definition {
|
||||
my $class = shift;
|
||||
my $definition = shift;
|
||||
push(@{$definition}, {
|
||||
tableName=>'RichEdit',
|
||||
className=>'WebGUI::Asset::RichEdit',
|
||||
properties=>{
|
||||
templateId=>{
|
||||
fieldType=>'template',
|
||||
defaultValue=>'PBtmpl0000000000000180'
|
||||
},
|
||||
askAboutRichEdit=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
preformated=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
editorWidth=>{
|
||||
fieldType=>'integer',
|
||||
defaultValue=>0
|
||||
},
|
||||
editorHeight=>{
|
||||
fieldType=>'integer',
|
||||
defaultValue=>0
|
||||
},
|
||||
sourceEditorWidth=>{
|
||||
fieldType=>'integer',
|
||||
defaultValue=>0
|
||||
},
|
||||
sourceEditorHeight=>{
|
||||
fieldType=>'integer',
|
||||
defaultValue=>0
|
||||
},
|
||||
useBr=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
convertNewLinesToBr=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
removeLineBreaks=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
nowrap=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
directionality=>{
|
||||
fieldType=>'selectList',
|
||||
defaultValue=>'ltr'
|
||||
},
|
||||
toolbarLocation=>{
|
||||
fieldType=>'selectList',
|
||||
defaultValue=>'bottom'
|
||||
},
|
||||
cssFile=>{
|
||||
fieldType=>'text',
|
||||
defaultValue=>undef
|
||||
},
|
||||
toolbarRow1=>{
|
||||
fieldType=>'checkList',
|
||||
defaultValue=>undef
|
||||
},
|
||||
toolbarRow2=>{
|
||||
fieldType=>'checkList',
|
||||
defaultValue=>undef
|
||||
},
|
||||
toolbarRow3=>{
|
||||
fieldType=>'checkList',
|
||||
defaultValue=>undef
|
||||
},
|
||||
enableContextMenu => {
|
||||
fildType => "yesNo",
|
||||
defaultValue => 0
|
||||
}
|
||||
}
|
||||
});
|
||||
return $class->SUPER::definition($definition);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getEditForm ()
|
||||
|
||||
Returns the TabForm object that will be used in generating the edit page for this asset.
|
||||
|
||||
=cut
|
||||
|
||||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $tabform = $self->SUPER::getEditForm();
|
||||
my %buttons;
|
||||
tie %buttons, "Tie::IxHash";
|
||||
%buttons = (
|
||||
search => "Find",
|
||||
replace => "Replace",
|
||||
searchreplace => "Find and Replace",
|
||||
cut => "Cut",
|
||||
copy => "Copy",
|
||||
paste => "Paste",
|
||||
undo => "Undo",
|
||||
redo => "Redo",
|
||||
bold => "Bold",
|
||||
italic => "Italic",
|
||||
underline => "Underline",
|
||||
strikethrough => "Strike Through",
|
||||
justifyleft => "Left Justified",
|
||||
justifycenter => "Centered",
|
||||
justifyright => "Right Justified",
|
||||
justifyfull => "Fully Justified",
|
||||
bullist => "Bulleted List",
|
||||
numlist => "Numbered List",
|
||||
outdent => "Outdent",
|
||||
indent => "Indent",
|
||||
sub => "Subscript",
|
||||
sup => "Superscript",
|
||||
styleselect => "Apply Style",
|
||||
formatselect => "Apply Format",
|
||||
code => "Code",
|
||||
fontselect => "Font",
|
||||
fontsizeselect => "Font Size",
|
||||
forecolor => "Foreground Color",
|
||||
backcolor => "Background Color",
|
||||
link => "Create Hyperlink",
|
||||
# advlink => "Advanced Link",
|
||||
pagetree => "WebGUI Page Tree Link",
|
||||
anchor => "Anchor",
|
||||
unlink => "Unlink",
|
||||
tablecontrols => "Table Controls",
|
||||
table => "Create Table",
|
||||
row_before => "Insert Table Row Before",
|
||||
row_after => "Insert Table Row After",
|
||||
delete_row => "Delete Table Row",
|
||||
col_before => "Insert Table Column Before",
|
||||
col_after => "Insert Table Column After",
|
||||
delete_col => "Delete Table Column",
|
||||
visualaid => "Toggle Table Visual Aid",
|
||||
# spacer => "Toolbar Spacer",
|
||||
# separator => "Toolbar Separator",
|
||||
# rowseparator => "Toolbar Row Separator",
|
||||
hr => "Insert Horizontal Rule",
|
||||
advhr => "Advanced Horizontal Rule",
|
||||
inserttime => "Insert Time",
|
||||
insertdate => "Insert Date",
|
||||
insertdatetime => "Insert Date and Time",
|
||||
image => "Image",
|
||||
insertImage => "WebGUI Image",
|
||||
# advimage => "Advanced Image",
|
||||
# flash => "Flash Movie",
|
||||
charmap => "Special Character",
|
||||
collateral => "WebGUI Macro",
|
||||
emotions => "Emoticons",
|
||||
help => "Help",
|
||||
iespell => "Internet Explorer Spell Checker",
|
||||
removeformat => "Remove Formatting",
|
||||
source => "View Source",
|
||||
cleanup => "Clean Up Code",
|
||||
# save => "Save",
|
||||
preview => "Preview",
|
||||
zoom => "Zoom",
|
||||
print => "Print",
|
||||
);
|
||||
$tabform->getTab("properties")->checkList(
|
||||
-name=>"toolbarRow1",
|
||||
-label=>"Toolbar Row 1",
|
||||
-options=>\%buttons,
|
||||
-value=>[$self->getValue("toolbarRow1")]
|
||||
);
|
||||
$tabform->getTab("properties")->checkList(
|
||||
-name=>"toolbarRow2",
|
||||
-label=>"Toolbar Row 2",
|
||||
-options=>\%buttons,
|
||||
-value=>[$self->getValue("toolbarRow2")]
|
||||
);
|
||||
$tabform->getTab("properties")->checkList(
|
||||
-name=>"toolbarRow3",
|
||||
-label=>"Toolbar Row 3",
|
||||
-options=>\%buttons,
|
||||
-value=>[$self->getValue("toolbarRow3")]
|
||||
);
|
||||
$tabform->getTab("display")->template(
|
||||
-value=>$self->getValue("templateId")
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("askAboutRichEdit"),
|
||||
-label=>"Ask user about rich using rich edit?",
|
||||
-name=>"askAboutRichEdit"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("preformatted"),
|
||||
-label=>"Edit preformmated text?",
|
||||
-name=>"preformatted"
|
||||
);
|
||||
$tabform->getTab("display")->integer(
|
||||
-value=>$self->getValue("editorWidth"),
|
||||
-label=>"Editor Width",
|
||||
-name=>"editorWidth"
|
||||
);
|
||||
$tabform->getTab("display")->integer(
|
||||
-value=>$self->getValue("editorHeight"),
|
||||
-label=>"Editor Height",
|
||||
-name=>"editorHeight"
|
||||
);
|
||||
$tabform->getTab("display")->integer(
|
||||
-value=>$self->getValue("sourceEditorWidth"),
|
||||
-label=>"Source Editor Width",
|
||||
-name=>"sourceEditorWidth"
|
||||
);
|
||||
$tabform->getTab("display")->integer(
|
||||
-value=>$self->getValue("sourceEditorHeight"),
|
||||
-label=>"Source Editor Height",
|
||||
-name=>"sourceEditorHeight"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("useBr"),
|
||||
-label=>"Use <br /> instead of <p> on 'Enter'?",
|
||||
-name=>"useBr"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("convertNewLinesToBr"),
|
||||
-label=>"Convert new lines to <br /> on paste?",
|
||||
-name=>"convertNewLinesToBr"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("removeLineBreaks"),
|
||||
-label=>"Remove line breaks from HTML?",
|
||||
-name=>"removeLineBreaks"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("nowrap"),
|
||||
-label=>"Do not wrap text in editor?",
|
||||
-name=>"nowrap"
|
||||
);
|
||||
$tabform->getTab("properties")->selectList(
|
||||
-value=>[$self->getValue("directionality")],
|
||||
-label=>"Text Direction",
|
||||
-name=>"directionality",
|
||||
-options=>{
|
||||
ltr=>"Left To Right",
|
||||
rtl=>"Right To Left"
|
||||
}
|
||||
);
|
||||
$tabform->getTab("display")->selectList(
|
||||
-value=>[$self->getValue("toolbarLocation")],
|
||||
-label=>"Toolbar Location",
|
||||
-name=>"toolbarLocation",
|
||||
-options=>{
|
||||
top=>"Top",
|
||||
bottom=>"Bottom"
|
||||
}
|
||||
);
|
||||
$tabform->getTab("properties")->text(
|
||||
-value=>$self->getValue("cssFile"),
|
||||
-label=>"CSS File",
|
||||
-name=>"cssFile"
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-value=>$self->getValue("enableContextMenu"),
|
||||
-label=>"Enable Context Menu",
|
||||
-name=>"enableContextMenu"
|
||||
);
|
||||
return $tabform;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub getIcon {
|
||||
my $self = shift;
|
||||
my $small = shift;
|
||||
return $session{config}{extrasURL}.'/assets/small/snippet.gif' if ($small);
|
||||
return $session{config}{extrasURL}.'/assets/snippet.gif';
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getToolbar ( )
|
||||
|
||||
Returns a toolbar with a set of icons that hyperlink to functions that delete, edit, promote, demote, cut, and copy.
|
||||
|
||||
=cut
|
||||
|
||||
sub getToolbar {
|
||||
my $self = shift;
|
||||
return undef if ($self->getToolbarState);
|
||||
return $self->SUPER::getToolbar();
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getUiLevel ()
|
||||
|
||||
Returns the UI level of this asset.
|
||||
|
||||
=cut
|
||||
|
||||
sub getUiLevel {
|
||||
return 5;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getName
|
||||
|
||||
Returns the displayable name of this asset.
|
||||
|
||||
=cut
|
||||
|
||||
sub getName {
|
||||
return "Snippet";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub view {
|
||||
my $self = shift;
|
||||
push(@toolbarRow1,"contextmenu") if ($self->getValue("enableContextMenu"));
|
||||
my $output = WebGUI::Macro::process($self->get("snippet"));
|
||||
$output = '<p>'.$self->getToolbar.'</p>'.$output if ($session{var}{adminOn} && !$calledAsWebMethod);
|
||||
return $output unless ($self->getValue("processAsTemplate"));
|
||||
return WebGUI::Asset::Template->processRaw($output);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_edit {
|
||||
my $self = shift;
|
||||
return WebGUI::Privilege::insufficient() unless $self->canEdit;
|
||||
$self->getAdminConsole->setHelp("snippet add/edit","Snippet");
|
||||
return $self->getAdminConsole->render($self->getEditForm->print,"Edit Rich Editor Configuration");
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
|
@ -17,7 +17,6 @@ package WebGUI::User;
|
|||
use strict;
|
||||
use WebGUI::DateTime;
|
||||
use WebGUI::Grouping;
|
||||
use WebGUI::HTMLForm;
|
||||
use WebGUI::Id;
|
||||
use WebGUI::International;
|
||||
use WebGUI::Session;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue