Merge "TEMPLATE: added index.managed.js in Multipage Application." into develop
[profile/mobile/sdk/web-ui-builder-template.git] / templates / Template / Tizen Web UI Builder / 5.Mobile2048 / project / tizen-ui-builder-fw / page-system.js
1 /*******************************************************************************
2  * Tizen UI Builder Framework 0.3.1
3  * Page System manager
4  *
5  * @generated Tizen UI Builder
6  * @attribute managed, readonly, static
7  *******************************************************************************
8  */
9
10 /**
11  * app base class
12  */
13 function _app() {
14         /**
15          * currentPageId
16          * @private
17          */
18         var currentPageId = undefined;
19         
20         /**
21         * data source
22         */
23         this.ds = {};
24
25         /**
26         * data view model
27         */
28         this.dm = {};
29
30         function init() {
31         }
32
33         this.setCurrentPageId = function(pageId) {
34                 currentPageId = pageId;
35         };
36
37         this.getCurrentPageId = function() {
38                 return currentPageId;
39         };
40
41         /**
42          * onload()
43          */
44         this.onload = function() {};
45
46         /**
47          * onunload()
48          */
49         this.onunload = function() {};
50
51         /**
52          * onshow()
53          */
54         this.onshow = function() {};
55
56         /**
57          * onhide()
58          */
59         this.onhide = function() {};
60
61 }
62
63 var app = new _app();
64
65 /**
66  * Page base class
67  * @param {String} pageID
68  */
69 function _page(pageID) {
70         this.pageID = pageID;
71         this.jqID = "#" + this.pageID;
72         /**
73          * Page object
74          * @type jQueryObject
75          */
76         this.obj = undefined;
77         // default event handler
78         /**
79          * event-handler onpagebeforecreate(event)
80          * @param {Object} event
81          * @returns {Boolean}
82          */
83         this.onpagebeforecreate = function(event) {};
84         /**
85          * event-handler onpagecreate(event)
86          * @param {Object} event
87          * @returns {Boolean}
88          */
89         this.onpagecreate = function(event) {};
90         /**
91          * event-handler onpageinit(event)
92          * @param {Object} event
93          * @returns {Boolean}
94          */
95         this.onpageinit = function(event) {};
96         /**
97          * event-handler onpagebeforeshow(event)
98          * @param {Object} event
99          * @returns {Boolean}
100          */
101         this.onpagebeforeshow = function(event) {};
102         /**
103          * event-handler onpageshow(event)
104          * @param {Object} event
105          * @returns {Boolean}
106          */
107         this.onpageshow = function(event) {};
108         /**
109          * event-handler onpagebeforehide(event)
110          * @param {Object} event
111          * @returns {Boolean}
112          */
113         this.onpagebeforehide = function(event) {};
114         /**
115          * event-handler onpagehide(event)
116          * @param {Object} event
117          * @returns {Boolean}
118          */
119         this.onpagehide = function(event) {};
120         /**
121          * event-handler onpageremove(event)
122          * @param {Object} event
123          * @returns {Boolean}
124          */
125         this.onpageremove = function(event) {};
126         /**
127          * event-handler onupdatelayout(event)
128          * @param {Object} event
129          * @returns {Boolean}
130          */
131         this.onupdatelayout = function(event) {};
132 }
133
134 // default event handler
135 /**
136  * function _init_page(initFunc)
137  * @param {function} initFunc
138  */
139 _page.prototype._init_page = function(initFunc) {
140         // page object
141         var _obj = this.obj = $(this.jqID);
142         var _basePage = this;
143         
144         _obj.live("pageinit", initFunc);
145         
146         var _currentPageId = this.pageID;
147         _obj.live("pagebeforeshow", function(event) {
148                 app.setCurrentPageId(_currentPageId);
149         });
150         _obj.live("pagebeforehide", function(event) {
151                 app.setCurrentPageId(undefined);
152         });
153         _obj.live("pagehide", function(event) {
154                 if (app.getCurrentPageId() == undefined) {
155                         tizen.application.getCurrentApplication().exit();
156                 }
157         });
158         
159         _obj.live("pagebeforecreate", function(event){_basePage.onpagebeforecreate(event);});
160         _obj.live("pagecreate", function(event){_basePage.onpagecreate(event);});
161         _obj.live("pageinit", function(event){_basePage.onpageinit(event);});
162         _obj.live("pagebeforeshow", function(event){_basePage.onpagebeforeshow(event);});
163         _obj.live("pageshow", function(event){_basePage.onpageshow(event);});
164         _obj.live("pagebeforehide", function(event){_basePage.onpagebeforehide(event);});
165         _obj.live("pagehide", function(event){_basePage.onpagehide(event);});
166         _obj.live("pageremove", function(event){_basePage.onpageremove(event);});
167         _obj.live("updatelayout", function(event){_basePage.onupdatelayout(event);});
168 };
169
170
171 /**
172  * function _remove_page(removeFunc)
173  * @param {function} removeFunc
174  */
175 _page.prototype._remove_page = function(removeFunc) {
176         var _obj = this.obj = $(this.jqID);
177         _obj.live("pageremove", removeFunc);
178 };