This repository was archived by the owner on Jul 30, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgroup-template.js
More file actions
62 lines (62 loc) · 3.54 KB
/
group-template.js
File metadata and controls
62 lines (62 loc) · 3.54 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"use strict";
/**
* ListView GroupTemplate Sample
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var ej2_react_lists_1 = require("@syncfusion/ej2-react-lists");
var sample_base_1 = require("../common/sample-base");
require("./group-template.css");
var newsData_1 = require("./newsData");
var GroupTemplate = (function (_super) {
__extends(GroupTemplate, _super);
function GroupTemplate() {
var _this = _super !== null && _super.apply(this, arguments) || this;
//Map the appropriate columns to fields property
_this.fields = { text: 'Name', groupBy: 'order' };
return _this;
}
//Set customized list template
GroupTemplate.prototype.listTemplate = function (data) {
return (React.createElement("div", { className: "settings e-list-wrapper e-list-multi-line e-list-avatar" },
React.createElement("span", { className: "icon " + data.class + " e-avatar" }),
React.createElement("span", { className: "e-list-item-header" }, data.Name),
React.createElement("span", { className: "e-list-content" }, data.content)));
};
//Set customized group-header template
GroupTemplate.prototype.groupTemplate = function (data) {
return (React.createElement("div", { className: "e-list-wrapper" },
React.createElement("span", { className: "e-list-item-content" }, data.items[0].category)));
};
GroupTemplate.prototype.render = function () {
var _this = this;
return (React.createElement("div", { className: 'control-pane' },
React.createElement("div", { className: 'control-section' },
React.createElement(ej2_react_lists_1.ListViewComponent, { id: 'groupedList', dataSource: newsData_1.groupDataSource, headerTitle: 'Settings', showHeader: true, fields: this.fields, cssClass: "e-list-template", template: this.listTemplate, groupTemplate: this.groupTemplate, ref: function (listview) { _this.listviewInstance = listview; } })),
React.createElement("div", { id: "action-description" },
React.createElement("p", null, "This sample demonstrates the Group Templates functionalities of ListView. Click any list item from the settings option to select and highlight an option.")),
React.createElement("div", { id: "description", className: "descriptionLayout" },
React.createElement("p", null,
"ListView component has an option to custom design the group header title with the help of ",
React.createElement("code", null, "groupTemplate"),
" property."),
React.createElement("p", null,
"In this example, both the group header and list item is customized using the",
React.createElement("code", null, "groupTemplate"),
" and ",
React.createElement("code", null, "template"),
" property."))));
};
return GroupTemplate;
}(sample_base_1.SampleBase));
exports.GroupTemplate = GroupTemplate;