0) && (curStaffSrc.typedText.substr(0, lastRoot.length) == lastRoot)) { return; } // only search for inputs of length 3 or more if (curStaffSrc != null && curStaffSrc.typedText.length > 2) { keyTimer = new Timer(500,1); keyTimer.addEventListener("timer", refreshStaffSrc); keyTimer.start(); } } private function refreshStaffSrc(event: TimerEvent): void { lastRoot = curStaffSrc.typedText.toUpperCase(); var e: MatchPersonEvent = new MatchPersonEvent(MatchPersonEvent.EVENT_MATCH_PERSON); e.partial = lastRoot; if (curStaffSrc == providerSrc) {e.personType = "P"} if (curStaffSrc == residentSrc) {e.personType = "R"} if (curStaffSrc == nurseSrc) {e.personType = "N"} e.dispatch(); } private function set staffSrcReady(isReady: Boolean): void { if (isReady == false) return; curStaffSrc.dataProvider = model.config.srcStaff; curStaffSrc.open(); if (model.config.srcStaff.length > 0) curStaffSrc.selectedIndex = 0; } private function loadStaffLists(): void { if (model.config.staffConfigLoaded) return; var loadEvent: ConfigurationEvent = new ConfigurationEvent(ConfigurationEvent.EVENT_LOAD_STAFF_CONFIG); loadEvent.dispatch(); } private function addStaff(list: AutoComplete, role: String, grid: DataGrid): void { var staff:StaffMemberVO = null; if (list!= null && list.selectedItem != null) { staff = list.selectedItem as StaffMemberVO; UpdateStaffEvent.dispatchAdd(staff, role); grid.setFocus(); } else { var selectedStaffMemberName:String = list.typedText; if (selectedStaffMemberName != null && selectedStaffMemberName != ""){ var ac:ICollectionView = list.dataProvider as ICollectionView; for each (var item:StaffMemberVO in ac){ if (selectedStaffMemberName == item.displayName){ staff = item; UpdateStaffEvent.dispatchAdd(staff, role); grid.setFocus(); break; } } } } resetAutoComplete(list); } private function resetAutoComplete(list:AutoComplete):void{ list.selectedIndex = -1; list.typedText = ""; } private function handleRemoveAndEscKeys(event:KeyboardEvent, grid: DataGrid):void{ if (KeyUtils.isRemoveKey(event)){ removeStaff(grid); } else if (event.keyCode == Keyboard.ESCAPE){ grid.selectedIndex = -1; btnSaveStaff.setFocus(); } } private function removeStaff(grid: DataGrid): void { if (grid.selectedIndex < 0 || grid.selectedItem == null) return; var selectedIndx:int = grid.selectedIndex; var staff:StaffMemberVO = grid.selectedItem as StaffMemberVO; UpdateStaffEvent.dispatchRemove(staff); if (AccessibilityTools.isAccessibilityActive())InfoDialog.show("removed successfully", "Message", true, grid); grid.setFocus(); if (grid.dataProvider.length > 0){ grid.selectedIndex = selectedIndx - 1; } } private function saveStaff(): void { var saveEvent: ConfigurationEvent = new ConfigurationEvent(ConfigurationEvent.EVENT_SAVE_STAFF_CONFIG); saveEvent.dispatch(); providerDest.selectedIndex = -1; residentDest.selectedIndex = -1; nurseDest.selectedIndex = -1; } private function enableButton(list: AutoComplete,component:UIComponent):void { var enableFlag:Boolean = false; if (list.typedText == "") { enableFlag = false; } else { if ((list.selectedIndex > -1) || ((list.text.length > 0) && (list.text != null))) { enableFlag = true; } } component.enabled = enableFlag; } private function fireColorChange(event:ColorChangedEvent):void { var staffMember:StaffMemberVO = null; if (event.currentTarget === providerColorSelector) { staffMember = selectedProvider; if (staffMember.color != providerColorSelector.color) { staffMember.color.ignore = providerColorSelector.color.ignore; staffMember.color.text = providerColorSelector.color.text; staffMember.color.back = providerColorSelector.color.back; staffMember.colorChanged = true; new ConfigurationEvent(ConfigurationEvent.EVENT_STAFF_MODIFIED).dispatch(); model.config.providers.refresh(); } } else if (event.currentTarget === residentColorSelector) { staffMember = selectedResident; if (staffMember.color != residentColorSelector.color) { staffMember.color.ignore = residentColorSelector.color.ignore; staffMember.color.text = residentColorSelector.color.text; staffMember.color.back = residentColorSelector.color.back; staffMember.colorChanged = true; new ConfigurationEvent(ConfigurationEvent.EVENT_STAFF_MODIFIED).dispatch(); model.config.residents.refresh(); } } else if (event.currentTarget === nurseColorSelector) { staffMember = selectedNurse; if (staffMember.color != nurseColorSelector.color) { staffMember.color.ignore = nurseColorSelector.color.ignore; staffMember.color.text = nurseColorSelector.color.text; staffMember.color.back = nurseColorSelector.color.back; staffMember.colorChanged = true; new ConfigurationEvent(ConfigurationEvent.EVENT_STAFF_MODIFIED).dispatch(); model.config.nurses.refresh(); } } } ]]>