| .. | .. |
|---|
| 90 | 90 | }); |
|---|
| 91 | 91 | } |
|---|
| 92 | 92 | |
|---|
| 93 | + private applyDefaultValues(default_values: any, target_data: any = {}) : any { |
|---|
| 94 | + Object.keys(default_values).forEach((k : string) => (target_data[k] === undefined) && (target_data[k] = default_values[k])); |
|---|
| 95 | + return target_data; |
|---|
| 96 | + } |
|---|
| 97 | + |
|---|
| 93 | 98 | protected prepareInitialData(idparam: string, default_values: any = {}, callback?: (data: any) => void) : void { |
|---|
| 94 | 99 | super.setViewData(() => { |
|---|
| 95 | 100 | this.form_title = this.$L.get('{} data', this.resourceName.capitalize()); |
|---|
| 96 | | - this.isNew = true; |
|---|
| 101 | + this.isNew = true; |
|---|
| 97 | 102 | }); |
|---|
| 98 | 103 | !!this.route && this.route.params.subscribe(params => { |
|---|
| 99 | 104 | var eleId = params[idparam]; |
|---|
| 100 | 105 | if (!eleId) { |
|---|
| 101 | 106 | super.setViewData(() => { |
|---|
| 102 | | - this.data = {}; |
|---|
| 103 | | - Object.keys(default_values).forEach((k : string) => this.data[k] = default_values[k]); |
|---|
| 107 | + this.data = this.applyDefaultValues(default_values, {}); |
|---|
| 104 | 108 | this.form_subtitle = this.$L.get('Create a new {}', this.resourceName) ; |
|---|
| 105 | 109 | }); |
|---|
| 106 | 110 | } else { |
|---|
| .. | .. |
|---|
| 108 | 112 | this.isNew = false; |
|---|
| 109 | 113 | this.resourceServices.get(eleId).subscribe(eleData => { |
|---|
| 110 | 114 | super.setViewData(() => { |
|---|
| 111 | | - this.data = eleData; |
|---|
| 112 | | - Object.keys(default_values).forEach((k : string) => (this.data[k] === undefined) && (this.data[k] = default_values[k])); |
|---|
| 115 | + this.data = this.applyDefaultValues(default_values, eleData); |
|---|
| 113 | 116 | callback && callback(this.data); |
|---|
| 114 | 117 | }); |
|---|
| 115 | 118 | }); |
|---|