autocomplete html4,Autocomplete

Autocomplete

<p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p>

var PLACEHOLDERS = [{

id: 1,

name: 'address',

title: 'Address',

description: 'Customer Support correspondence address.'

},

{

id: 2,

name: 'assignee',

title: 'Assignee Name',

description: 'Ticket assignee name.'

},

{

id: 3,

name: 'deadline',

title: 'Deadline Time',

description: 'Utmost time to which technician should handle the issue.'

},

{

id: 4,

name: 'department',

title: 'Department Name',

description: 'Department name responsible for servicing this ticket.'

},

{

id: 5,

name: 'caseid',

title: 'Case ID',

description: 'Unique case number used to distinguish tickets.'

},

{

id: 6,

name: 'casename',

title: 'Case Name',

description: 'Name of the ticket provided by the user.'

},

{

id: 7,

name: 'contact',

title: 'Contact E-mail',

description: 'Customer Support contact e-mail address.'

},

{

id: 8,

name: 'customer',

title: 'Customer Name',

description: 'Receipent of your response.'

},

{

id: 9,

name: 'hotline',

title: 'Hotline Number',

description: 'Customer Support Hotline number.'

},

{

id: 10,

name: 'technician',

title: 'Technician Name',

description: 'Technician which will handle this ticket.'

}

];

CKEDITOR.addCss('span > .cke_placeholder { background-color: #ffeec2; }');

CKEDITOR.replace('editor1', {

plugins: 'autocomplete,textmatch,toolbar,wysiwygarea,basicstyles,link,undo,placeholder',

toolbar: [{

name: 'document',

items: ['Undo', 'Redo']

},

{

name: 'basicstyles',

items: ['Bold', 'Italic']

},

{

name: 'links',

items: ['Link', 'Unlink']

}

],

on: {

instanceReady: function(evt) {

var itemTemplate = '

' +

'

{title}
' +

'

{description}
' +

'

',

outputTemplate = '[[{title}]] ';

var autocomplete = new CKEDITOR.plugins.autocomplete(evt.editor, {

textTestCallback: textTestCallback,

dataCallback: dataCallback,

itemTemplate: itemTemplate,

outputTemplate: outputTemplate

});

// Override default getHtmlToInsert to enable rich content output.

autocomplete.getHtmlToInsert = function(item) {

return this.outputTemplate.output(item);

}

}

}

});

function textTestCallback(range) {

if (!range.collapsed) {

return null;

}

return CKEDITOR.plugins.textMatch.match(range, matchCallback);

}

function matchCallback(text, offset) {

var pattern = /\[{2}([A-z]|\])*$/,

match = text.slice(0, offset)

.match(pattern);

if (!match) {

return null;

}

return {

start: match.index,

end: offset

};

}

function dataCallback(matchInfo, callback) {

var data = PLACEHOLDERS.filter(function(item) {

var itemName = '[[' + item.name + ']]';

return itemName.indexOf(matchInfo.query.toLowerCase()) == 0;

});

callback(data);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值