@pure-pivot/auto-sorting
Advanced tools
Comparing version
import * as React from 'react'; | ||
import { DataColumnDescriptor } from '@pure-pivot/core/lib/es6/table/model'; | ||
import { SortingDescriptor } from './model'; | ||
export interface SubComponentProps { | ||
onToggle: () => void; | ||
} | ||
export interface ToggleComponentProps { | ||
@@ -8,8 +11,9 @@ column: DataColumnDescriptor<any, any>; | ||
onSetActiveSorting: (sorting: SortingDescriptor | null) => void; | ||
inactiveComponent?: React.ComponentType<SubComponentProps>; | ||
ascendingComponent?: React.ComponentType<SubComponentProps>; | ||
descendingComponent?: React.ComponentType<SubComponentProps>; | ||
} | ||
export declare class ToggleComponent extends React.Component<ToggleComponentProps, never> { | ||
renderInactive(): JSX.Element; | ||
renderAscending(): JSX.Element; | ||
renderDescending(): JSX.Element; | ||
render(): JSX.Element; | ||
} | ||
export declare function DefaultAscendingComponent(props: SubComponentProps): JSX.Element; | ||
export declare function DefaultDescendingComponent(props: SubComponentProps): JSX.Element; | ||
export declare function DefaultInactiveComponent(props: SubComponentProps): JSX.Element; | ||
export declare function ToggleComponent(props: ToggleComponentProps): JSX.Element; |
"use strict"; | ||
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 ToggleComponent = (function (_super) { | ||
__extends(ToggleComponent, _super); | ||
function ToggleComponent() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
ToggleComponent.prototype.renderInactive = function () { | ||
var _this = this; | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: function () { return _this.props.onSetActiveSorting({ valueId: _this.props.column.valueDescription.id, groupDescriptors: _this.props.column.groupDescriptors, order: 'ascending' }); } }, "\u25AC"); | ||
}; | ||
ToggleComponent.prototype.renderAscending = function () { | ||
var _this = this; | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: function () { return _this.props.onSetActiveSorting({ valueId: _this.props.column.valueDescription.id, groupDescriptors: _this.props.column.groupDescriptors, order: 'descending' }); } }, "\u25B2"); | ||
}; | ||
ToggleComponent.prototype.renderDescending = function () { | ||
var _this = this; | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: function () { return _this.props.onSetActiveSorting(null); } }, "\u25BC"); | ||
}; | ||
ToggleComponent.prototype.render = function () { | ||
var _this = this; | ||
if (this.props.activeSorting !== null && this.props.activeSorting.valueId === this.props.column.valueDescription.id && this.props.activeSorting.groupDescriptors.every(function (group, index) { return group.groupId === _this.props.column.groupDescriptors[index].groupId && group.groupIndex === _this.props.column.groupDescriptors[index].groupIndex; })) { | ||
if (this.props.activeSorting.order === 'ascending') { | ||
return this.renderAscending(); | ||
} | ||
else { | ||
return this.renderDescending(); | ||
} | ||
function DefaultAscendingComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25B2"); | ||
} | ||
exports.DefaultAscendingComponent = DefaultAscendingComponent; | ||
function DefaultDescendingComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25BC"); | ||
} | ||
exports.DefaultDescendingComponent = DefaultDescendingComponent; | ||
function DefaultInactiveComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25AC"); | ||
} | ||
exports.DefaultInactiveComponent = DefaultInactiveComponent; | ||
function ToggleComponent(props) { | ||
var AscendingComponent = props.ascendingComponent || DefaultAscendingComponent; | ||
var DescendingComponent = props.descendingComponent || DefaultDescendingComponent; | ||
var InactiveComponent = props.inactiveComponent || DefaultInactiveComponent; | ||
if (props.activeSorting !== null && props.activeSorting.valueId === props.column.valueDescription.id && props.activeSorting.groupDescriptors.every(function (group, index) { return group.groupId === props.column.groupDescriptors[index].groupId && group.groupIndex === props.column.groupDescriptors[index].groupIndex; })) { | ||
if (props.activeSorting.order === 'ascending') { | ||
return React.createElement(AscendingComponent, { onToggle: function () { return props.onSetActiveSorting({ valueId: props.column.valueDescription.id, groupDescriptors: props.column.groupDescriptors, order: 'descending' }); } }); | ||
} | ||
else { | ||
return this.renderInactive(); | ||
return React.createElement(DescendingComponent, { onToggle: function () { return props.onSetActiveSorting(null); } }); | ||
} | ||
}; | ||
return ToggleComponent; | ||
}(React.Component)); | ||
} | ||
else { | ||
return React.createElement(InactiveComponent, { onToggle: function () { return props.onSetActiveSorting({ valueId: props.column.valueDescription.id, groupDescriptors: props.column.groupDescriptors, order: 'ascending' }); } }); | ||
} | ||
} | ||
exports.ToggleComponent = ToggleComponent; | ||
//# sourceMappingURL=toggle-component.js.map |
import * as React from 'react'; | ||
import { DataColumnDescriptor } from '@pure-pivot/core/lib/es6/table/model'; | ||
import { SortingDescriptor } from './model'; | ||
export interface SubComponentProps { | ||
onToggle: () => void; | ||
} | ||
export interface ToggleComponentProps { | ||
@@ -8,8 +11,9 @@ column: DataColumnDescriptor<any, any>; | ||
onSetActiveSorting: (sorting: SortingDescriptor | null) => void; | ||
inactiveComponent?: React.ComponentType<SubComponentProps>; | ||
ascendingComponent?: React.ComponentType<SubComponentProps>; | ||
descendingComponent?: React.ComponentType<SubComponentProps>; | ||
} | ||
export declare class ToggleComponent extends React.Component<ToggleComponentProps, never> { | ||
renderInactive(): JSX.Element; | ||
renderAscending(): JSX.Element; | ||
renderDescending(): JSX.Element; | ||
render(): JSX.Element; | ||
} | ||
export declare function DefaultAscendingComponent(props: SubComponentProps): JSX.Element; | ||
export declare function DefaultDescendingComponent(props: SubComponentProps): JSX.Element; | ||
export declare function DefaultInactiveComponent(props: SubComponentProps): JSX.Element; | ||
export declare function ToggleComponent(props: ToggleComponentProps): JSX.Element; |
import * as React from 'react'; | ||
export class ToggleComponent extends React.Component { | ||
renderInactive() { | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: () => this.props.onSetActiveSorting({ valueId: this.props.column.valueDescription.id, groupDescriptors: this.props.column.groupDescriptors, order: 'ascending' }) }, "\u25AC"); | ||
} | ||
renderAscending() { | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: () => this.props.onSetActiveSorting({ valueId: this.props.column.valueDescription.id, groupDescriptors: this.props.column.groupDescriptors, order: 'descending' }) }, "\u25B2"); | ||
} | ||
renderDescending() { | ||
return React.createElement("span", { style: { cursor: 'pointer' }, onClick: () => this.props.onSetActiveSorting(null) }, "\u25BC"); | ||
} | ||
render() { | ||
if (this.props.activeSorting !== null && this.props.activeSorting.valueId === this.props.column.valueDescription.id && this.props.activeSorting.groupDescriptors.every((group, index) => group.groupId === this.props.column.groupDescriptors[index].groupId && group.groupIndex === this.props.column.groupDescriptors[index].groupIndex)) { | ||
if (this.props.activeSorting.order === 'ascending') { | ||
return this.renderAscending(); | ||
} | ||
else { | ||
return this.renderDescending(); | ||
} | ||
export function DefaultAscendingComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25B2"); | ||
} | ||
export function DefaultDescendingComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25BC"); | ||
} | ||
export function DefaultInactiveComponent(props) { | ||
return React.createElement("span", { onClick: props.onToggle }, "\u25AC"); | ||
} | ||
export function ToggleComponent(props) { | ||
const AscendingComponent = props.ascendingComponent || DefaultAscendingComponent; | ||
const DescendingComponent = props.descendingComponent || DefaultDescendingComponent; | ||
const InactiveComponent = props.inactiveComponent || DefaultInactiveComponent; | ||
if (props.activeSorting !== null && props.activeSorting.valueId === props.column.valueDescription.id && props.activeSorting.groupDescriptors.every((group, index) => group.groupId === props.column.groupDescriptors[index].groupId && group.groupIndex === props.column.groupDescriptors[index].groupIndex)) { | ||
if (props.activeSorting.order === 'ascending') { | ||
return React.createElement(AscendingComponent, { onToggle: () => props.onSetActiveSorting({ valueId: props.column.valueDescription.id, groupDescriptors: props.column.groupDescriptors, order: 'descending' }) }); | ||
} | ||
else { | ||
return this.renderInactive(); | ||
return React.createElement(DescendingComponent, { onToggle: () => props.onSetActiveSorting(null) }); | ||
} | ||
} | ||
else { | ||
return React.createElement(InactiveComponent, { onToggle: () => props.onSetActiveSorting({ valueId: props.column.valueDescription.id, groupDescriptors: props.column.groupDescriptors, order: 'ascending' }) }); | ||
} | ||
} | ||
//# sourceMappingURL=toggle-component.js.map |
{ | ||
"name": "@pure-pivot/auto-sorting", | ||
"version": "0.1.6", | ||
"version": "0.1.7", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "lib/es5/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
29963
2.39%382
-1.29%