Updated GhostCluster web sample from upstream
[profile/ivi/sdk/web-sample-build.git] / samples / web / Sample / Tizen / Web App / ModelloSmartDeviceLink / project / app / view / sdl / shared / tbtTurnList.js
1 /*
2  * Copyright (c) 2013, Ford Motor Company All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *  · Redistributions of source code must retain the above copyright notice,
7  * this list of conditions and the following disclaimer.
8  *  · Redistributions in binary form must reproduce the above copyright notice,
9  * this list of conditions and the following disclaimer in the documentation
10  * and/or other materials provided with the distribution.
11  *  · Neither the name of the Ford Motor Company nor the names of its
12  * contributors may be used to endorse or promote products derived from this
13  * software without specific prior written permission.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25  * POSSIBILITY OF SUCH DAMAGE.
26  */
27 /**
28  * @name SDL.TBTTurnList
29  * @desc TBT Turn List visual representation
30  * @category View
31  * @filesource app/view/sdl/shared/tbtTurnList.js
32  * @version 1.0
33  */
34
35 SDL.TBTTurnList = SDL.SDLAbstractView.create( {
36
37     elementId: 'tbtTurnListView',
38
39     childViews:
40         [
41             'backButton',
42             'captionText',
43             'tbtTurnListList'
44         ],
45
46     /**
47      * Activate window
48      */
49     activate: function() {
50         this.set( 'active', true );
51     },
52
53     /**
54      * Title Labes of window
55      */
56     captionText: SDL.Label.extend( {
57         classNames: 'caption-text',
58
59         content: 'Turn List'
60     } ),
61
62     /**
63      * Turn List
64      */
65     tbtTurnListList: SDL.List.extend( {
66         elementId: 'tbtTurnListList',
67         itemsOnPage: 5,
68         items: []
69     } ),
70
71     /**
72      * Function updates content of Turn List with data from application's model
73      *
74      * @type {Number}
75      */
76     updateList: function( appId ) {
77         this.get( 'tbtTurnListList.list' ).removeAllChildren();
78
79         this.tbtTurnListList.list.refresh();
80
81         var i = 0, turnListArray = SDL.SDLController.getApplicationModel( appId ).turnList;
82         length = turnListArray.length;
83         for( i = 0; i < length; i++ ){
84             this.get( 'tbtTurnListList.list.childViews' ).pushObject( SDL.Label.create( {
85                 icon: turnListArray[i].turnIcon.value,
86                 content: turnListArray[i].navigationText,
87                 templateName: turnListArray[i].turnIcon.value ? 'icon' : 'text',
88                 classNames: 'list-item'
89             } ) );
90         }
91     }
92 } );