lucid-ui
Version:
A UI component library from AppNexus.
162 lines • 7.1 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var create_react_class_1 = __importDefault(require("create-react-class"));
var index_1 = require("../../../index");
var data = [
{
id: 1,
first_name: 'Isaac',
last_name: 'Newton',
email: 'inewton@example.com',
occupation: 'Physicist',
salary: '$100.01',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 2,
first_name: 'Albert',
last_name: 'Einstein',
email: 'aeinstein@example.com',
occupation: 'Physicist',
salary: '$100.02',
status: react_1.default.createElement(index_1.SuccessIcon, null),
isSelected: true,
},
{
id: 3,
first_name: 'Leonardo',
last_name: 'da Vinci',
email: 'ldvinci@example.com',
occupation: 'Engineer',
salary: '$100.03',
status: react_1.default.createElement(index_1.SuccessIcon, null),
isActive: true,
},
{
id: 4,
first_name: 'Aristotle',
last_name: null,
email: 'aristotle@example.com',
occupation: 'Tutor',
salary: '$100.04',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 5,
first_name: 'Galileo',
email: 'ggalilei@example.com',
occupation: 'Physicist',
salary: '$100.05',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 6,
first_name: 'Charles',
last_name: 'Darwin',
email: 'cdarwin@example.com',
occupation: 'Biologist',
salary: '$100.06',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 7,
first_name: 'Alexander',
last_name: 'Macedon',
email: 'amacedon@example.com',
occupation: 'Head of State',
salary: '$100.07',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 8,
first_name: 'Plato',
last_name: 'Plato',
email: 'plato@example.com',
occupation: 'Philosopher',
salary: '$100.08',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 9,
first_name: 'Mahatma',
last_name: 'Gandhi',
email: 'mgandhi@example.com',
occupation: 'Politician',
salary: '$100.09',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
{
id: 10,
first_name: 'William',
last_name: 'Shakespeare',
email: 'wshakespear@example.com',
occupation: 'Playwright',
salary: '$100.10',
status: react_1.default.createElement(index_1.SuccessIcon, null),
},
];
exports.default = create_react_class_1.default({
getInitialState: function () {
return {
hasFixedHeader: true,
isSelectable: true,
hasLightHeader: false,
fixedColumnCount: 2,
fixedRowHeight: 50,
isActionable: false,
};
},
handleToggle: function (stateItem) {
var _a;
this.setState((_a = {}, _a[stateItem] = !this.state[stateItem], _a));
},
handleNumeric: function (stateItem, value) {
var _a;
this.setState((_a = {}, _a[stateItem] = value, _a));
},
renderDataTable: function (props) {
return (react_1.default.createElement(index_1.DataTable, __assign({ data: data }, props),
react_1.default.createElement(index_1.DataTable.Column, { field: 'id', align: 'left', width: 35 }, "ID"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'first_name', align: 'left', width: 100 }, "First"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'last_name', align: 'left', width: 100 }, "Last"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'email', align: 'left', width: 900 }, "E-Mail"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'occupation', align: 'left', width: 100 }, "Occupation"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'salary', align: 'right', width: 100 }, "Salary"),
react_1.default.createElement(index_1.DataTable.Column, { field: 'status', align: 'center', width: 100 }, "Status")));
},
render: function () {
var _this = this;
return (react_1.default.createElement("div", null,
react_1.default.createElement("label", { style: { marginBottom: 6, display: 'block', fontSize: 12 } },
react_1.default.createElement(index_1.TextField, { style: { marginRight: 9, width: 45 }, onChangeDebounced: function (v) {
return _this.handleNumeric('fixedColumnCount', parseInt(v, 10));
}, placeholder: 'fixedColumnCount', value: this.state.fixedColumnCount }),
"fixedColumnCount"),
react_1.default.createElement("label", { style: { marginBottom: 6, display: 'block', fontSize: 12 } },
react_1.default.createElement(index_1.TextField, { style: { marginRight: 9, width: 45 }, onChangeDebounced: function (v) {
return _this.handleNumeric('fixedRowHeight', parseInt(v, 10));
}, placeholder: 'fixedRowHeight', value: this.state.fixedRowHeight }),
"fixedRowHeight"),
react_1.default.createElement(index_1.CheckboxLabeled, { Label: 'hasFixedHeader', isSelected: this.state.hasFixedHeader, onSelect: function () { return _this.handleToggle('hasFixedHeader'); } }),
react_1.default.createElement(index_1.CheckboxLabeled, { Label: 'isSelectable', isSelected: this.state.isSelectable, onSelect: function () { return _this.handleToggle('isSelectable'); } }),
react_1.default.createElement(index_1.CheckboxLabeled, { Label: 'hasLightHeader', isSelected: this.state.hasLightHeader, onSelect: function () { return _this.handleToggle('hasLightHeader'); } }),
react_1.default.createElement(index_1.CheckboxLabeled, { Label: 'isActionable', isSelected: this.state.isActionable, onSelect: function () { return _this.handleToggle('isActionable'); } }),
react_1.default.createElement("div", { style: { height: '200px' } }, this.renderDataTable(this.state))));
},
});
//# sourceMappingURL=13.fixed-headers.js.map