×
Creating solutions

Šablóna pre tvorbu widgetov vo frameworku Dojo

Dojo framework okrem vlastných widgetov ponúka možnosť vytvárať aj vlastné widgety. Tie sa zväčša tvoria prostredníctvom šablón v jazyku HTML, ktoré sú uložené v externých súboroch. Pre ich implementovanie do aplikácie je potrebné nahrať príslušné moduly vrátane šablóny a prípadne upraviť prostredníctvom metód, ktoré tvoria životný cyklus widgetu (the lifecycle of a widget). Pre nahrávanie šablóny slúži modul dojo/text, ktorý je v Dojo definovaný ako plugin.
Príklad: Základná šablóna pre tvorbu widgetu v Dojo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!template.html"
],
function(
declare,
_WidgetBase,
_TemplatedMixin,
template
) {
return declare(
"data-dojo-type-value",
[_WidgetBase, _TemplatedMixin],
{
templateString : template
});
});
Pre pokročilú tvorbu widgetov je potrebné definovať aj ďalšie moduly, ktoré umožňujú používať šablóny obsahujúce už existujúce widgety vrátane ich modifikácie. Pre tieto účely slúži nasledujúca šablóna.
Príklad: Rozšírená šablóna pre tvorbu widgetu v Dojo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
define([
"dojo/_base/declare",
"dijit/_Widget",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!template.html"
],
function(
declare,
_Widget,
_TemplatedMixin,
_WidgetsInTemplateMixin,
template
) {
return declare("data-dojo-type-value", [
_Widget,
_TemplatedMixin,
_WidgetsInTemplateMixin
], {
templateString : template,
startup : function() {
this.inherited(arguments);
// code
}
});
});
Súčasťou funkcie define() sú aj ďalšie moduly, ktoré sa definujú pre potreby widgetu. Princíp práce s modulmi je identický ako pri funkcii require().

Záver

Uvedené šablóny slúžia pre základnú tvorbu vlastných widgetov. Okrem uvedenej metódy startup() je možné do widgetu uviesť aj ďalšie metódy zo životného cyklu widgetu či vlastnosti pre data binding a metódy pre udalosti. Ale o tom až niekedy nabudúce.


Dojo,šablóna,template,programovanie,HTML,dojo,JavaScript,DOM,dojo/ready,dojo/_base/declare,dijit/_Widgetbase,dijit/_Templatedmixin,dojo/text!
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest