· 8 years ago · Aug 24, 2018, 03:20 PM
1var tabGroup = Titanium.UI.createTabGroup();
2
3
4 //
5 // Page 1
6 //
7
8
9var win = Titanium.UI.createWindow({
10 title:'Database Test',
11 backgroundColor: '#000',
12 barColor:'#8c0000'
13
14 });
15
16 win.orientationModes = [
17 Titanium.UI.PORTRAIT,
18 Titanium.UI.LANDSCAPE_LEFT,
19 Titanium.UI.LANDSCAPE_RIGHT];
20
21
22
23var tab1 = Titanium.UI.createTab({
24 icon:'start.png',
25 title:'Blank Tab',
26 window:win
27});
28
29
30var currentNote = '';
31var currentNote2 = '';
32
33var db = Titanium.Database.open('mediaDB');
34
35db.execute('CREATE TABLE IF NOT EXISTS media_table (id INTEGER PRIMARY KEY, media TEXT, mediaextra TEXT, date DATETIME DEFAULT CURRENT_TIMESTAMP)');
36
37//create data entry view
38var entryView = Ti.UI.createView({
39 backgroundColor:'#8c0000',
40 width:'100%',
41 height:100,
42 top:0
43});
44
45var controlsView = Ti.UI.createView({
46 width:270,
47 height:'auto'
48});
49
50var b1 = Titanium.UI.createButton({
51title:'Save',
52width:60,
53height:35,
54right:0,
55enabled:false
56});
57controlsView.add(b1);
58
59
60var tf1 = Titanium.UI.createTextField({
61width:200,
62height:35,
63top: 0,
64left:0,
65borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
66autocorrect:false,
67hintText:'Enter a title...'
68});
69tf1.addEventListener('return', function() {
70tf1.blur();
71});
72tf1.addEventListener("change", function(e) {
73 currentNote = e.value;
74 if (currentNote == '') {
75 b1.enabled = false;
76 }
77 else {
78 b1.enabled = true;
79 }
80});
81controlsView.add(tf1);
82
83
84var tf2 = Titanium.UI.createTextField({
85width:200,
86height:35,
87top: 40,
88left:0,
89borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
90autocorrect:false,
91hintText:'Enter a note...'
92});
93tf2.addEventListener('return', function() {
94tf2.blur();
95});
96tf2.addEventListener("change", function(e) {
97 currentNote2 = e.value;
98 if (currentNote2 == '') {
99 b1.enabled = false;
100 }
101 else {
102 b1.enabled = true;
103 }
104});
105controlsView.add(tf2);
106
107
108entryView.add(controlsView);
109win.add(entryView);
110
111
112
113//array for table view
114var data = [];
115
116index = 0;
117var tableview = Titanium.UI.createTableView({
118editable:true,
119 top:100
120});
121//Get data for tableview
122function setData()
123{
124var rows = db.execute("SELECT strftime('%m-%d-%Y', date) date, media, mediaextra, id FROM media_table");
125
126while (rows.isValidRow()) {
127
128var row = Ti.UI.createTableViewRow({height:'auto', touchEnabled: true, hasChild:false,backgroundColor:"#fff"});
129
130var media = Ti.UI.createLabel({
131 text: rows.fieldByName('media'),
132 color: '#000',
133 top:5,
134 left:10,
135 height: 'auto',
136 width:255,
137 font:{fontWeight:'bold',fontSize:15}
138 });
139 var date = Ti.UI.createLabel({
140 text: "Added\n" + rows.fieldByName('date'),
141 color: '#999',
142 right:10,
143 height: 'auto',
144 textAlign: 'center',
145 width: 45,
146 font:{fontWeight:'normal',fontSize:11}
147 });
148
149 var mediaextra = Ti.UI.createLabel({
150 text: rows.fieldByName('mediaextra'),
151 color: '#000',
152 top:30,
153 left:10,
154 bottom: 15,
155 height:'auto',
156 width:255,
157 font:{fontWeight:'normal',fontSize:9}
158 });
159
160 row.media = rows.fieldByName('media');
161 row.mediaextra = rows.fieldByName('mediaextra');
162 row.date = rows.fieldByName('date');
163 row.id = rows.fieldByName('id');
164
165 row.add(media);
166 row.add(mediaextra);
167 row.add(date);
168
169 data[index] = row;
170 ++index;
171
172 rows.next();
173}
174rows.close();
175tableview.setData(data);
176}
177
178
179setData();
180
181
182
183// add delete event listener
184tableview.addEventListener('delete',function(e) {
185 db.execute("DELETE FROM media_table WHERE id = ?", e.rowData.id);
186
187});
188
189// add table view to the window
190win.add(tableview);
191
192
193
194
195
196//Add event listener for save button
197b1.addEventListener("click", function(e) {
198 if (b1.enabled) {
199 db.execute('INSERT INTO media_table (media) VALUES(?)', currentNote + "\n" + currentNote2);
200
201 var db_str = "SELECT * FROM media_table";
202 sdata = db.execute(db_str);
203 Titanium.API.info('ROW COUNT = ' + sdata.getRowCount());
204 var rowID=0;
205 while (sdata.isValidRow())
206 {
207 rowID++;
208 sdata.next();
209 };
210 Titanium.API.info('cnt_check = ' + rowID);
211
212
213 var lastRow = rowID - 1;
214
215 Titanium.API.info('LAST ROW = ' + lastRow);
216
217 var rows = db.execute("SELECT strftime('%m-%d-%Y', date) date, media, mediaextra, id FROM media_table WHERE id = ?",rowID);
218
219
220 var row = Ti.UI.createTableViewRow({height:'auto', touchEnabled: true, hasChild:false,backgroundColor:"#fff"});
221
222 var media = Ti.UI.createLabel({
223 text: rows.fieldByName('media'),
224 color: '#000',
225 top:5,
226 left:10,
227 height: 'auto',
228 width:255,
229 font:{fontWeight:'bold',fontSize:15}
230 });
231 var date = Ti.UI.createLabel({
232 text: "Added\n" + rows.fieldByName('date'),
233 color: '#999',
234 right:10,
235 height: 'auto',
236 textAlign: 'center',
237 width: 45,
238 font:{fontWeight:'normal',fontSize:11}
239 });
240
241 var mediaextra = Ti.UI.createLabel({
242 text: rows.fieldByName('mediaextra'),
243 color: '#000',
244 top:30,
245 left:10,
246 bottom: 15,
247 height:'auto',
248 width:255,
249 font:{fontWeight:'normal',fontSize:9}
250 });
251
252 row.media = rows.fieldByName('media');
253 row.mediaextra = rows.fieldByName('mediaextra');
254 row.date = rows.fieldByName('date');
255 row.id = rows.fieldByName('id');
256
257 row.add(media);
258 row.add(mediaextra);
259 row.add(date);
260Titanium.API.info('index = ' + e.index);
261tableview.insertRowAfter(e.index,row);
262
263
264
265
266 tf1.value = '';
267 tf2.value = '';
268 tf1.blur();
269 tf2.blur();
270 b1.enabled = false;
271 }
272
273});
274
275//
276// create edit/cancel buttons for nav bar
277//
278var edit = Titanium.UI.createButton({
279 title:'Edit'
280});
281var cancel = Titanium.UI.createButton({
282 title:'Cancel',
283 style:Titanium.UI.iPhone.SystemButtonStyle.DONE
284});
285
286edit.addEventListener('click', function() {
287 win.setRightNavButton(cancel);
288 tableview.editing = true;
289});
290cancel.addEventListener('click', function() {
291 win.setRightNavButton(edit);
292 tableview.editing = false;
293});
294
295win.setRightNavButton(edit);
296
297tabGroup.addTab(tab1);
298
299// open tab group
300tabGroup.open({
301 transition:Titanium.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT
302});