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();
}
}
}
]]>