@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
54 lines • 5.53 kB
JavaScript
export class SelectionStrategy {
constructor(selectionService) {
this.selectionService = selectionService;
}
setSelectionService(selectionService) {
this.selectionService = selectionService;
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
mousedown(event, data) { }
// eslint-disable-next-line @typescript-eslint/no-empty-function
click(event, data) { }
// eslint-disable-next-line @typescript-eslint/no-empty-function
keydown(event, data) { }
/**
* Select the item - default behavior
*/
select(...data) {
this.selectionService.select(...data);
}
/**
* Replace the current selection with the list of items specified
*/
selectOnly(...data) {
this.selectionService.selectOnly(...data);
}
/**
* Toggle the item's selected state - default behavior
*/
toggle(...data) {
this.selectionService.toggle(...data);
}
/**
* Deselect the item - default behavior
*/
deselect(...data) {
this.selectionService.deselect(...data);
}
/**
* Select all items - default behavior
*/
selectAll() {
this.select(...this.selectionService.dataset);
}
/**
* Deselect all items - default behavior
*/
deselectAll() {
// call deselect on all items in the dataset
this.selectionService.deselectAll();
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
destroy() { }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvc2VsZWN0aW9uL3N0cmF0ZWdpZXMvc2VsZWN0aW9uLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFBc0IsZ0JBQXNDO1FBQXRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7SUFBSSxDQUFDO0lBRWpFLG1CQUFtQixDQUFDLGdCQUFxQztRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0MsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxTQUFTLENBQUMsS0FBaUIsRUFBRSxJQUFPLElBQVUsQ0FBQztJQUUvQyxnRUFBZ0U7SUFDaEUsS0FBSyxDQUFDLEtBQWlCLEVBQUUsSUFBTyxJQUFVLENBQUM7SUFFM0MsZ0VBQWdFO0lBQ2hFLE9BQU8sQ0FBQyxLQUFvQixFQUFFLElBQU8sSUFBVSxDQUFDO0lBRWhEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBUztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsR0FBRyxJQUFTO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsR0FBRyxJQUFTO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxHQUFHLElBQVM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFFUCw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsT0FBTyxLQUFXLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG4gXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uU3RyYXRlZ3k8VCA9IGFueT4ge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlbGVjdGlvblNlcnZpY2U/OiBTZWxlY3Rpb25TZXJ2aWNlPFQ+KSB7IH1cblxuICAgIHNldFNlbGVjdGlvblNlcnZpY2Uoc2VsZWN0aW9uU2VydmljZTogU2VsZWN0aW9uU2VydmljZTxUPik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2UgPSBzZWxlY3Rpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBtb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGRhdGE6IFQpOiB2b2lkIHsgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRhOiBUKTogdm9pZCB7IH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBrZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkYXRhOiBUKTogdm9pZCB7IH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCB0aGUgaXRlbSAtIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgKi9cbiAgICBzZWxlY3QoLi4uZGF0YTogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3QoLi4uZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZSB0aGUgY3VycmVudCBzZWxlY3Rpb24gd2l0aCB0aGUgbGlzdCBvZiBpdGVtcyBzcGVjaWZpZWRcbiAgICAgKi9cbiAgICBzZWxlY3RPbmx5KC4uLmRhdGE6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0T25seSguLi5kYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdGhlIGl0ZW0ncyBzZWxlY3RlZCBzdGF0ZSAtIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgKi9cbiAgICB0b2dnbGUoLi4uZGF0YTogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS50b2dnbGUoLi4uZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVzZWxlY3QgdGhlIGl0ZW0gLSBkZWZhdWx0IGJlaGF2aW9yXG4gICAgICovXG4gICAgZGVzZWxlY3QoLi4uZGF0YTogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5kZXNlbGVjdCguLi5kYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYWxsIGl0ZW1zIC0gZGVmYXVsdCBiZWhhdmlvclxuICAgICAqL1xuICAgIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3QoLi4udGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmRhdGFzZXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlc2VsZWN0IGFsbCBpdGVtcyAtIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgKi9cbiAgICBkZXNlbGVjdEFsbCgpOiB2b2lkIHtcblxuICAgICAgICAvLyBjYWxsIGRlc2VsZWN0IG9uIGFsbCBpdGVtcyBpbiB0aGUgZGF0YXNldFxuICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZGVzZWxlY3RBbGwoKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgZGVzdHJveSgpOiB2b2lkIHsgfVxufSJdfQ==