jpf 4.1.16 → 4.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ export interface SelectViewModelOptions<TItem, TValue> extends ViewModelOptions
6
6
  items?: Array<TItem> | ObservableArrayProperty<TItem>;
7
7
  textFunction: (item: TItem) => string;
8
8
  valueFunction: (item: TItem) => TValue;
9
+ setFunction?: (item: TItem) => any;
9
10
  inputValidator?: (event: Event, selectViewModel: SelectViewModelOptions<TItem, TValue>, value: TValue) => Promise<boolean>;
10
11
  emptyItemText?: string;
11
12
  }
@@ -15,7 +16,8 @@ export declare class SelectViewModel<TItem, TValue> extends ViewModel {
15
16
  readonly items: ObservableArrayProperty<TItem>;
16
17
  readonly textFunction: (item: TItem) => string;
17
18
  readonly valueFunction: (item: TItem) => TValue;
18
- readonly inputValidator: (event: Event, inputViewModel: SelectViewModel<TItem, TValue>, value: TValue) => Promise<boolean>;
19
+ readonly setFunction: (item?: TItem) => any;
20
+ readonly inputValidator: (event: Event, inputViewModel: SelectViewModelOptions<TItem, TValue>, value: TValue) => Promise<boolean>;
19
21
  readonly emptyItemText: string;
20
22
  }
21
23
  export declare class SelectView<TItem, TValue> extends View<SelectViewModelOptions<TItem, TValue>> {
@@ -8,6 +8,7 @@ export class SelectViewModel extends ViewModel {
8
8
  if (options) {
9
9
  this.textFunction = options.textFunction;
10
10
  this.valueFunction = options.valueFunction;
11
+ this.setFunction = options.setFunction;
11
12
  this.inputValidator = options.inputValidator;
12
13
  if (isObservableProperty(options.value)) {
13
14
  this.value = options.value;
@@ -28,6 +29,7 @@ export class SelectViewModel extends ViewModel {
28
29
  items;
29
30
  textFunction;
30
31
  valueFunction;
32
+ setFunction;
31
33
  inputValidator;
32
34
  emptyItemText;
33
35
  }
@@ -57,22 +59,30 @@ export class SelectView extends View {
57
59
  });
58
60
  }
59
61
  this.element.addEventListener("change", async (event) => {
60
- let newValue = select.value;
61
- if (newValue + "" === "") {
62
- newValue = null;
62
+ let selectedValue = select.value;
63
+ let selectedItem = null;
64
+ if (selectedValue + "" === "") {
65
+ selectedValue = null;
63
66
  }
64
67
  else {
65
- newValue = this.viewModel.valueFunction(this.itemDictionary[newValue.toString()]);
68
+ selectedItem = this.itemDictionary[selectedValue.toString()];
69
+ selectedValue = this.viewModel.valueFunction(selectedItem);
66
70
  }
67
71
  if (viewModel.inputValidator) {
68
- if (!await viewModel.inputValidator(event, viewModel, newValue)) {
72
+ if (!await viewModel.inputValidator(event, viewModel, selectedValue)) {
69
73
  select.value = unwrap(viewModel.value);
70
74
  return;
71
75
  }
72
76
  ;
73
77
  }
74
78
  if (isObservableProperty(viewModel.value)) {
75
- viewModel.value.set(newValue);
79
+ if (viewModel.setFunction) {
80
+ const setValue = viewModel.setFunction(selectedItem);
81
+ viewModel.value.set(setValue);
82
+ }
83
+ else {
84
+ viewModel.value.set(selectedValue);
85
+ }
76
86
  }
77
87
  });
78
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/controls/html/Select/Select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/controls/html/Select/Select.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf",
3
- "version": "4.1.16",
3
+ "version": "4.1.18",
4
4
  "description": "Javascript Presentation Foundation",
5
5
  "keywords": [
6
6
  "mvvm",