mirror of
https://github.com/e107inc/e107.git
synced 2025-10-13 05:55:02 +02:00
More fixes and enhancements - bbcodes, tinymce, js
This commit is contained in:
@@ -5,6 +5,7 @@ select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padd
|
||||
#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;}
|
||||
#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;}
|
||||
#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;}
|
||||
.panel_toggle_insert_span {padding-top:10px;}
|
||||
.panel_wrapper div.current {padding-top:10px;height:230px;}
|
||||
.delim {border-left:1px solid gray;}
|
||||
.tdelim {border-bottom:1px solid gray;}
|
||||
|
@@ -1 +1 @@
|
||||
(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:320+parseInt(a.getLang("style.delta_height",0)),inline:1},{plugin_url:b,style_text:a.selection.getNode().style.cssText})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})();
|
||||
(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){var c=false;var f=a.selection.getSelectedBlocks();var d=[];if(f.length===1){d.push(a.selection.getNode().style.cssText)}else{tinymce.each(f,function(g){d.push(a.dom.getAttrib(g,"style"))});c=true}a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:340+parseInt(a.getLang("style.delta_height",0)),inline:1},{applyStyleToBlocks:c,plugin_url:b,styles:d})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})();
|
@@ -13,14 +13,30 @@
|
||||
init : function(ed, url) {
|
||||
// Register commands
|
||||
ed.addCommand('mceStyleProps', function() {
|
||||
|
||||
var applyStyleToBlocks = false;
|
||||
var blocks = ed.selection.getSelectedBlocks();
|
||||
var styles = [];
|
||||
|
||||
if (blocks.length === 1) {
|
||||
styles.push(ed.selection.getNode().style.cssText);
|
||||
}
|
||||
else {
|
||||
tinymce.each(blocks, function(block) {
|
||||
styles.push(ed.dom.getAttrib(block, 'style'));
|
||||
});
|
||||
applyStyleToBlocks = true;
|
||||
}
|
||||
|
||||
ed.windowManager.open({
|
||||
file : url + '/props.htm',
|
||||
width : 480 + parseInt(ed.getLang('style.delta_width', 0)),
|
||||
height : 320 + parseInt(ed.getLang('style.delta_height', 0)),
|
||||
height : 340 + parseInt(ed.getLang('style.delta_height', 0)),
|
||||
inline : 1
|
||||
}, {
|
||||
applyStyleToBlocks : applyStyleToBlocks,
|
||||
plugin_url : url,
|
||||
style_text : ed.selection.getNode().style.cssText
|
||||
styles : styles
|
||||
});
|
||||
});
|
||||
|
||||
@@ -52,4 +68,4 @@
|
||||
|
||||
// Register plugin
|
||||
tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin);
|
||||
})();
|
||||
})();
|
||||
|
@@ -27,10 +27,41 @@ var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;out
|
||||
var defaultBorderWidth = "thin;medium;thick";
|
||||
var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
|
||||
|
||||
function init() {
|
||||
function aggregateStyles(allStyles) {
|
||||
var mergedStyles = {};
|
||||
|
||||
tinymce.each(allStyles, function(style) {
|
||||
if (style !== '') {
|
||||
var parsedStyles = tinyMCEPopup.editor.dom.parseStyle(style);
|
||||
for (var name in parsedStyles) {
|
||||
if (parsedStyles.hasOwnProperty(name)) {
|
||||
if (mergedStyles[name] === undefined) {
|
||||
mergedStyles[name] = parsedStyles[name];
|
||||
}
|
||||
else if (name === 'text-decoration') {
|
||||
if (mergedStyles[name].indexOf(parsedStyles[name]) === -1) {
|
||||
mergedStyles[name] = mergedStyles[name] +' '+ parsedStyles[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return mergedStyles;
|
||||
}
|
||||
|
||||
var applyActionIsInsert;
|
||||
var existingStyles;
|
||||
|
||||
function init(ed) {
|
||||
var ce = document.getElementById('container'), h;
|
||||
|
||||
ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
|
||||
existingStyles = aggregateStyles(tinyMCEPopup.getWindowArg('styles'));
|
||||
ce.style.cssText = tinyMCEPopup.editor.dom.serializeStyle(existingStyles);
|
||||
|
||||
applyActionIsInsert = ed.getParam("edit_css_style_insert_span", false);
|
||||
document.getElementById('toggle_insert_span').checked = applyActionIsInsert;
|
||||
|
||||
h = getBrowserHTML('background_image_browser','background_image','image','advimage');
|
||||
document.getElementById("background_image_browser").innerHTML = h;
|
||||
@@ -368,13 +399,41 @@ function hasEqualValues(a) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function toggleApplyAction() {
|
||||
applyActionIsInsert = ! applyActionIsInsert;
|
||||
}
|
||||
|
||||
function applyAction() {
|
||||
var ce = document.getElementById('container'), ed = tinyMCEPopup.editor;
|
||||
|
||||
generateCSS();
|
||||
|
||||
tinyMCEPopup.restoreSelection();
|
||||
ed.dom.setAttrib(ed.selection.getSelectedBlocks(), 'style', tinyMCEPopup.editor.dom.serializeStyle(tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText)));
|
||||
|
||||
var newStyles = tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText);
|
||||
|
||||
if (applyActionIsInsert) {
|
||||
ed.formatter.register('plugin_style', {
|
||||
inline: 'span', styles: existingStyles
|
||||
});
|
||||
ed.formatter.remove('plugin_style');
|
||||
|
||||
ed.formatter.register('plugin_style', {
|
||||
inline: 'span', styles: newStyles
|
||||
});
|
||||
ed.formatter.apply('plugin_style');
|
||||
} else {
|
||||
var nodes;
|
||||
|
||||
if (tinyMCEPopup.getWindowArg('applyStyleToBlocks')) {
|
||||
nodes = ed.selection.getSelectedBlocks();
|
||||
}
|
||||
else {
|
||||
nodes = ed.selection.getNode();
|
||||
}
|
||||
|
||||
ed.dom.setAttrib(nodes, 'style', tinyMCEPopup.editor.dom.serializeStyle(newStyles));
|
||||
}
|
||||
}
|
||||
|
||||
function updateAction() {
|
||||
|
@@ -1 +1 @@
|
||||
tinyMCE.addI18n('en.style_dlg',{"text_lineheight":"Line Height","text_variant":"Variant","text_style":"Style","text_weight":"Weight","text_size":"Size","text_font":"Font","text_props":"Text","positioning_tab":"Positioning","list_tab":"List","border_tab":"Border","box_tab":"Box","block_tab":"Block","background_tab":"Background","text_tab":"Text",apply:"Apply",title:"Edit CSS Style",clip:"Clip",placement:"Placement",overflow:"Overflow",zindex:"Z-index",visibility:"Visibility","positioning_type":"Type",position:"Position","bullet_image":"Bullet Image","list_type":"Type",color:"Color",height:"Height",width:"Width",style:"Style",margin:"Margin",left:"Left",bottom:"Bottom",right:"Right",top:"Top",same:"Same for All",padding:"Padding","box_clear":"Clear","box_float":"Float","box_height":"Height","box_width":"Width","block_display":"Display","block_whitespace":"Whitespace","block_text_indent":"Text Indent","block_text_align":"Text Align","block_vertical_alignment":"Vertical Alignment","block_letterspacing":"Letter Spacing","block_wordspacing":"Word Spacing","background_vpos":"Vertical Position","background_hpos":"Horizontal Position","background_attachment":"Attachment","background_repeat":"Repeat","background_image":"Background Image","background_color":"Background Color","text_none":"None","text_blink":"Blink","text_case":"Case","text_striketrough":"Strikethrough","text_underline":"Underline","text_overline":"Overline","text_decoration":"Decoration","text_color":"Color",text:"Text",background:"Background",block:"Block",box:"Box",border:"Border",list:"List"});
|
||||
tinyMCE.addI18n('en.style_dlg',{"text_lineheight":"Line Height","text_variant":"Variant","text_style":"Style","text_weight":"Weight","text_size":"Size","text_font":"Font","text_props":"Text","positioning_tab":"Positioning","list_tab":"List","border_tab":"Border","box_tab":"Box","block_tab":"Block","background_tab":"Background","text_tab":"Text",apply:"Apply",toggle_insert_span:"Insert span at selection",title:"Edit CSS Style",clip:"Clip",placement:"Placement",overflow:"Overflow",zindex:"Z-index",visibility:"Visibility","positioning_type":"Type",position:"Position","bullet_image":"Bullet Image","list_type":"Type",color:"Color",height:"Height",width:"Width",style:"Style",margin:"Margin",left:"Left",bottom:"Bottom",right:"Right",top:"Top",same:"Same for All",padding:"Padding","box_clear":"Clear","box_float":"Float","box_height":"Height","box_width":"Width","block_display":"Display","block_whitespace":"Whitespace","block_text_indent":"Text Indent","block_text_align":"Text Align","block_vertical_alignment":"Vertical Alignment","block_letterspacing":"Letter Spacing","block_wordspacing":"Word Spacing","background_vpos":"Vertical Position","background_hpos":"Horizontal Position","background_attachment":"Attachment","background_repeat":"Repeat","background_image":"Background Image","background_color":"Background Color","text_none":"None","text_blink":"Blink","text_case":"Case","text_striketrough":"Strikethrough","text_underline":"Underline","text_overline":"Overline","text_decoration":"Decoration","text_color":"Color",text:"Text",background:"Background",block:"Block",box:"Box",border:"Border",list:"List"});
|
||||
|
@@ -825,6 +825,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel_toggle_insert_span">
|
||||
<input type="checkbox" class="checkbox" id="toggle_insert_span" name="toggle_insert_span" onClick="toggleApplyAction();" />
|
||||
<label for="toggle_insert_span">{#style_dlg.toggle_insert_span}</label>
|
||||
</div>
|
||||
|
||||
<div class="mceActionPanel">
|
||||
<input type="submit" id="insert" name="insert" value="{#update}" />
|
||||
<input type="button" class="button" id="apply" name="apply" value="{#style_dlg.apply}" onClick="applyAction();" />
|
||||
|
Reference in New Issue
Block a user