How to: Implement check boxes in a document
- 2 minutes to read
In this example, the custom Check Box ribbon item inserts a hyperlink that is displayed as a check box. When the hyperlink is clicked, the HyperlinkClick event handler changes the check box image from checked to unchecked and vise versa.
Note
This example uses the hyperlink property that is implemented in DevExpress v20.2.4.
var checkBoxCheckedImageBase64 = 'data:image/png;base64,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';
var checkBoxUncheckedImageBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOAAAADgCAYAAAAaLWrhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABKBSURBVHhe7Z17zJbzH8dvW5SOKkqlSJGUDqqJWKlEmQ2RmUPRwWE2f4R/bNmcaSadViNi/sDQUiHHSdkKk1NySufSUaSDJ31/e322z/273K7nUa36PM/T+9lervu+7ut0b+9Xn+/1/V7fW+H3339PQogY/iXgH3/88Y/X/n7btm3pt99+S1u3bk1btmyxpRBHOjiBG+7K9u3bi75k3QH3KosJ6Buw859//mkHZT2vd+7caeuRbs2aNWn58uVp2bJltly5cmVavXq1EEcMZH7FihUG79evX29u4MquXbvS7t27zSXkdJf43EXNygfFCsjGe/bsSWVlZXZgBFu6dGmaN29eeuutt9Jrr72WnnvuuTRp0qT01FNPpQkTJtjryZMnC3HE4PkfO3Zsmjp1anr11VfNkW+++SatXbs2/fXXX2nHjh0m2+bNmyuUD0xASiWV7u+//7aV8+fPTzNnzkxPP/10uuuuu9KoUaPSddddly677LLUr1+/dMEFF6Q+ffoIcUTSq1ev1KVLl3TRRReloUOHpvvuu8/EfPPNN614IRysW7fOJCxPPihWQDb65Zdf0ty5c006TnTSSSelE044IR1//PG2bNKkidG0aVOD16wX4kiicePGqWHDhubFiSeemFq1apVOPfXUdPHFF6fx48dbRaSpilebNm0y3LNSTMCNGzemb7/9Nk2cODENGTIkde7cOTVr1iw1aNDATohsnIh1zZs3tyXvWV96cUJUZ5AOAcELk/vRrl27NGDAgDRy5Mg0ZcqUtGrVKpOM1iVL76jhdo9+FV4XuFn8/vvv0/Tp083gmjVrGhy8devWqUOHDqljx47pzDPPTGeccUY6/fTT02mnnZbatGljn59yyinGySefLES1hpxT7RzeU/lwon379uaEC4qIs2bNSr/++mvau3evNUmREPnoqOE+0QSkzfrKK6+kc845x4QCTHbJOIHjn7t0Tt7FClGdKM28gw94AjiDiN5y5DZuxowZJiG9pUhITyl9LSypgoUPP/zQ7vlatmxpzUsOQtVDQqTjJHkXJMSRhMuWhxcod4dbtPr166d69eqlO++8M73z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';
var checkBoxUncheckedSymbol = 'U';
var checkBoxCheckedSymbol = 'C';
var insertCheckBoxCommandId = 'insertCheckBox';
function getImageSize(unitConverter, subDocument, position) {
var fontSize = subDocument.getCharacterProperties(new DevExpress.RichEdit.Interval(position, 0)).size;
var picSideSize = unitConverter.pointsToTwips(fontSize);
return new DevExpress.RichEdit.Size(picSideSize, picSideSize);
}
options.fields.openHyperlinkOnClick = true;
options.ribbon.getTab(DevExpress.RichEdit.RibbonTabType.Insert).insertItemAfter(
new DevExpress.RichEdit.RibbonButtonItem(insertCheckBoxCommandId, 'Check Box',
{ icon: 'check', showText: true }),
DevExpress.RichEdit.InsertTabItemId.InsertPictureLocally);
options.events.customCommandExecuted = (s, e) => {
switch(e.commandName) {
case insertCheckBoxCommandId: {
var subDocument = s.selection.activeSubDocument;
s.beginUpdate();
s.history.beginTransaction();
var hyperlink = subDocument.hyperlinks.create(s.selection.active,
new DevExpress.RichEdit.HyperlinkInfo("", checkBoxUncheckedSymbol, undefined, undefined));
subDocument.deleteText(hyperlink.resultInterval);
subDocument.images.createInline(hyperlink.resultInterval.start, {
base64: checkBoxUncheckedImageBase64,
actualSize: getImageSize(s.unitConverter, subDocument, hyperlink.interval.end),
});
var insertedInterval = subDocument.insertText(hyperlink.interval.end, ' ');
s.selection.setSelection(insertedInterval.end);
s.history.endTransaction();
s.endUpdate();
break;
}
}
};
options.events.hyperlinkClick = (s, e) => {
if(e.targetUri == checkBoxUncheckedSymbol || e.targetUri == checkBoxCheckedSymbol) {
var subDocument = e.hyperlink.subDocument;
var checked = e.targetUri === checkBoxCheckedSymbol;
s.beginUpdate();
s.history.beginTransaction();
var hypInfo = e.hyperlink.hyperlinkInfo;
hypInfo.url = checked ? checkBoxUncheckedSymbol : checkBoxCheckedSymbol;
e.hyperlink.hyperlinkInfo = hypInfo;
subDocument.deleteText(e.hyperlink.resultInterval);
subDocument.images.createInline(e.hyperlink.resultInterval.start, {
base64: checked ? checkBoxUncheckedImageBase64 : checkBoxCheckedImageBase64,
actualSize: getImageSize(s.unitConverter, subDocument, e.hyperlink.interval.end),
});
s.selection.setSelection(e.hyperlink.interval.end);
s.history.endTransaction();
s.endUpdate();
e.handled = true;
}
};