poker-html-client
Version:
HTML client for online poker
34 lines (31 loc) • 1 kB
text/typescript
/// <reference types="knockout" />
interface SelectorItem {
text: string;
value: any;
selected: boolean;
}
class Selector {
public caption: KnockoutObservable<string>;
public items: KnockoutObservableArray<SelectorItem>;
public selected: (item: SelectorItem) => void;
public cancelled: () => void;
constructor() {
this.caption = ko.observable<string>(null);
this.items = ko.observableArray<SelectorItem>([]);
}
public setParams(caption: string, items: SelectorItem[], success: (item: SelectorItem) => void, cancel: () => void): void {
this.caption(caption);
this.items.valueWillMutate();
this.items([]);
this.items(items);
this.items.valueHasMutated();
this.selected = success;
this.cancelled = cancel;
}
public select(item: SelectorItem): void {
this.selected(item);
}
public back(): void {
this.cancelled();
}
}