• Файл: afisha-flow.xml
  • Полный путь: https://files.multura.space/qiwi/interface_fake-osmp_v1.0.0/system/afisha-flow.xml
  • Дата изменения: 04/04/2012 3:40 AM
  • Размер файла: 16.81 KB
  • MIME-тип: text/xml
  • Кодировка: utf-8
 
Открыть Назад
<?xml version="1.0" encoding="utf-8" ?>
<objects
	xmlns:util="http://www.springactionscript.org/schema/util">
	
	<object 
		id="flowCfg"
		class="ru.mobw.coreas3.app.config.FlowConfig">
		<property name="bindingsRootPackage" value="${utility.path}"/>
	</object>
	
	<object 
		id="flow"
		class="ru.mobw.coreas3.app.flow.mcflow.MCFlowBase"
		depends-on="flowCfg">
		<constructor-arg ref="flowCfg">
		</constructor-arg>
		<property name="routeData" ref="route"/>
		<property name="elementsMap">
			<dictionary>
				<entry>
					<key>exit</key>
					<value><ref>exit</ref></value>
				</entry>
				<entry>
					<key>index</key>
					<value><ref>index</ref></value>
				</entry>
				<entry>
					<key>citySelect</key>
					<value><ref>citySelect</ref></value>
				</entry>
				<entry>
					<key>movieSelect</key>
					<value><ref>movieSelect</ref></value>
				</entry>
				<entry>
					<key>timeSelectCinema</key>
					<value><ref>timeSelectCinema</ref></value>
				</entry>
				<entry>
					<key>timeSelectMovie</key>
					<value><ref>timeSelectMovie</ref></value>
				</entry>
				<entry>
					<key>seatsSelect</key>
					<value><ref>seatsSelect</ref></value>
				</entry>
				<entry>
					<key>phoneInput</key>
					<value><ref>phoneInput</ref></value>
				</entry>
				<entry>
					<key>changeSelect</key>
					<value><ref>changeSelect</ref></value>
				</entry>
				<entry>
					<key>orderApprove</key>
					<value><ref>orderApprove</ref></value>
				</entry>
				<entry>
					<key>cashPayment</key>
					<value><ref>cashPayment</ref></value>
				</entry>
				<entry>
					<key>paymentEnd</key>
					<value><ref>paymentEnd</ref></value>
				</entry>
				<entry>
					<key>oferta</key>
					<value><ref>oferta</ref></value>
				</entry>
			</dictionary>
		</property>
		<!--property name="interceptorsMap">
			<dictionary>
				<entry>
					<key>_->companySelect</key>
					<value>
						<object class="com.leetwin.insurance.flow.interceptors.StartParamInterceptor"/>
					</value>
				</entry>
			</dictionary>
		</property-->
	</object>
	
	<object
		id="exit"
		class="ru.mobw.afisha.flow.elements.AfishaExitElement"
		>
		<constructor-arg value="exit"/>
	</object>
	
	<object
		id="index"
		class="ru.mobw.afisha.flow.elements.IndexElement"
		>
		<constructor-arg value="index"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="1"/>
		<property name="bindings">
			<array>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="oferta"/>
						<param name="target" value="ofertaButton"/>
					</object>
				</value>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="allMovies"/>
						<param name="target" value="allMoviesButton"/>
					</object>
				</value>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<value>scheduleService,execute,S:schedule</value>
				<value>scheduleService,fail,E:schedule</value>
				<value>printerCheckService,execute,S:printer</value>
				<value>printerCheckService,fail,E:printer</value>		
				<value>walletCheckService,execute,S:walletCheck</value>
				<value>walletCheckService,fail,E:walletCheck</value>							
				<value>afishaProviderCheckService,execute,S:prvCheck</value>
				<value>afishaProviderCheckService,fail,E:prvCheck</value>
			</array>
		</property>
		<property name="timeout" value="120000"/>
	</object>
	
	<object
		id="cinemaSelect"
		class="ru.mobw.coreas3.app.flow.mcflow.CommonFlowElement"
		>
		<constructor-arg value="cinemaSelect"/>
		<constructor-arg ref="mainInstance"/>
	</object>
	
	<object
		id="citySelect"
		class="ru.mobw.afisha.flow.elements.CitySelectionElement"
		>
		<constructor-arg value="citySelect"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="2"/>
		<property name="dataName" value="currentCity"/>
		<property name="columns" value="4"/>
		<property name="rows" value="4"/>
		<property name="tableX" value="62"/>
		<property name="tableY" value="235"/>
		<property name="tableW" value="1155"/>
		<property name="tableH" value="586"/>
		<property name="providerSessionName" value="cities"/>
		<property name="rendererClassName" value="ru.mobw.afisha.ui.itemRenderers.CityItemRenderer"/>
		<!--property name="registrationCandidates">
			<array>
				<value>grid,itemClick,SELECT</value>
				<value>grid,scroll,SCROLL</value>
			</array>
		</property-->
	</object>	
	
	<object
		id="movieSelect"
		class="ru.mobw.afisha.flow.elements.MovieSelectionElement"
		>
		<constructor-arg value="movieSelect"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="3"/>
		<property name="dataName" value="currentMovie"/>
		<property name="columns" value="5"/>
		<property name="rows" value="2"/>
		<property name="tableX" value="64"/>
		<property name="tableY" value="205"/>
		<property name="tableW" value="1150"/>
		<property name="tableH" value="633"/>
		<property name="providerSessionName" value="movies"/>
		<property name="rendererClassName" value="ru.mobw.afisha.ui.itemRenderers.RawMovieItemRenderer"/>
		<property name="timeout" value="120000"/>
		<property name="bindings">
			<array>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<value>service,execute,S:schedule</value>
				<value>service,fail,E:schedule</value>
				<!--value>grid,itemClick,SELECT</value>
				<value>grid,scroll,SCROLL</value-->
			</array>
		</property>
	</object>	
	
	<object
		id="timeSelectCinema"
		class="ru.mobw.afisha.flow.elements.ScheduleElement"
		>
		<constructor-arg value="timeSelectCinema"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="4"/>
		<property name="listX" value="61"/>
		<property name="listY" value="332"/>
		<property name="listW" value="1157"/>
		<property name="listH" value="401"/>
		<property name="sortField" value="movieID"/>
		<property name="sortedAs" value="session.appData.currentCity.allMovies"/>
		<property name="itemRendererClassName" value="ru.mobw.afisha.ui.itemRenderers.CinemaScheduleItemRenderer"/>
		<property name="sessionDataName" value="currentCinema"/>
		<property name="timeout" value="120000"/>
		<property name="scrollButtonTemplate" value="Ещё %count% %entity%"/>
		<property name="type" value="cinema"/>
		<property name="toStartLabel" value="К началу"/>
		<property name="bindings">
			<array>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<!--value>list,scroll,SCROLL</value>
				<value>list,itemClick,SELECT</value-->
				<value>service,execute,S:order</value>
				<value>service,fail,E:order</value>
				<!--value>dayButtons,itemClick,SELECT</value>
				<value>dateButtons,itemClick,SELECT</value-->
			</array>
		</property>
	</object>	
	
	<object
		id="timeSelectMovie"
		class="ru.mobw.afisha.flow.elements.ScheduleElement"
		>
		<constructor-arg value="timeSelectMovie"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="5"/>
		<property name="listX" value="61"/>
		<property name="listY" value="316"/>
		<property name="listW" value="1157"/>
		<property name="listH" value="417"/>
		<property name="sortField" value="cinemaID"/>
		<property name="sortedAs" value="session.appData.currentCity.movieTheaters"/>
		<property name="itemRendererClassName" value="ru.mobw.afisha.ui.itemRenderers.MovieScheduleItemRenderer"/>
		<property name="sessionDataName" value="currentMovie"/>
		<property name="timeout" value="120000"/>
		<property name="scrollButtonTemplate" value="Ещё %count% %entity% с этим фильмом"/>
		<property name="type" value="movie"/>
		<property name="toStartLabel" value="К началу"/>
		<property name="bindings">
			<array>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<!--value>list,scroll,SCROLL</value>
				<value>list,itemClick,SELECT</value-->
				<value>service,execute,S:order</value>
				<value>service,fail,E:order</value>
				<!--value>dayButtons,itemClick,SELECT</value>
				<value>dateButtons,itemClick,SELECT</value-->
			</array>
		</property>
	</object>	
	
	<object
		id="seatsSelect"
		class="ru.mobw.afisha.flow.elements.SeatsSelectionElement"
		>
		<constructor-arg value="seatsSelect"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="6"/>
		<property name="defaultSeatsCount" value="${seats.count.default}"/>
		<property name="movieLabelBaseline" value="434"/>
		<property name="bindings">
			<array>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<!--property name="registrationCandidates">
			<array>
				<value>seatsButtons,itemClick,SELECT</value>
				<value>viewMC._selectSeats,click,CLICK</value>
				<value>seatsSelectionPopup,submit,APPLY</value>
				<value>seatsSelectionPopup,change,CHANGE</value>
				<value>seatsSelectionPopup,close,CLOSE</value>
				<value>seatsSelectionPopup,show,SHOW</value>
			</array>
		</property-->		
	</object>	
	
	<object
		id="phoneInput"
		class="ru.mobw.afisha.flow.elements.PhoneEnterElement"
		>
		<constructor-arg value="phoneInput"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="7"/>
		<property name="timeout" value="40000"/>
		<property name="validator" ref="phoneValidator" />
		<property name="dataName" value="phone"/>
		<property name="bindings">
			<array>
				<value>binder.text=$phone.value</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<!--value>viewMC._backspace,click,CLICK</value>
				<value>viewMC._clear,click,CLICK</value>
				<value>binder,textChange,CHANGE</value>
				<value>page,dataInvalid,DATA_VALIDATION_FAIL</value-->
				<value>moviesListService,execute,S:moviesList</value>
				<value>moviesListService,fail,E:moviesList</value>
			</array>
		</property>				
	</object>	
	
	<object
		id="changeSelect"
		class="ru.mobw.afisha.flow.elements.ChangeSelectionElement"
		>
		<constructor-arg value="changeSelect"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="8"/>
		<!--property name="registrationCandidates">
			<array>
				<value>phoneButton,click,CLICK</value>
				<value>walletButton,click,CLICK</value>
			</array>
		</property-->		
	</object>	
	
	<object
		id="orderApprove"
		class="ru.mobw.afisha.flow.elements.OrderApproveElement"
		>
		<constructor-arg value="orderApprove"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="9"/>
		<property name="bindings">
			<array>
				<value>viewMC._movieName.text=$currentMovie.name</value>
				<value>viewMC._movieDate.text=$currentScheduleItem.humanReadableDate</value>
				<value>viewMC._cinemaName.text=$currentCinema.name</value>
				<value>viewMC._row.text=$currentOrder.row</value>
				<value>viewMC._seats.text=$currentOrder.seatPlaces</value>
				<value>viewMC._seats.text=$currentOrder.seatPlaces</value>
				<value>
					<object template="navOutcome">
						<param name="outcome" value="cityButtonClick"/>
						<param name="target" value="viewMC._appInfo.anotherCityButton"/>
					</object>
				</value>
			</array>
		</property>
		<property name="registrationCandidates">
			<array>
				<value>service,execute,S:booking</value>
				<value>service,fail,E:booking</value>
			</array>
		</property>		
	</object>	
	
	<object
		id="cashPayment"
		class="ru.mobw.afisha.flow.elements.PaymentElement"
		>
		<constructor-arg value="cashPayment"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="10"/>
		<property name="receiptTemplate">
			<value>
			<![CDATA[_receipt_Ваш+заказ= &_receipt_Город=%appData.currentCity.name%&_receipt_Фильм=%currentMovie.name%&_receipt_Кинотеатр=%currentCinema.name%&_receipt_Сеанс=%currentScheduleItem.humanReadableDate%&_receipt_Количество+билетов=%currentOrder.seatsCount%&_receipt_Ряд=%currentOrder.seats.0.row%&_receipt_Место=%currentOrder.seatPlaces%&_receipt_Номер+заказа=%currentBooking.id%<br><br>]]>
			</value>
		</property>
		<property name="timeout" value="240000"/>
		<property name="receiptSuccess" value="Код билетов ожидайте по sms. Используйте его для получения билетов."/>
		<property name="receiptFail" value="Сумма недостаточна. Обратитесь в справочную службу QIWI(см. внизу чека)"/>
		<property name="infoLabel" value="Вносимая сумма должна быть не меньше %min% руб. и не больше 14999 руб. (Сервисный сбор %tax% руб. включен в стоимость)"/>
		<property name="changeInfoLabel" value="Сумма будет полностью зачислена %to% %acc%"/>
		<property name="commentStringTpl" value="Покупка билетов в кино: [%version%]"/>
		<!--property name="registrationCandidates">
			<array>
				<value>page,cashOk,CASH_OK</value>
				<value>page,cashInsert,CASH_INSERT</value>
				<value>page,cashNotEnough,CASH_NOT_ENOUGH</value>
			</array>
		</property-->			
	</object>	

	<object
		id="oferta"
		class="ru.mobw.afisha.flow.elements.OfertaElement"
		>
		<constructor-arg value="oferta"/>
		<constructor-arg ref="mainInstance"/>
	</object>	
	
	<object
		id="paymentEnd"
		class="ru.mobw.afisha.flow.elements.LastPageElement"
		>
		<constructor-arg value="paymentEnd"/>
		<constructor-arg ref="mainInstance"/>
		<property name="id" value="11"/>
		<property name="changeInfoTPL" value="Сдача в %currentPaymentState.paySumm2% руб. зачислена %changeTypeLabel%."/>
		<property name="registrationCandidates">
			<array>
				<value>service,execute,S:moviesList</value>
				<value>service,fail,E:moviesList</value>
			</array>
		</property>		
	</object>
	
	<object 
		id="phoneValidator"
		class="com.leetwin.flow.validation.Validator">
		<property name="constraintsMap">
			<dictionary>
				<entry>
					<key>value</key>
					<value>
						<array>
							<object class="com.leetwin.flow.validation.constraints.NotNull"/>
							<object class="com.leetwin.flow.validation.constraints.InRange">
								<property name="min" value="10"/>
								<property name="max" value="10"/>
							</object>
							<object class="ru.mobw.coreas3.app.validation.constraints.HasPhoneCapacity"/>
						</array>
					</value>
				</entry>
			</dictionary>
		</property>
	</object>
	
	<!--object 
		id="sumValidator"
		class="com.leetwin.flow.validation.Validator">
		<property name="constraintsMap">
			<dictionary>
				<entry>
					<key>value</key>
					<value>
						<array>
							<object class="com.leetwin.flow.validation.constraints.NotNull"/>
							<object class="com.leetwin.flow.validation.constraints.NotEmpty"/>
							<object class="com.leetwin.flow.validation.constraints.InRange">
								<property name="min" value="${config.minCashLimit}"/>
								<property name="max" value="${num.maxCash}"/>
								<property name="asNumber" value="true"/>
								<property name="errorString" value="${err.cashRange}"/>
							</object>
							<object class="com.leetwin.flow.validation.constraints.NotZero"/>
						</array>
					</value>
				</entry>
			</dictionary>
		</property>
	</object-->
	<!-- end validators -->
		
	<!-- helpers -->
	<object id="phoneFormatter" class="ru.mobw.coreas3.formatters.PhoneFormatter" />
	
	<template id="navOutcome">
		<object class="ru.mobw.coreas3.app.bind.BindingRecord">
			<property name="type">
				<util:constant static-field="ru.mobw.coreas3.app.bind.BindingRecordType.LITERAL"/>
			</property>
			<property name="propName" value="dispatchJumpToEvent()"/>
			<property name="param" value="${outcome}"/>
			<property name="triggerType" value="event"/>
			<property name="triggerEventName" value="${target}.click"/>
		</object>
	</template>
	<!-- end_helpers -->
</objects>