Source RapidContext_Widget_Icon.js

1/*
2 * RapidContext <https://www.rapidcontext.com/>
3 * Copyright (c) 2007-2023 Per Cederberg. All rights reserved.
4 *
5 * This program is free software: you can redistribute it and/or
6 * modify it under the terms of the BSD license.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 *
12 * See the RapidContext LICENSE for more details.
13 */
14
15// Namespace initialization
16if (typeof(RapidContext) == "undefined") {
17    RapidContext = {};
18}
19RapidContext.Widget = RapidContext.Widget || { Classes: {} };
20
21/**
22 * Creates a new icon widget.
23 *
24 * @constructor
25 * @param {string|Object|Node} def the icon ref, class, attributes or DOM node
26 * @param {string} [def.ref] the predefined icon name (reference)
27 * @param {string} [def.class] the icon CSS class names
28 * @param {string} [def.url] the icon image URL
29 * @param {string} [def.position] the icon image position
30 * @param {number} [def.width] the icon width (in pixels)
31 * @param {number} [def.height] the icon height (in pixels)
32 * @param {string} [def.tooltip] the icon tooltip text
33 * @param {boolean} [def.disabled] the disabled widget flag, defaults to
34 *            false
35 * @param {boolean} [def.hidden] the hidden widget flag, defaults to false
36 *
37 * @return {Widget} the widget DOM node
38 *
39 * @class The icon widget class. Used to provide a small clickable image, using
40 *     the `<i>` HTML element. The icons can be either image- or font-based,
41 *     causing slightly different behaviours with respect to size. A number of
42 *     predefined icons suitable for different actions are available (using the
43 *     Font-Awesome icon font).
44 * @extends RapidContext.Widget
45 *
46 * @example <caption>JavaScript</caption>
47 * var style = { "margin-left": "3px" };
48 * var dataReload = RapidContext.Widget.Icon({ ref: "RELOAD", style: style });
49 * var dataLoading = RapidContext.Widget.Icon({ ref: "LOADING", hidden: true, style: style });
50 * var h3 = MochiKit.DOM.H3({}, "Data List:", dataReload, dataLoading);
51 *
52 * @example <caption>User Interface XML</caption>
53 * <h3>
54 *   Data List:
55 *   <Icon id="dataReload" ref="RELOAD" style="margin-left: 3px;" />
56 *   <Icon id="dataLoading" ref="LOADING" hidden="true" style="margin-left: 3px;" />
57 * </h3>
58 */
59RapidContext.Widget.Icon = function (def) {
60    var o = (def && def.nodeType === 1) ? def : document.createElement("i");
61    if (!RapidContext.Widget.isWidget(o, "Icon")) {
62        RapidContext.Widget._widgetMixin(o, RapidContext.Widget.Icon);
63        o.addClass("widgetIcon");
64    }
65    o.setAttrs((def && def.nodeType === 1) ? {} : def);
66    return o;
67};
68
69// Register widget class
70RapidContext.Widget.Classes.Icon = RapidContext.Widget.Icon;
71
72/**
73 * Returns the widget container DOM node.
74 *
75 * @return {Node} returns null, since child nodes are not supported
76 */
77RapidContext.Widget.Icon.prototype._containerNode = function () {
78    return null;
79};
80
81/**
82 * Updates the icon or HTML DOM node attributes.
83 *
84 * @param {string|Object} attrs the icon ref, class or attributes to set
85 * @param {string} [attrs.ref] the predefined icon name (reference)
86 * @param {string} [attrs.class] the icon CSS class names
87 * @param {string} [attrs.url] the icon image URL
88 * @param {string} [attrs.position] the icon image position
89 * @param {number} [attrs.width] the icon width (in pixels)
90 * @param {number} [attrs.height] the icon height (in pixels)
91 * @param {string} [attrs.tooltip] the icon tooltip text
92 * @param {boolean} [attrs.disabled] the disabled widget flag
93 * @param {boolean} [attrs.hidden] the hidden widget flag
94 */
95RapidContext.Widget.Icon.prototype.setAttrs = function (attrs) {
96    if (typeof(attrs) === "string") {
97        let key = (attrs in RapidContext.Widget.Icon) ? "ref" : "class";
98        attrs = { [key]: attrs };
99    } else {
100        attrs = Object.assign({}, attrs);
101    }
102    while ("ref" in attrs) {
103        let def = RapidContext.Widget.Icon[attrs.ref] || {};
104        delete attrs.ref;
105        attrs = Object.assign({}, def, attrs);
106    }
107    let styles = {};
108    if ("url" in attrs) {
109        this.addClass("widgetIconSprite");
110        styles.backgroundImage = "url('" + attrs.url + "')";
111        delete attrs.url;
112    }
113    if ("position" in attrs) {
114        styles.backgroundPosition = attrs.position;
115        delete attrs.position;
116    }
117    if ("width" in attrs) {
118        styles.width = attrs.width + "px";
119        delete attrs.width;
120    }
121    if ("height" in attrs) {
122        styles.height = attrs.height + "px";
123        delete attrs.height;
124    }
125    if ("tooltip" in attrs) {
126        attrs.title = attrs.title || attrs.tooltip;
127        delete attrs.tooltip;
128    }
129    Object.keys(styles).length && this.setStyle(styles);
130    this.__setAttrs(attrs);
131};
132
133Object.assign(RapidContext.Widget.Icon, {
134    /**
135     * The default icon definition, inherited by all others.
136     * @memberof RapidContext.Widget.Icon
137     */
138    DEFAULT: { url: "rapidcontext/files/images/icons/icons_16x16.png", width: 16, height: 16 },
139    /**
140     * The blank icon definition.
141     * @memberof RapidContext.Widget.Icon
142     */
143    BLANK: { ref: "DEFAULT", position: "0px 0px", style: { cursor: "default" } },
144    /**
145     * The loading icon definition.
146     * @memberof RapidContext.Widget.Icon
147     */
148    LOADING: { "class": "fa fa-refresh fa-spin", tooltip: "Loading..." },
149    /**
150     * The close icon definition.
151     * @memberof RapidContext.Widget.Icon
152     */
153    CLOSE: { "class": "fa fa-times", tooltip: "Close" },
154    /**
155     * The close (inverse video) icon definition.
156     * @memberof RapidContext.Widget.Icon
157     */
158    CLOSE_INVERSE: { ref: "DEFAULT", position: "0px -32px", tooltip: "Close" },
159    /**
160     * The close active icon definition.
161     * @memberof RapidContext.Widget.Icon
162     */
163    CLOSE_ACTIVE: { ref: "DEFAULT", position: "0px -48px", tooltip: "Close" },
164    /**
165     * The bluewhite close icon definition.
166     * @memberof RapidContext.Widget.Icon
167     */
168    CLOSE_BLUEWHITE: { ref: "DEFAULT", position: "0px -64px", tooltip: "Close" },
169    /**
170     * The blue close icon definition.
171     * @memberof RapidContext.Widget.Icon
172     */
173    CLOSE_BLUE: { ref: "DEFAULT", position: "0px -80px", tooltip: "Close" },
174    /**
175     * The resize icon definition.
176     * @memberof RapidContext.Widget.Icon
177     */
178    RESIZE: { ref: "DEFAULT", position: "0px -96px", style: { cursor: "se-resize" } },
179    /**
180     * The ok icon definition.
181     * @memberof RapidContext.Widget.Icon
182     */
183    OK: { "class": "fa fa-check", tooltip: "OK" },
184    /**
185     * The stop icon definition.
186     * @memberof RapidContext.Widget.Icon
187     */
188    STOP: { "class": "fa fa-stop", tooltip: "Stop" },
189    /**
190     * The yes icon definition.
191     * @memberof RapidContext.Widget.Icon
192     */
193    YES: { "class": "fa fa-check-square", tooltip: "Yes" },
194    /**
195     * The no icon definition.
196     * @memberof RapidContext.Widget.Icon
197     */
198    NO: { "class": "fa fa-square-o", tooltip: "No" },
199    /**
200     * The cancel icon definition.
201     * @memberof RapidContext.Widget.Icon
202     */
203    CANCEL: { "class": "fa fa-times", tooltip: "Cancel" },
204    /**
205     * The up icon definition.
206     * @memberof RapidContext.Widget.Icon
207     */
208    UP: { "class": "fa fa-chevron-up", tooltip: "Move up" },
209    /**
210     * The down icon definition.
211     * @memberof RapidContext.Widget.Icon
212     */
213    DOWN: { "class": "fa fa-chevron-down", tooltip: "Move down" },
214    /**
215     * The left icon definition.
216     * @memberof RapidContext.Widget.Icon
217     */
218    LEFT: { "class": "fa fa-chevron-left", tooltip: "Move left" },
219    /**
220     * The right icon definition.
221     * @memberof RapidContext.Widget.Icon
222     */
223    RIGHT: { "class": "fa fa-chevron-right", tooltip: "Move right" },
224    /**
225     * The first icon definition.
226     * @memberof RapidContext.Widget.Icon
227     */
228    FIRST: { "class": "fa fa-step-backward", tooltip: "First" },
229    /**
230     * The last icon definition.
231     * @memberof RapidContext.Widget.Icon
232     */
233    LAST: { "class": "fa fa-step-forward", tooltip: "Last" },
234    /**
235     * The previous icon definition.
236     * @memberof RapidContext.Widget.Icon
237     */
238    PREVIOUS: { "class": "fa fa-caret-left", tooltip: "Previous" },
239    /**
240     * The next icon definition.
241     * @memberof RapidContext.Widget.Icon
242     */
243    NEXT: { "class": "fa fa-caret-right", tooltip: "Next" },
244    /**
245     * The plus icon definition.
246     * @memberof RapidContext.Widget.Icon
247     */
248    PLUS: { "class": "fa fa-plus-square-o", tooltip: "Show" },
249    /**
250     * The minus icon definition.
251     * @memberof RapidContext.Widget.Icon
252     */
253    MINUS: { "class": "fa fa-minus-square-o", tooltip: "Hide" },
254    /**
255     * The remove icon definition.
256     * @memberof RapidContext.Widget.Icon
257     */
258    REMOVE: { "class": "fa fa-minus-square color-danger", tooltip: "Remove" },
259    /**
260     * The add icon definition.
261     * @memberof RapidContext.Widget.Icon
262     */
263    ADD: { "class": "fa fa-plus-square color-success", tooltip: "Add" },
264    /**
265     * The copy icon definition.
266     * @memberof RapidContext.Widget.Icon
267     */
268    COPY: { ref: "DEFAULT", position: "-48px -32px", tooltip: "Copy" },
269    /**
270     * The cut icon definition.
271     * @memberof RapidContext.Widget.Icon
272     */
273    CUT: { ref: "DEFAULT", position: "-48px -48px", tooltip: "Cut" },
274    /**
275     * The delete icon definition.
276     * @memberof RapidContext.Widget.Icon
277     */
278    DELETE: { ref: "DEFAULT", position: "-48px -64px", tooltip: "Delete" },
279    /**
280     * The reload icon definition.
281     * @memberof RapidContext.Widget.Icon
282     */
283    RELOAD: { "class": "fa fa-refresh", tooltip: "Reload" },
284    /**
285     * The edit icon definition.
286     * @memberof RapidContext.Widget.Icon
287     */
288    EDIT: { "class": "fa fa-pencil-square color-warning", tooltip: "Edit" },
289    /**
290     * The white edit icon definition.
291     * @memberof RapidContext.Widget.Icon
292     */
293    EDIT_WHITE: { ref: "DEFAULT", position: "-48px -112px", tooltip: "Edit" },
294    /**
295     * The layout edit icon definition.
296     * @memberof RapidContext.Widget.Icon
297     */
298    EDIT_LAYOUT: { ref: "DEFAULT", position: "-48px -128px", tooltip: "Edit" },
299    /**
300     * The search icon definition.
301     * @memberof RapidContext.Widget.Icon
302     */
303    SEARCH: { "class": "fa fa-search", tooltip: "Search" },
304    /**
305     * The expand icon definition.
306     * @memberof RapidContext.Widget.Icon
307     */
308    EXPAND: { "class": "fa fa-external-link", tooltip: "Open in new window" },
309    /**
310     * The asterisk icon definition.
311     * @memberof RapidContext.Widget.Icon
312     */
313    ASTERISK: { "class": "fa fa-asterisk", tooltip: "Mark" },
314    /**
315     * The select icon definition.
316     * @memberof RapidContext.Widget.Icon
317     */
318    SELECT: { "class": "fa fa-star", tooltip: "Select / Unselect" },
319    /**
320     * The like icon definition.
321     * @memberof RapidContext.Widget.Icon
322     */
323    LIKE: { "class": "fa fa-heart", tooltip: "Like / Unlike" },
324    /**
325     * The flag icon definition.
326     * @memberof RapidContext.Widget.Icon
327     */
328    FLAG: { "class": "fa fa-flag", tooltip: "Flag" },
329    /**
330     * The red flag icon definition.
331     * @memberof RapidContext.Widget.Icon
332     */
333    FLAG_RED: { ref: "DEFAULT", position: "-64px -48px", tooltip: "Flag" },
334    /**
335     * The blue flag icon definition.
336     * @memberof RapidContext.Widget.Icon
337     */
338    FLAG_BLUE: { ref: "DEFAULT", position: "-64px -64px", tooltip: "Flag" },
339    /**
340     * The green flag icon definition.
341     * @memberof RapidContext.Widget.Icon
342     */
343    FLAG_GREEN: { ref: "DEFAULT", position: "-64px -80px", tooltip: "Flag" },
344    /**
345     * The yellow flag icon definition.
346     * @memberof RapidContext.Widget.Icon
347     */
348    FLAG_YELLOW: { ref: "DEFAULT", position: "-64px -96px", tooltip: "Flag" },
349    /**
350     * The tag icon definition.
351     * @memberof RapidContext.Widget.Icon
352     */
353    TAG: { "class": "fa fa-tag", tooltip: "Tag" },
354    /**
355     * The red tag icon definition.
356     * @memberof RapidContext.Widget.Icon
357     */
358    TAG_RED: { ref: "DEFAULT", position: "-64px -112px", tooltip: "Tag" },
359    /**
360     * The blue tag icon definition.
361     * @memberof RapidContext.Widget.Icon
362     */
363    TAG_BLUE: { ref: "DEFAULT", position: "-64px -128px", tooltip: "Tag" },
364    /**
365     * The green tag icon definition.
366     * @memberof RapidContext.Widget.Icon
367     */
368    TAG_GREEN: { ref: "DEFAULT", position: "-64px -144px", tooltip: "Tag" },
369    /**
370     * The yellow tag icon definition.
371     * @memberof RapidContext.Widget.Icon
372     */
373    TAG_YELLOW: { ref: "DEFAULT", position: "-64px -160px", tooltip: "Tag" },
374    /**
375     * The options icon definition.
376     * @memberof RapidContext.Widget.Icon
377     */
378    OPTIONS: { "class": "fa fa-cog", tooltip: "Options" },
379    /**
380     * The configure icon definition.
381     * @memberof RapidContext.Widget.Icon
382     */
383    CONFIG: { "class": "fa fa-wrench", tooltip: "Configure" },
384    /**
385     * The attach file icon definition.
386     * @memberof RapidContext.Widget.Icon
387     */
388    ATTACH: { "class": "fa fa-paperclip", tooltip: "Attach file" },
389    /**
390     * The automatic icon definition.
391     * @memberof RapidContext.Widget.Icon
392     */
393    AUTOMATIC: { "class": "fa fa-magic", tooltip: "Automatic actions" },
394    /**
395     * The export icon definition.
396     * @memberof RapidContext.Widget.Icon
397     */
398    EXPORT: { ref: "DEFAULT", position: "-80px -64px", tooltip: "Export" },
399    /**
400     * The information icon definition.
401     * @memberof RapidContext.Widget.Icon
402     */
403    INFO: { "class": "fa fa-info-circle", tooltip: "Information" },
404    /**
405     * The help icon definition.
406     * @memberof RapidContext.Widget.Icon
407     */
408    HELP: { "class": "fa fa-life-ring", tooltip: "Help" },
409    /**
410     * The warning icon definition.
411     * @memberof RapidContext.Widget.Icon
412     */
413    WARNING: { "class": "fa fa-exclamation-triangle", tooltip: "Warning" },
414    /**
415     * The error icon definition.
416     * @memberof RapidContext.Widget.Icon
417     */
418    ERROR: { "class": "fa fa-exclamation-circle", tooltip: "Error" },
419    /**
420     * The bar chart icon definition.
421     * @memberof RapidContext.Widget.Icon
422     */
423    BARCHART: { ref: "DEFAULT", position: "-112px 0px", tooltip: "Bar chart" },
424    /**
425     * The line chart icon definition.
426     * @memberof RapidContext.Widget.Icon
427     */
428    LINECHART: { ref: "DEFAULT", position: "-112px -16px", tooltip: "Line chart" },
429    /**
430     * The curve chart icon definition.
431     * @memberof RapidContext.Widget.Icon
432     */
433    CURVECHART: { ref: "DEFAULT", position: "-112px -32px", tooltip: "Curve chart" },
434    /**
435     * The pie chart icon definition.
436     * @memberof RapidContext.Widget.Icon
437     */
438    PIECHART: { ref: "DEFAULT", position: "-112px -48px", tooltip: "Pie chart" },
439    /**
440     * The organization chart icon definition.
441     * @memberof RapidContext.Widget.Icon
442     */
443    ORGCHART: { ref: "DEFAULT", position: "-112px -64px", tooltip: "Organization chart" },
444    /**
445     * The web feed icon definition.
446     * @memberof RapidContext.Widget.Icon
447     */
448    FEED: { ref: "DEFAULT", position: "-128px 0px", tooltip: "RSS/Atom feed" },
449    /**
450     * The RSS icon definition.
451     * @memberof RapidContext.Widget.Icon
452     */
453    RSS: { ref: "DEFAULT", position: "-128px -16px", tooltip: "RSS feed" },
454    /**
455     * The CSS icon definition.
456     * @memberof RapidContext.Widget.Icon
457     */
458    CSS: { ref: "DEFAULT", position: "-128px -32px", tooltip: "CSS" },
459    /**
460     * The HTML icon definition.
461     * @memberof RapidContext.Widget.Icon
462     */
463    HTML: { ref: "DEFAULT", position: "-128px -48px", tooltip: "HTML" },
464    /**
465     * The XHTML icon definition.
466     * @memberof RapidContext.Widget.Icon
467     */
468    XHTML: { ref: "DEFAULT", position: "-128px -64px", tooltip: "XHTML" },
469    /**
470     * The font icon definition.
471     * @memberof RapidContext.Widget.Icon
472     */
473    FONT: { ref: "DEFAULT", position: "-144px 0px", tooltip: "Font" },
474    /**
475     * The style icon definition.
476     * @memberof RapidContext.Widget.Icon
477     */
478    STYLE: { ref: "DEFAULT", position: "-144px -16px", tooltip: "Style" },
479    /**
480     * The text format icon definition.
481     * @memberof RapidContext.Widget.Icon
482     */
483    TEXT_FORMAT: { ref: "DEFAULT", position: "-144px -32px", tooltip: "Text format" },
484    /**
485     * The calendar icon definition.
486     * @memberof RapidContext.Widget.Icon
487     */
488    CALENDAR: { ref: "DEFAULT", position: "-144px -48px", tooltip: "Calendar" },
489    /**
490     * The date icon definition.
491     * @memberof RapidContext.Widget.Icon
492     */
493    DATE: { ref: "DEFAULT", position: "-144px -64px", tooltip: "Date" },
494    /**
495     * The layout icon definition.
496     * @memberof RapidContext.Widget.Icon
497     */
498    LAYOUT: { ref: "DEFAULT", position: "-144px -80px", tooltip: "Layout" },
499    /**
500     * The table icon definition.
501     * @memberof RapidContext.Widget.Icon
502     */
503    TABLE: { ref: "DEFAULT", position: "-144px -96px", tooltip: "Table" },
504    /**
505     * The sum icon definition.
506     * @memberof RapidContext.Widget.Icon
507     */
508    SUM: { ref: "DEFAULT", position: "-144px -112px", tooltip: "Sum" },
509    /**
510     * The vector icon definition.
511     * @memberof RapidContext.Widget.Icon
512     */
513    VECTOR: { ref: "DEFAULT", position: "-144px -128px", tooltip: "Vectors" },
514    /**
515     * The color icon definition.
516     * @memberof RapidContext.Widget.Icon
517     */
518    COLOR: { ref: "DEFAULT", position: "-144px -144px", tooltip: "Color" },
519    /**
520     * The HTML source icon definition.
521     * @memberof RapidContext.Widget.Icon
522     */
523    HTML_SOURCE: { ref: "DEFAULT", position: "-144px -160px", tooltip: "HTML source" },
524    /**
525     * The plug-in icon definition.
526     * @memberof RapidContext.Widget.Icon
527     */
528    PLUGIN: { ref: "DEFAULT", position: "-160px 0px", tooltip: "Plug-in" },
529    /**
530     * The add plug-in icon definition.
531     * @memberof RapidContext.Widget.Icon
532     */
533    PLUGIN_ADD: { ref: "DEFAULT", position: "-160px -16px", tooltip: "Add plug-in" },
534    /**
535     * The remove plug-in icon definition.
536     * @memberof RapidContext.Widget.Icon
537     */
538    PLUGIN_REMOVE: { ref: "DEFAULT", position: "-160px -32px", tooltip: "Remove plug-in" },
539    /**
540     * The inactive plug-in icon definition.
541     * @memberof RapidContext.Widget.Icon
542     */
543    PLUGIN_INACTIVE: { ref: "DEFAULT", position: "-160px -48px", tooltip: "Inactive plug-in" },
544    /**
545     * The plug-in error icon definition.
546     * @memberof RapidContext.Widget.Icon
547     */
548    PLUGIN_ERROR: { ref: "DEFAULT", position: "-160px -64px", tooltip: "Plug-in error" },
549    /**
550     * The user icon definition.
551     * @memberof RapidContext.Widget.Icon
552     */
553    USER: { "class": "fa fa-user", tooltip: "User" },
554    /**
555     * The group icon definition.
556     * @memberof RapidContext.Widget.Icon
557     */
558    GROUP: { "class": "fa fa-users", tooltip: "Group" },
559    /**
560     * The folder icon definition.
561     * @memberof RapidContext.Widget.Icon
562     */
563    FOLDER: { ref: "DEFAULT", position: "-176px 0px", tooltip: "Folder" },
564    /**
565     * The add folder icon definition.
566     * @memberof RapidContext.Widget.Icon
567     */
568    FOLDER_ADD: { ref: "DEFAULT", position: "-176px -16px", tooltip: "Add folder" },
569    /**
570     * The lock icon definition.
571     * @memberof RapidContext.Widget.Icon
572     */
573    LOCK: { "class": "fa fa-lock", tooltip: "Lock" },
574    /**
575     * The key icon definition.
576     * @memberof RapidContext.Widget.Icon
577     */
578    KEY: { "class": "fa fa-key", tooltip: "Key" },
579    /**
580     * The document icon definition.
581     * @memberof RapidContext.Widget.Icon
582     */
583    DOCUMENT: { ref: "DEFAULT", position: "-192px 0px", tooltip: "Document" },
584    /**
585     * The Word document icon definition.
586     * @memberof RapidContext.Widget.Icon
587     */
588    DOCUMENT_WORD: { ref: "DEFAULT", position: "-192px -16px", tooltip: "Word document" },
589    /**
590     * The Excel document icon definition.
591     * @memberof RapidContext.Widget.Icon
592     */
593    DOCUMENT_EXCEL: { ref: "DEFAULT", position: "-192px -32px", tooltip: "Excel document" },
594    /**
595     * The Office document icon definition.
596     * @memberof RapidContext.Widget.Icon
597     */
598    DOCUMENT_OFFICE: { ref: "DEFAULT", position: "-192px -48px", tooltip: "Office document" },
599    /**
600     * The PDF document icon definition.
601     * @memberof RapidContext.Widget.Icon
602     */
603    DOCUMENT_PDF: { ref: "DEFAULT", position: "-192px -64px", tooltip: "PDF document" },
604    /**
605     * The document search icon definition.
606     * @memberof RapidContext.Widget.Icon
607     */
608    DOCUMENT_SEARCH: { ref: "DEFAULT", position: "-192px -80px", tooltip: "Search document" },
609    /**
610     * The code document icon definition.
611     * @memberof RapidContext.Widget.Icon
612     */
613    DOCUMENT_CODE: { ref: "DEFAULT", position: "-192px -96px", tooltip: "Code document" },
614    /**
615     * The text document icon definition.
616     * @memberof RapidContext.Widget.Icon
617     */
618    DOCUMENT_TEXT: { ref: "DEFAULT", position: "-192px -112px", tooltip: "Text document" },
619    /**
620     * The contact icon definition.
621     * @memberof RapidContext.Widget.Icon
622     */
623    CONTACT: { ref: "DEFAULT", position: "-208px 0px", tooltip: "Contact" },
624    /**
625     * The phone icon definition.
626     * @memberof RapidContext.Widget.Icon
627     */
628    PHONE: { ref: "DEFAULT", position: "-208px -16px", tooltip: "Phone number" },
629    /**
630     * The mobile phone icon definition.
631     * @memberof RapidContext.Widget.Icon
632     */
633    PHONE_MOBILE: { ref: "DEFAULT", position: "-208px -32px", tooltip: "Mobile phone number" },
634    /**
635     * The comment icon definition.
636     * @memberof RapidContext.Widget.Icon
637     */
638    COMMENT: { ref: "DEFAULT", position: "-208px -48px", tooltip: "Comment" },
639    /**
640     * The comments icon definition.
641     * @memberof RapidContext.Widget.Icon
642     */
643    COMMENTS: { ref: "DEFAULT", position: "-208px -64px", tooltip: "Comments" },
644    /**
645     * The note icon definition.
646     * @memberof RapidContext.Widget.Icon
647     */
648    NOTE: { ref: "DEFAULT", position: "-208px -80px", tooltip: "Note" },
649    /**
650     * The application icon definition.
651     * @memberof RapidContext.Widget.Icon
652     */
653    APPLICATION: { ref: "DEFAULT", position: "-224px 0px", tooltip: "Application" },
654    /**
655     * The application terminal icon definition.
656     * @memberof RapidContext.Widget.Icon
657     */
658    APPLICATION_TERMINAL: { ref: "DEFAULT", position: "-224px -16px", tooltip: "Terminal" },
659    /**
660     * The dialog icon definition.
661     * @memberof RapidContext.Widget.Icon
662     */
663    DIALOG: { ref: "DEFAULT", position: "-224px -32px", tooltip: "Dialog" },
664    /**
665     * The script icon definition.
666     * @memberof RapidContext.Widget.Icon
667     */
668    SCRIPT: { ref: "DEFAULT", position: "-224px -48px", tooltip: "Script" },
669    /**
670     * The component icon definition.
671     * @memberof RapidContext.Widget.Icon
672     */
673    COMPONENT: { "class": "fa fa-cube", tooltip: "Component" },
674    /**
675     * The components icon definition.
676     * @memberof RapidContext.Widget.Icon
677     */
678    COMPONENTS: { "class": "fa fa-cubes", tooltip: "Components" },
679    /**
680     * The package icon definition.
681     * @memberof RapidContext.Widget.Icon
682     */
683    PACKAGE: { ref: "DEFAULT", position: "-224px -96px", tooltip: "Package" },
684    /**
685     * The textfield icon definition.
686     * @memberof RapidContext.Widget.Icon
687     */
688    TEXTFIELD: { ref: "DEFAULT", position: "-224px -112px", tooltip: "Text field" },
689    /**
690     * The network drive icon definition.
691     * @memberof RapidContext.Widget.Icon
692     */
693    DRIVE_NETWORK: { ref: "DEFAULT", position: "-240px 0px", tooltip: "Network drive" },
694    /**
695     * The monitor icon definition.
696     * @memberof RapidContext.Widget.Icon
697     */
698    MONITOR: { ref: "DEFAULT", position: "-240px -16px", tooltip: "Monitor" },
699    /**
700     * The keyboard icon definition.
701     * @memberof RapidContext.Widget.Icon
702     */
703    KEYBOARD: { ref: "DEFAULT", position: "-240px -32px", tooltip: "Keyboard" },
704    /**
705     * The printer icon definition.
706     * @memberof RapidContext.Widget.Icon
707     */
708    PRINTER: { ref: "DEFAULT", position: "-240px -48px", tooltip: "Printer" },
709    /**
710     * The server icon definition.
711     * @memberof RapidContext.Widget.Icon
712     */
713    SERVER: { ref: "DEFAULT", position: "-240px -64px", tooltip: "Server" },
714    /**
715     * The disk icon definition.
716     * @memberof RapidContext.Widget.Icon
717     */
718    DISK: { ref: "DEFAULT", position: "-240px -80px", tooltip: "Disk" },
719    /**
720     * The database icon definition.
721     * @memberof RapidContext.Widget.Icon
722     */
723    DATABASE: { ref: "DEFAULT", position: "-240px -96px", tooltip: "Database" },
724    /**
725     * The email icon definition.
726     * @memberof RapidContext.Widget.Icon
727     */
728    EMAIL: { ref: "DEFAULT", position: "-240px -112px", tooltip: "Email" },
729    /**
730     * The image icon definition.
731     * @memberof RapidContext.Widget.Icon
732     */
733    IMAGE: { ref: "DEFAULT", position: "-256px 0px", tooltip: "Image" },
734    /**
735     * The calculator icon definition.
736     * @memberof RapidContext.Widget.Icon
737     */
738    CALCULATOR: { ref: "DEFAULT", position: "-256px -16px", tooltip: "Calculator" },
739    /**
740     * The home icon definition.
741     * @memberof RapidContext.Widget.Icon
742     */
743    HOME: { ref: "DEFAULT", position: "-256px -32px", tooltip: "Home" },
744    /**
745     * The book icon definition.
746     * @memberof RapidContext.Widget.Icon
747     */
748    BOOK: { ref: "DEFAULT", position: "-256px -48px", tooltip: "Book" },
749    /**
750     * The open book icon definition.
751     * @memberof RapidContext.Widget.Icon
752     */
753    BOOK_OPEN: { ref: "DEFAULT", position: "-256px -64px", tooltip: "Book" },
754    /**
755     * The clock icon definition.
756     * @memberof RapidContext.Widget.Icon
757     */
758    CLOCK: { ref: "DEFAULT", position: "-256px -80px", tooltip: "Clock" },
759    /**
760     * The delay icon definition.
761     * @memberof RapidContext.Widget.Icon
762     */
763    DELAY: { ref: "DEFAULT", position: "-256px -96px", tooltip: "Delay" }
764});
765