You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
11 months ago
|
tinymce.PluginManager.add('indent2em', function(editor, url) {
|
||
|
var pluginName='首行缩进';
|
||
|
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
||
|
var indent2em_val = editor.getParam('indent2em_val', '2em');
|
||
|
var doAct = function () {
|
||
|
var dom = editor.dom;
|
||
|
var blocks = editor.selection.getSelectedBlocks();
|
||
|
var act = '';
|
||
|
global$1.each(blocks, function (block) {
|
||
|
if(act==''){
|
||
|
act = dom.getStyle(block,'text-indent')==indent2em_val ? 'remove' : 'add';
|
||
|
}
|
||
|
if( act=='add' ){
|
||
|
dom.setStyle(block, 'text-indent', indent2em_val);
|
||
|
}else{
|
||
|
var style=dom.getAttrib(block,'style');
|
||
|
var reg = new RegExp('text-indent:[\\s]*' + indent2em_val + ';', 'ig');
|
||
|
style = style.replace(reg, '');
|
||
|
dom.setAttrib(block,'style',style);
|
||
|
}
|
||
|
|
||
|
});
|
||
|
};
|
||
|
|
||
|
editor.ui.registry.getAll().icons.indent2em || editor.ui.registry.addIcon('indent2em','<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M170.666667 563.2v-102.4H887.466667v102.4zM170.666667 836.266667v-102.4H887.466667v102.4zM512 290.133333v-102.4H887.466667v102.4zM238.933333 341.333333V136.533333l204.8 102.4z" fill="#2c2c2c" p-id="5210"></path></svg>');
|
||
|
|
||
|
var stateSelectorAdapter = function (editor, selector) {
|
||
|
return function (buttonApi) {
|
||
|
return editor.selection.selectorChangedWithUnbind(selector.join(','), buttonApi.setActive).unbind;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
editor.ui.registry.addToggleButton('indent2em', {
|
||
|
icon: 'indent2em',
|
||
|
tooltip: pluginName,
|
||
|
onAction: function () {
|
||
|
doAct();
|
||
|
},
|
||
|
onSetup: stateSelectorAdapter(editor, [
|
||
|
'*[style*="text-indent"]',
|
||
|
'*[data-mce-style*="text-indent"]',
|
||
|
])
|
||
|
});
|
||
|
|
||
|
editor.ui.registry.addMenuItem('indent2em', {
|
||
|
text: pluginName,
|
||
|
onAction: function() {
|
||
|
doAct();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
editor.addCommand('indent2em', doAct );
|
||
|
|
||
|
return {
|
||
|
getMetadata: function () {
|
||
|
return {
|
||
|
name: pluginName,
|
||
|
url: "http://tinymce.ax-z.cn/more-plugins/indent2em.php",
|
||
|
};
|
||
|
}
|
||
|
};
|
||
|
});
|