diff options
author | 2018-03-27 17:24:38 +0800 | |
---|---|---|
committer | 2018-03-27 17:24:38 +0800 | |
commit | 573f32b362f4639928485d66feb1c0721109716b (patch) | |
tree | 39ab8771c9ef87ee2b61abe1e126e31629bdf9eb /sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts | |
parent | 99fcc841c86367722097f54497dbc7c856c19251 (diff) |
Include paletx core
Include paletx core to WF Designer UI.
Issue-ID: SDC-1130,SDC-1131
Change-Id: I9a2591e022b5ff118cccbbc839796be19d70df84
Signed-off-by: YuanHu <yuan.hu1@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts')
-rw-r--r-- | sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts b/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts new file mode 100644 index 00000000..ba6f579e --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts @@ -0,0 +1,57 @@ +/* tslint:disable:array-type member-access variable-name */ +import {Injectable} from '@angular/core'; + +@Injectable() +export class SelectService { + selection: string[] = []; + + selected(indexName: string): boolean { + if (this.selection === undefined || this.selection === []) { + return null; + } + + for (let item of this.selection) { + if (item === indexName) { + return true; + } + } + return false; + } + + handleSingleSelect(optionIndex: string) { + this.selection = []; + this.selection.push(optionIndex); + return this.selection; + } + + handleMutipleSelect(optionIndex: string) { + if (this.selected(optionIndex)) { + this.selection = this.handleSecondSelect(optionIndex); + } else { + this.selection.push(optionIndex); + } + return this.selection; + } + + handleSecondSelect(optionIndex: string) { + let selectedOption = []; + for (let option of this.selection) { + if (option !== optionIndex) { + selectedOption.push(option); + } + } + return selectedOption; + } + + select(optionIndex: string, isMutiple: boolean): string[] { + if (!isMutiple) { + return this.handleSingleSelect(optionIndex); + } else { + return this.handleMutipleSelect(optionIndex); + } + } + + deselect() { + this.selection = []; + } +} |