| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- import com.imt.intimamedia.events.patient.AddTreatmentEvent;
- import com.imt.intimamedia.helpers.HelpUtils;
- import com.imt.intimamedia.model.ApplicationModelLocator;
- import com.imt.intimamedia.views.common.ImtToaster;
- import com.imt.intimamedia.views.physician.patient.PatientView;
- import com.imt.intimamedia.vo.TreatmentVo;
- import flash.events.KeyboardEvent;
- import mx.collections.ArrayCollection;
- import mx.controls.Alert;
- import mx.controls.Image;
- import mx.controls.dataGridClasses.DataGridColumn;
- import mx.events.ValidationResultEvent;
- import mx.formatters.DateFormatter;
- import mx.resources.ResourceManager;
- import mx.validators.Validator;
-
- [Bindable]
- private var _minYearOfBirth : int = new Date().fullYear - 110;
- [Bindable]
- private var _maxYearOfBirth : int = new Date().fullYear;
- [Bindable]
- private var _disabledRangesDate : Array = [ {rangeStart: new Date(new Date().fullYear, new Date().getMonth(), new Date().getDate()+1)} ];
- [Bindable]
- private var _model : ApplicationModelLocator = ApplicationModelLocator.getInstance();
- [Bindable]
- public var listTreatments : ArrayCollection = new ArrayCollection();
- private function creationCompleteHandler() : void
- {
- patientDataHelp.source = 'images/help/' + ResourceManager.getInstance().getString('labels', 'lang') + '/patientData.png';
-
- initListeners();
- }
- public function showHelp(image : Image) : void
- {
- HelpUtils.showHelp(this, image, zoomHelpAdd, zoomHelpRemove);
- }
- private function navigationPrev() : void
- {
- var parent : PatientView = this.parentDocument as PatientView;
- parent.selectView(parent.cardioStart, parent.cardioEnd, parent.cardioBox, parent.cardioLinkButton, 4)
- }
- private function navigationNext() : void
- {
- _model.application.menuPhysician.selectedIndex = 1;
- //toaster to do ?
- }
- private function loadKeyboardListeners() : void
- {
- treatmentNameTextInput.addEventListener(KeyboardEvent.KEY_UP, translateFirstCharToUpperCase);
- }
- private function translateFirstCharToUpperCase( e : KeyboardEvent ) : void
- {
- if (treatmentNameTextInput.text.length == 1)
- {
- if (e.keyCode > 64 && e.keyCode < 91)
- {
- var b:String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- treatmentNameTextInput.text = b.charAt(e.keyCode - 65);
- }
- }
- else
- {
- var firstCharFirstName : String = treatmentNameTextInput.text.substr(0, 1);
- var firstNameLessFirstChar : String = treatmentNameTextInput.text.substr(1, treatmentNameTextInput.text.length);
- treatmentNameTextInput.text = firstCharFirstName.toUpperCase() + firstNameLessFirstChar;
-
- }
- }
- public function loadAppointmentData(treatments : ArrayCollection) : void
- {
- listTreatments.removeAll();
-
- if (treatments && treatments.length > 0)
- {
- for each (var currentTreatment : TreatmentVo in treatments)
- {
- var treatmentVo : TreatmentVo = new TreatmentVo();
-
- treatmentVo.type = currentTreatment.type;
- treatmentVo.name = currentTreatment.name;
- treatmentVo.posology = currentTreatment.posology;
- treatmentVo.startDate = currentTreatment.startDate;
-
- listTreatments.addItem(treatmentVo);
- }
-
- _model.appointmentSelected.treatments = listTreatments.source;
- }
- }
- private function addTreatment() : void
- {
- var toastMessage : ImtToaster = new ImtToaster();
-
- var validators : Array = [ typeValidator, nameValidator, posologyValidator, startDateValidator ];
-
- var validatorsError : Array = Validator.validateAll( validators );
-
- if( validatorsError.length != 0 )
- {
- toastMessage = new ImtToaster();
- toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.allFieldsTitle');
- toastMessage.timeToLive = 7;
- toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.allFieldsAddTreatment');
- toastMessage.level = ImtToaster.WARNING;
-
- _model.toaster.toast( toastMessage );
- }
- else
- {
- for each (var t : TreatmentVo in listTreatments)
- {
- if (treatmentNameTextInput.text == t.name)
- {
- toastMessage = new ImtToaster();
-
- toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'warning.use');
- toastMessage.timeToLive = 7;
- toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.treatmentAlreadyExists');
- toastMessage.level = ImtToaster.WARNING;
-
- _model.toaster.toast( toastMessage );
-
- return;
- }
- }
- var treatmentVo : TreatmentVo = new TreatmentVo();
-
- treatmentVo.type = typeOfTreatmentButtonGroup.selectedValue as String;
- treatmentVo.name = treatmentNameTextInput.text;
- treatmentVo.posology = treatmentPosologyTextInput.text;
- treatmentVo.startDate = treatmentStartDateTextInput.text;
-
- listTreatments.addItem( treatmentVo );
- _model.appointmentSelected.treatmentCollection.addItem(treatmentVo);
- _model.appointmentSelected.treatments = listTreatments.source;
-
- typeOfTreatmentButtonGroup.selection = null;
- treatmentNameTextInput.text = "";
- treatmentPosologyTextInput.text = "";
- treatmentStartDateTextInput.text = "";
- }
- }
- private function update() : void
- {
- if (_model.appointmentSelected.treatments.length > 0)
- new AddTreatmentEvent( _model.appointmentSelected.treatments, _model.appointmentSelected.id ).dispatch();
- }
- public function reset() : void
- {
- listTreatments = new ArrayCollection();
- treatmentStartDateTextInput.text = "";
- typeOfTreatmentButtonGroup.selection = null;
- treatmentNameTextInput.text = "";
- treatmentPosologyTextInput.text = "";
- }
- private function initListeners() : void
- {
- nameValidator.requiredFieldError = ResourceManager.getInstance().getString('labels', 'required');
- nameValidator.addEventListener(ValidationResultEvent.VALID, stringValidatorHandler);
-
- posologyValidator.requiredFieldError = ResourceManager.getInstance().getString('labels', 'required');
- posologyValidator.addEventListener(ValidationResultEvent.VALID, stringValidatorHandler);
-
- startDateValidator.requiredFieldError = ResourceManager.getInstance().getString('labels', 'required');
- startDateValidator.addEventListener(ValidationResultEvent.VALID, stringValidatorHandler);
- }
- public function updateErrorStrings() : void
- {
- if (treatmentNameTextInput.errorString)
- treatmentNameTextInput.errorString = ResourceManager.getInstance().getString('labels', 'errorField');
-
- if (treatmentPosologyTextInput.errorString)
- treatmentPosologyTextInput.errorString = ResourceManager.getInstance().getString('labels', 'errorField');
-
- if (treatmentStartDateTextInput.errorString)
- treatmentStartDateTextInput.errorString = ResourceManager.getInstance().getString('labels', 'errorField');
- }
- private function stringValidatorHandler(event : ValidationResultEvent) : void
- {
- if (event.target.errorString)
- event.target.errorString = null;
- }
- private function formatType( item : Object, column : DataGridColumn ) : String
- {
- return ResourceManager.getInstance().getString( 'treatments', item.type );
- }
|