Git Repository Public Repository

namibia

URLs

Copy to Clipboard
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
;(function(){

	window._w.questionview = {

		auctionId : null,
		itemId    : null,
		itemData  : null,
		formMeta  : null,
		ti        : null,

		onViewTemplateReady : function( template, event, eventData )
		{
			_w.questionview.ti = _t[template];
			_w.questionview.itemData = null;

			_w.questionview.setQuestionViewFormMeta();
			_w.questionview.ti.hydrate(_w.questionview.formMeta);

			// Retrieve initial view data.
			_w.questionview.itemId    = App.Util.getUrlParam('id');
			_w.questionview.auctionId = App.Util.getUrlParam('auctionId');
			App.API.getTask(
				'viewQuestion:' + _w.questionview.itemId, 'Auction', 'Question.View', _w.questionview.auctionId,
				{'id':_w.questionview.itemId}, _w.questionview._onQuestionViewDataReceived, _w.taskContractError
			);
			App.API.getTask(
				'createQuestion:' + _w.questionview.itemId, 'Auction', 'Question.Create', _w.questionview.auctionId,
				{}, function() {}, _w.taskContractError
			);
		},

		onViewPublished : function( template, event, eventData )
		{
			if (null != _w.questionview.itemData)
			{
				_w.questionview._onDataAndTemplate();
			}
		},

		setQuestionViewFormMeta : function( data )
		{
			if (!data)
			{
				data = {};
			}
			_w.questionview.formMeta = {
				'vehicle' : {
					title : 'Vehicle',
					value : data.auction
						? data.auction.stock.type.model.make.name
							+ ', ' + data.auction.stock.type.model.name
							+ ', ' + data.auction.stock.type.name
							+ ' (' + data.auction.stock.vehicleYear.name + ')'
						: ''
				},
				'created' : {
					title : 'Created',
					value : data.created ? ((data.created).split(' '))[0] : ''
				},
				'company' : {
					title : 'Company',
					value : data.company ? data.company.name : ''
				},
				'user' : {
					title : 'User',
					value : data.profile ? data.profile.firstName + ' ' + data.profile.familyName : ''
				},
				'question' : {
					title : 'Question',
					value : data.question ? data.question : ''
				},
				'reply' : {
					title : 'Reply',
					value : data.reply ? data.reply.reply : ''
				}
			};
		},

		_onDataAndTemplate : function() {
			_w.questionview._setupValidation();
		},

		_onQuestionViewDataReceived : function( response )
		{
			_w.questionview.itemId = response.Data.id;
			_w.questionview.itemData = response.Data;
			_w.questionview.setQuestionViewFormMeta(response.Data);
			_w.questionview.ti.hydrate(_w.questionview.formMeta);
			if (_w.questionview.ti.published)
			{
				_w.questionview._onDataAndTemplate();
			}
		},

		_setupValidation : function ()
		{
			$('#frmQuestionView').validate({
				submitHandler: function( form ) {
					if ('' == $('#question').val())
					{
						alert('Please specify a question.');
						return;
					}
					$('#btnUpdate').prop('disabled', true);
					var data = _w.questionview._prepQuestionUpdateData();
					App.API.execTask(
							'createQuestion:' + _w.questionview.itemId, data, {},
							_w.questionview._onQuestionUpdated, _w.taskExecError
						);
				}
			});
			$('#btnUpdate').prop('disabled', false);
			if (!_w.questionview.itemData.question || !_w.questionview.itemData.question.id)
			{
				$('#btnUpdate').show();
			}
		},

		_prepQuestionUpdateData : function()
		{
			var data = {
					Question : {
						question : _w.questionview.itemId,
						question    : $('#question').val()
					}
			};
			return data;
		},

		_onQuestionUpdated : function( response )
		{
			window.location.hash = '/settings';
		}

	};

})();

Commits for namibiapublic/js/app/portal-workspace/questionview.js

Diff revisions: vs.
Revision Author Commited Message
df0489 ... Mark Fri 14 Oct, 2016 10:01:00 +0000

initial commit